Как я могу увидеть за определенный период времени, какое приложение привязало определенный порт в Windows? Я автоматически запускаю свое приложение с окнами, и я ограничиваю порт 1200 как приемник пакетов UDP, но иногда мое приложение сообщает, что порт занят. Могу ли я увидеть, какое приложение сделало это, в средстве просмотра событий Windows или где-нибудь еще? Итак, я не могу использовать netstat, чтобы увидеть, какое приложение в настоящее время его использует, мне нужны исторические данные.
Я не думаю, что вы можете получить исторические данные, и кто-то может опубликовать какую-то информацию по этому поводу.
Вы можете изменить способ запуска приложения, заключив его, скажем, в файл .bat / .cmd.
Затем вы можете использовать некоторые инструменты из Люкс Systernals.
Пример файла bat:
@echo off
REM Log TCP/UDP port information before starting
REM UNREM the best command for your environment
REM Systernals
tcpvcon.exe -a -n -c > X:\Drive\File.csv
REM Native
REM netstat -t -a | find "LISTENING" > X:\Drive\File.csv
myapplication.exe
Это приведет к записи CSV-файла со всеми прослушивающими и подключенными сокетами, которые затем можно попытаться определить, в чем проблема.
Я также включил версию netstat, если вам нужна стандартная собственная версия Windows, которая показывает только порты в режиме прослушивания.
Обновить
Вы также можете использовать брандмауэр Windows в Vista и выше для регистрации информации. Видеть TechNet Чтобы получить больше информации.
Или через netsh: netsh firewall set logging droppedpackets=enable connection=enable