Назад | Перейти на главную страницу

Как я могу узнать, какая программа выполняет конкретный сетевой запрос?

У меня есть 2 компьютера с Windows Server 2003, которые по большей части простаивают по выходным. Тем не менее, когда я смотрю журналы DNS своего маршрутизатора, обе машины делают много запросов на www.yahoo.com, когда никто не использует машину.

Ни одна из программ, которые работают бессрочно, не запрашивает Yahoo, о которых я знаю. Запросы выполняются со скоростью чуть больше 1 минуты в минуту.

Есть ли способ узнать, какая программа или служба выполняет эти запросы?

Установите Microsoft Network Monitor. Начать захват. Отфильтруйте захват для DNS, HTTP и HTTPS. Посмотрите на полученные результаты. NetMon перечислит каждый процесс, ответственный за соответствующий сетевой трафик, что позволит вам его отслеживать. Предполагается, что процесс DNS-клиента будет нести ответственность за любой связанный с DNS трафик, относящийся к Yahoo, который не скажет вам «почему», но фильтрация по HTTP и HTTPS должна позволить вам увидеть, какие другие процессы могут пытаться подключиться к Yahoo.

Вам нужно будет включить определенную отладку на DNS-сервере Windows, чтобы узнать, кто делает запрос:

Выберите такие вещи, как Details также.

Вам также может потребоваться использовать Wireshark или Netmon для захвата пакетов, чтобы полностью понять, что происходит.

Установить netstat для окон. Эта программа показывает вам активные TCP-соединения и связанные с ними идентификаторы процессов (pid). Свяжите pid с именем программы в диспетчере задач, чтобы определить, какая программа устанавливает соединения.

Например:

c:\>netstat -anb 
TCP    0.0.0.0:8081           0.0.0.0:0              LISTENING       2044
[FrameworkService.exe]

(обратите внимание, что другие верны, netstat - это встроенная команда Windows, не нужно ничего устанавливать)