How to Disable Internet Access Programmatically?

Простейшие вопросы в области инженерной разработки
Ответить
Аватара пользователя
jane_wild
master
master
Сообщения: 461
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 84 раза
Поблагодарили: 15 раз
Контактная информация:

How to Disable Internet Access Programmatically?

Сообщение jane_wild »

Вопрос озвучен в названии темы. Возможно ли по нажатию кнопки на FP отключить доступ в интернет для всего PC ?
А при нажатии на другую кнопку включить? Спасибо
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: How to Disable Internet Access Programmatically?

Сообщение dadreamer »

Это можно реализовать массой разных способов, начиная от API системы и заканчивая сторонними фаерволлами. Я бы предложил включать/отключать сетевую карту, как например позволяет Диспетчер устройств Windows. Есть утилита для командной строки devcon, можно её приспособить под эту задачу. Ещё тут есть всякие скрипты, может что-нибудь подойдёт: https://stackoverflow.com/questions/860 ... -interface В последнем посте есть ссыль на враппер netshx, который делает следующее:

Код: Выделить всё

:ENABLE
	if NOT exist %~dp0NICs.lst goto :GETNICIDS
	call :NICID "%~2"
	echo Enabling %NICFN%
	devcon ENABLE "%HWID%
	goto :EOF

:DISABLE
	if NOT exist %~dp0NICs.lst goto :GETNICIDS
	call :NICID "%~2"
	echo Disabling %NICFN%
	devcon DISABLE "%HWID%
	goto :EOF
Аватара пользователя
jane_wild
master
master
Сообщения: 461
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 84 раза
Поблагодарили: 15 раз
Контактная информация:

Re: How to Disable Internet Access Programmatically?

Сообщение jane_wild »

dadreamer писал(а): 12 авг 2022, 20:57 Ещё тут есть всякие скрипты, может что-нибудь подойдёт: https://stackoverflow.com/questions/860 ... -interface В последнем посте есть ссыль на враппер netshx
Последняя ссылка в последнем посте, где упоминается wrapper, ведет вот сюда :dntknw:
Page not found.PNG
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: How to Disable Internet Access Programmatically?

Сообщение dadreamer »

Вложения
netshx.zip
(504.68 КБ) 36 скачиваний
Аватара пользователя
jane_wild
master
master
Сообщения: 461
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 84 раза
Поблагодарили: 15 раз
Контактная информация:

Re: How to Disable Internet Access Programmatically?

Сообщение jane_wild »

Скачала и разархивировала в папку netshx.
для проверки запустила командную строку и зашла в эту папку ..cd netshx
печатаю, как указано в примерах по ссылке, которую Вы привели.
netshx DISABLE "название моего интерфейса"
Имя интерфейса какое указывать 1 или 2 ? см скриншот
MyNet.PNG
Пыталась указывать оба, успеха не принесло. Такое впечатление что Win 10 не позволяет это делать. Постоянно выскакивает окошко с вопросом о разрешении сделать изменения в копмьютере, я нажимаю YES, через секунду окошко появляется снова.
Как правильно нужно использовать этот wrapper?
Artem.spb

Activity Автор
professor
professor
Сообщения: 3407
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 176 раз
Контактная информация:

Re: How to Disable Internet Access Programmatically?

Сообщение Artem.spb »

Проверил этот способ через System exec
Работает, но требуется запустить :labview: с правами Админа. Т.е. прям при запуске среды правой по ярлыку -> запустить как админ, и дальше уже работать.
netEnable.png
Wifi11 - это имя адаптера, специально сделал латиницей, чтобы не было проблем с кодировками.
Если запустить :labview: просто так, что выдаёт ошибку "Для запрошенной операции требуется повышение прав (запустите с правами администратора).", точно так же, как если запустить cmd и выполнить ту же операцию
Аватара пользователя
jane_wild
master
master
Сообщения: 461
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 84 раза
Поблагодарили: 15 раз
Контактная информация:

Re: How to Disable Internet Access Programmatically?

Сообщение jane_wild »

Artem.spb писал(а): 15 авг 2022, 14:55 Проверил этот способ через System exec
Работает, но требуется запустить :labview: с правами Админа. Т.е. прям при запуске среды правой по ярлыку -> запустить как админ, и дальше уже работать.
netEnable.png
Wifi11 - это имя адаптера, специально сделал латиницей, чтобы не было проблем с кодировками.
Если запустить :labview: просто так, что выдаёт ошибку "Для запрошенной операции требуется повышение прав (запустите с правами администратора).", точно так же, как если запустить cmd и выполнить ту же операцию
Спасибо, работает. Только exe при запуске нужно дать права админа
:thank:
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: How to Disable Internet Access Programmatically?

Сообщение dadreamer »

jane_wild писал(а): 15 авг 2022, 14:25Как правильно нужно использовать этот wrapper?
На современных Windows его бесполезно использовать, там версии слишком древние :) Это иллюстрация того, что там тоже devcon используется. Для Windows 10 надо подобрать devcon примерно аналогичный по "свежести" и той же разрядности, что и разрядность системы: https://superuser.com/questions/1002950 ... devcon-exe Дальше смотрим HWID сетевой карточки:
2022-08-15_20-59-03.jpg
запускаем cmd или powershell от админа и выполняем

Код: Выделить всё

devcon disable "PCI\VEN_10EC&DEV_8168"
PCI\VEN_10EC&DEV_8168&SUBSYS_84321043&REV_06\4&87D54EE&0&00E5: Disabled
1 device(s) disabled.
Если запустить не от админа, то появится следующее сообщение:
PCI\VEN_10EC&DEV_8168&SUBSYS_84321043&REV_06\4&87D54EE&0&00E5: Disable failed
No matching devices found.
Ответить

Вернуться в «Для чайников»