Мое программное приложение работает на порте 5700. В последние несколько дней с недавними обновлениями Windows некоторые из программ моих пользователей перестали работать из-за того, что теперь этот порт используется системным процессом (PID: 4).
Я не уверен, как определить, какая программа использует этот порт? Либо он используется самой Windows (что было бы странно, если бы системный процесс просто начал использовать новый порт), либо какая-то другая программа использует системный процесс как своего рода прокси.
Например, я видел, что когда я прослушиваю некоторые порты для HTTP-запросов в своем приложении, то PID, который отображается с использованием этого номера порта, равен 4 (системный процесс). Это более или менее подтверждается здесь: https://github.com/dotnet/corefx/issues/428
Я пробовал запустить команду netsh http show urlacl
чтобы увидеть все зарезервированные HTTP-порты, но мой порт не отображается в этом списке. Так что это не кажется зарезервированным, но это в использовании.
Рассматриваемое исключение, когда мы пытаемся прослушивать этот порт:
Ошибка TCP (10013: была предпринята попытка доступа к сокету способом, запрещенным его разрешениями на доступ) при прослушивании конечной точки IP = 0.0.0.0: 5700.
Procexplorer, netstat, список задач и т. Д. Обычно стесняются деталей, поскольку система скрывает основную информацию.
Вы могли бы попробовать net stop http
для выгрузки HTTP.sys. он должен предупреждать вас, какие службы от него зависят. Используйте этот вывод, чтобы пройти процесс устранения ... надеюсь, вы найдете виновника.
Кстати, я знаю, что Dell SupportAssist использует порт 5700, но он не должен работать как System.
Я бы попробовал бежать tcpview от SysInternals, он всегда помогал в подобных сценариях.