Всем привет!
Иногда нужно промониторить сетевые порты на локальной (или удаленной машине), но дополнительного программного обеспечения на этих компьютерах нет. Тут на выручку нам придут стандартные средства и консоль cmd ОС Windows.
Вы скажете, что есть бесплатные утилиты вроде TCPView от Марка Русиновича и Sysinternals, но сегодня не об этом. Только стандартные оснастки, только хардкор.
Кстати, если обратили внимание, то почти всегда в своих заметках касаемо консоли cmd я использую Powershell. Иными словами вы всегда можете исполнять команды командной строки cmd в Powershell. При этом все работает, так как будто вы находитесь в режиме cmd, но наоборот — исполнять командлеты Powershell в cmd не выйдет. Просто пользуйтесь Powershell консолью всегда — это практичней и удобней.
Для определения того, какой процесс использует нужный вам tcp-порт в ОС Windows Server или рабочей станции на Windows 7/8/8.1/10, вы можете использовать комбинации стандартных утилит netstat и tasklist.
С помощью нехитрой команды:
Netstat -a -n -o
где:
параметр -a — отображение всех подключений и ожидающих портов;
параметр -n — отображение адресов и номеров портов в числовом формате;
параметр -o —отображение кода (Process ID) процесса каждого подключения;
Соответственно, мы можем увидеть всю информацию о сетевых соединениях на уровне портов (см. скриншот):
После того, как мы получили соответствие используемых портов к идентификаторам процессов с помощью команды netstat, мы запускаем Диспетчер задач Windows, с добавлением столбца для отображения Process ID (PID).
Если вы любите cmd , то не вылезая из нее пользуемся утилитой tasklist. В примере, приведенном выше, самые первые порты 1053 и 1054 используют процесс с PID 3464, так что напишем следующий запрос, используя команду tasklist:
tasklist /svc /FI "PID eq 3464"
То же самое, покажет Task Manager, если его запустить:
Эти открытые порты принадлежат процессу avp.exe, он же Антивирус Касперского.
На этом на сегодня это всё, подписывайтесь на обновления и до новых встреч!