Netstat с именем процесса?

Использование netstat -a -o -n я могу получить список портов и PID

То мне нужно пойти в диспетчер задач и добавить PID и посмотреть, кто это. (Довольно расстраивает)

Введите описание изображения здесь

Мне было интересно, есть ли команда CMD, которая делает все это (используя find , for , powershell )

Так что я мог получить имя процесса

Решение

Используйте параметр -b :

  -b Displays the executable involved in creating each connection or listening port. In some cases well-known executables host multiple independent components, and in these cases the sequence of components involved in creating the connection or listening port is displayed. In this case the executable name is in [] at the bottom, on top is the component it called, and so forth until TCP/IP was reached. Note that this option can be time-consuming and will fail unless you have sufficient permissions. 

Примечание. Команда netstat -b выйдет из строя, если не выполняется из командной строки с повышенными правами.

Временное решение

Отфильтруйте список процессов и найдите интересующий PID:

 tasklist | findstr /c:"PID" 

Альтернативное решение

Tcpvcon.exe этого вы можете использовать Tcpvcon.exe . Никаких прав администратора не требуется.

Использование Tcpvcon аналогично использованию встроенной утилиты netstat для Windows.

 Usage: tcpvcon [-a] [-c] [-n] [process name or PID] -a Show all endpoints (default is to show established TCP connections). -c Print output as CSV. -n Don't resolve addresses. 

Я думаю, что вы ищете TCPView из SysInternals.

Если вы любите использовать PS, вы можете разблокировать этот код (обратите внимание: он супер-базовый)

 $nets = netstat -ano|select-string LISTENING; foreach ($n in $nets) { # make split easier PLUS make it a string instead of a match object $p = $n -replace ' +',' '; # make it an array $nar = $p.Split(' '); # pick last item... $pname = $(Get-Process -id $nar[-1]).ProcessName; # print the modified line with processname instead of PID $n -replace "$($nar[-1])","$($ppath) $($pname)"; } 

Обратите внимание, что вы можете попробовать Path вместо ProcessName, чтобы получить полный исполняемый путь, однако работать с системными службами не будет. Кроме того, вы можете захотеть добавить имя процесса в конец строки вместо замены значения PID – наслаждаться им;)

Вот пример для Windows, использующий FOR для анализа вывода netstat затем DO tasklist с /fi filter на pid, чтобы показать имя процесса.

Последняя находка – удалить заголовки tasklist .

 FOR /F "usebackq tokens=5 delims= " %i IN (`netstat -ano ^|find "443"`) DO @tasklist /fi "pid eq %i" | find "%i" 

Печатает записи, как

 tomcat8.exe.x64 4240 Services 0 931,864 K 

Дополнительные поля из netstat могут быть добавлены путем добавления токенов.

  • По умолчанию PowerShell выдает UTF-8 вместо UTF-16?
  • PowerShell's Invoke-RestMethod эквивалент curl -u (базовая аутентификация)
  • Выполнить скрипт PowerShell из C # с аргументами командной строки
  • PowerShell Set-Content и Out-File - какая разница?
  • Как получить контрольную сумму MD5 в PowerShell
  • Что я должен использовать: «Write-Host», «Write-Output» или « :: WriteLine»?
  • Бесплатная замена cmd / powershell с обычной копией
  • Реализация PowerShell 2.0 ConvertFrom-Json и ConvertTo-Json
  • Скопировать содержимое кнопок в текстовое поле?
  • Как заменить несколько строк в файле с помощью PowerShell
  • Ожидание ввода пользователя с тайм-аутом
  • Interesting Posts

    Как расширить class / mixin, который имеет динамически сформированный селектор

    Когда можно безопасно оставить остатки очистки Revo Uninstaller?

    Как объявить свойства уровня classа в Objective-C?

    Работа над удаленным проектом с Eclipse через SSH

    можно ли отключить вставку javac статических конечных переменных?

    Как узнать, что установил setup.exe

    Как получить уведомление по электронной почте в окне блокировки Windows 8.1 и меню «Пуск» при использовании Outlook?

    Windows 7 Backup Disk Full

    Pig Latin: загрузка нескольких файлов из диапазона дат (часть структуры каталогов)

    Ошибка: неотрицательная ширина, требуемая в строке формата в (1)

    Хранение идентификаторов R.drawable в массиве XML

    Как перезапустить замороженный экран в Ubuntu без потери открытых окон?

    Как разработать мягкую клавиатуру для Android?

    Как преобразовать между ISO-8859-1 и UTF-8 в Java?

    Android: проблемы с Unicode / Charset при отправке SMS (sendTextMessage)

    Давайте будем гением компьютера.