Командная строка для просмотра определенного порта

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

Ответ 1

Вот простое решение поиска порта...

В cmd:

netstat -na | find "8080"

В Баш:

netstat -na | grep "8080"

В PowerShell:

netstat -na | Select-String "8080"

Ответ 2

Вы можете использовать netstat в сочетании с флагами -np и pipe с командами find или findstr.

Основное использование таково:

netstat -np <protocol> | find "port #"

Так, например, чтобы проверить порт 80 на TCP, вы можете сделать это: netstat -np TCP | find "80" Который заканчивается выдачей следующего вида:

TCP    192.168.0.105:50466    64.34.119.101:80       ESTABLISHED
TCP    192.168.0.105:50496    64.34.119.101:80       ESTABLISHED

Как вы можете видеть, это показывает только соединения на порту 80 для протокола TCP.

Ответ 3

Я использую:

netstat –aon | find "<port number>"

здесь o представляет идентификатор процесса. теперь вы можете делать все с идентификатором процесса. Для завершения процесса, например, используйте:

taskkill /F /pid <process ID>

Ответ 4

когда у меня проблема с WAMP apache, я использую этот код для поиска, какая программа использует порт 80.

netstat -o -n -a | findstr 0.0:80

enter image description here

3068 - это PID, поэтому я могу найти его из диспетчера задач и остановить этот процесс.

Ответ 5

Как указано в другом месте: используйте netstat с соответствующими переключателями, а затем отфильтруйте результаты с помощью find [str]

Большинство основных:

netstat -an | find ":N"

или

netstat -a -n | find ":N"

Чтобы найти внешний порт, который вы можете использовать:

netstat -an | findstr ":N[^:]*$"

Чтобы найти локальный порт, который вы можете использовать:

netstat -an | findstr ":N.*:[^:]*$"

Где N - номер порта, который вас интересует.

-n гарантирует, что все порты будут численными, то есть не будут возвращены как переведенные в имена сервисов.

-a обеспечит поиск всех подключений (TCP, UDP, прослушивание...)

В строке find вы должны указать двоеточие в качестве классификатора портов, иначе число может соответствовать локальным или внешним адресам.

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

Дальнейшее чтение (^ 0 ^)

netstat /?

find /?

findstr /?

Ответ 6

netstat -a -n | find /c "10.240.199.9:8080"

это даст вам количество сокетов, активных на конкретном IP и порту (номер порта сервера)

Ответ 7

Для пользователя Windows 8: откройте командную строку, введите netstat -an | найдите "номер вашего порта" , введите.

Если ответ приходит как LISTENING, тогда порт используется, иначе он свободен.

Ответ 8

Чтобы улучшить ответ @EndUzr:

Чтобы найти внешний порт (IPv4 или IPv6), вы можете использовать:

netstat -an | findstr /r /c:":N [^:]*$"

Чтобы найти локальный порт (IPv4 или IPv6), вы можете использовать:

netstat -an | findstr /r /c:":N *[^ ]*:[^ ]* "

Где N - номер порта, который вас интересует. Переключатель "/r" сообщает ему обрабатывать его как regexp. Переключатель "/c" позволяет findstr включать пробелы в строки поиска вместо обработки пробела в качестве разделителя строки поиска. Это добавленное пространство предотвращает неправильное обращение к более длинным портам - например, ": 80" против ": 8080" и другие проблемы с перенаправлением портов.

Чтобы указать удаленные подключения к локальному серверу RDP, например:

netstat -an | findstr /r /c:":3389 *[^ ]*:[^ ]*"

Или посмотреть, кто касается вашего DNS:

netstat -an | findstr /r /c:":53 *[^ ]*:[^ ]*"

Если вы хотите исключить локальные только порты, вы можете использовать серию исключений с символами "/v" и escape-символы с обратной косой чертой:

netstat -an | findstr /v "0.0.0.0 127.0.0.1 \[::\] \[::1\] \*\:\*" | findstr /r /c:":80 *[^ ]*:[^ ]*"

Ответ 9

Для порта 80 команда будет: netstat -an | find "80" Для порта n команда будет: netstat -an | найти "н"

Здесь netstat - инструкция к вашей машине

-a: отображает все соединения и порты прослушивания. -n: отображает все адреса и инструкции в числовом формате (это необходимо, поскольку выходные данные из -a могут содержать имена компьютеров).

Затем команда find для "Pattern Match" выводит предыдущую команду.

Ответ 10

Это поможет вам

netstat -plan | grep :<port number>

Ответ 11

Эта команда покажет все порты и их адрес назначения:

netstat -f 

Ответ 12

Используйте команду lsof "lsof -i tcp: port #", вот пример.

$ lsof -i tcp:1555 
COMMAND   PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
java    27330 john  121u  IPv4 36028819      0t0  TCP 10.10.10.1:58615->10.10.10.10:livelan (ESTABLISHED)
java    27330 john  201u  IPv4 36018833      0t0  TCP 10.10.10.1:58586->10.10.10.10:livelan (ESTABLISHED)
java    27330 john  264u  IPv4 36020018      0t0  TCP 10.10.10.1:58598->10.10.10.10:livelan (ESTABLISHED)
java    27330 john  312u  IPv4 36058194      0t0  TCP 10.10.10.1:58826->10.10.10.10:livelan (ESTABLISHED)