Как найти процесс, использующий порт, если он не отображается даже в netstat?

277
JustAMartin

Я использую IDE для разработки программного обеспечения (Intellij), который использует локальный компьютер порт 5005 для отладки программ Java. В некоторых случаях он сообщает, что не может подключиться, потому что порт используется, или иногда сообщает об истечении времени ожидания соединения. Поэтому я перезапускаю IDE, убиваю все процессы java и javaw, а затем запускаю:

netstat -a -n | find /c "5005" 

Это сообщает 0. Конечно, я также бегу netstatбез findи исследую список - нет 5005 listeningни с waitсостоянием. Но все же после следующего запуска IDE продолжает сообщать о тех же самых ошибках соединения.

Единственный способ помочь восстановить это перезагрузить систему. После этого он прекрасно работает в течение многих часов или даже дней, пока снова не застрянет с теми же симптомами.

Я запутался в этом. Я представил, что netstatотображает все используемые порты, но, очевидно, что-то упускает. Только полная перезагрузка убивает тот «неизвестный невидимый процесс», который заблокировал порт.

Что здесь происходит? Как порт в Windows может быть заблокирован таким образом, что он даже netstatне сообщает об этом?

1
Просто идея: взгляните на Microsoft Process Explorer! Я не уверен, что вы этого хотите, но ... (https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer) 5 лет назад 2
Сброс сетевого стека ничего не дает? Tim_Stewart 5 лет назад 1
@Tim_Stewart спасибо, на самом деле, это привело меня к мысли - я попытался отключить, а затем включить все сетевые интерфейсы, и это, похоже, решило проблему. Я мог бы использовать его как лучшую альтернативу полной перезагрузке. Все еще странно, что происходит с этими портами. JustAMartin 5 лет назад 0
Вы запускаете это как администратор? Это может помочь. Tim_Stewart 5 лет назад 0
Да, я использую административную учетную запись. В настоящее время я сузил причину проблемы до VPN (Check Point Endpoint Security VPN), которую я иногда использую для подключения к нашим офисным серверам. Проблема с «призрачным портом» начинается при использовании VPN и сохраняется даже после отключения от VPN. Единственное решение - перезагрузить или сделать трюк Disable / Enable, чтобы снова сделать порт доступным. JustAMartin 5 лет назад 0

0 ответов на вопрос