Прежде всего, локальный сокет на вашем компьютере не предоставляет никакой информации о состоянии этого соединения на межсетевом экране в пути.Кроме того, хотя вы можете перечислять установленные соединения локально, а затем проверять их, это не даст желаемого результата.Мало того, что Test-Connection
не является правильным инструментом (он отправляет ICMP-зонды, а не TCP-зонды, т.е. работает на неправильном уровне), но даже если вы используете Test-NetConnection
(который поддерживает TCP-зонды), который установит new Соединение, не используйте повторно то, которое использует ваше приложение.
По сути, единственный способ проверить состояние соединения на брандмауэре - это проверить состояние соединения на брандмауэре.
С учетом вышесказанного наиболее вероятной причиной преждевременного сброса соединения брандмауэром является расхождение настроек поддержки активности TCP на брандмауэре и конечных точках подключения, по крайней мере, по моему опыту.В Windows по умолчанию установлено значение Время активности TCP , равное 2 часам, в то время как для многих брандмауэров по умолчанию используется более короткое время поддержки (например, 30 минут).
Время поддержки систем Windows можно изменить в реестре.Например, путем импорта файла .reg со следующим содержимым (0x493e0 == 300000 мс == 6 мин):
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"KeepAliveTime"=dword:000493e0