Мне нужно проверить, может ли мое серверное приложение восстанавливаться после преходящих сетевых сбоев. Приложение прослушивает некоторые порты и является клиентом для внутренних служб. Я хотел бы запустить некоторую команду или сценарий, который сбросит и восстановит все соединения.
Есть ли какой-то инструмент, включенный в Windows, который позволит это сделать? Например, существует ли последовательность команд route
, ipconfig
или netsh
, которая сбросит все соединения и позволит машине возобновить нормальную работу?
Может быть, отключить устройство сетевой карты и включить его обратно?
Вы могли добиться разными способами.
Команда Netsh - удаление интерфейса
Используйте команду «netsh interface show interface», чтобы получить имя интерфейса, которым вы хотите управлять.
Выполните команду ниже, заменив имя интерфейса из выходных данных первой команды. Это отключит интерфейс. netsh interface set interface "{Interface Name}" disable
Выполните команду ниже, заменив имя интерфейса из выходных данных первой команды. Это включит интерфейс. netsh interface set interface "{Interface Name}" enable
Правила брандмауэра
Вы можете заблокировать трафик, создав правило брандмауэра Windows для входящих / исходящих соединений, которое соответствует соединениям вашего приложения .
Документация для PowerShell по созданию правил межсетевого экрана
Команда маршрута
Фактически вы можете создать плохой маршрут для имитации сбоя, однако, если вы обслуживаете только локальную подсеть с помощью этих служб, это не сработает.
Команда Powershell для добавления маршрута
New-NetRoute -DestinationPrefix '{Destination Network}' -NextHop {Some Bad Gateway}
Route Command
route add {Network} MASK {Subnet Mask} {Some Bad Gateway}
Конечно, это тоже можно сделать, просто отсоединив сетевой кабель, клавиатура не требуется.