Есть ли способ проверить состояние определенного порта из командной строки Windows? Я знаю, что могу использовать netstat для проверки всех портов, но netstat работает медленно и, вероятно, не смотрит на конкретный порт.
windows
networking
port
command-prompt
user1580018
источник
источник
netstat
работает медленно, если вы не используете-n
коммутатор, а это значит, что он должен выполнять множество DNS-запросов.Ответы:
Вот простое решение поиска порта ...
В cmd:
В Баш:
В PowerShell:
источник
-o
флаг (т.е.-nao
здесь) для включения PID процесса, использующего порт.Вы можете использовать
netstat
комбинации с-np
флагами и конвейером для командfind
илиfindstr
.Основное использование как таковое:
Так, например, чтобы проверить порт 80 в TCP, вы можете сделать это:
netstat -np TCP | find "80"
что в итоге даст следующий вид вывода:Как видите, это показывает только соединения на порту 80 для протокола TCP.
источник
Я использую:
здесь o представляет идентификатор процесса. теперь вы можете делать что угодно с идентификатором процесса. Чтобы завершить процесс, например, используйте:
источник
когда у меня проблемы с apache WAMP, я использую этот код, чтобы найти, какая программа использует порт 80.
3068
это PID, так что я могу найти его в диспетчере задач и остановить этот процесс.источник
Как уже было отмечено: используйте netstat с соответствующими переключателями, а затем отфильтруйте результаты с помощью команды find [str]
Самое основное:
или
Чтобы найти иностранный порт, вы можете использовать:
Чтобы найти локальный порт, вы можете использовать:
Где N - номер порта, который вас интересует.
-n
гарантирует, что все порты будут числовыми, т. е. не будут возвращены в переводе на имена сервисов.-a
обеспечит вам поиск всех соединений (TCP, UDP, прослушивание ...)В
find
строке необходимо указать двоеточие в качестве спецификатора порта, в противном случае число может совпадать с локальными или внешними адресами.При необходимости вы можете сузить область поиска, используя другие переключатели netstat ...
Дальнейшее чтение (^ 0 ^)
источник
это даст вам количество сокетов, активных на конкретном IP и порту (номер порта сервера)
источник
FIND: Parameter format not correct
Для пользователя Windows 8: откройте командную строку, введите netstat -an | найти "номер вашего порта" , введите.
Если ответ приходит как LISTENING, то порт используется, иначе он свободен.
источник
Чтобы улучшить ответ @ EndUzr :
Чтобы найти внешний порт (IPv4 или IPv6), вы можете использовать:
Чтобы найти локальный порт (IPv4 или IPv6), вы можете использовать:
Где N - номер порта, который вас интересует. Параметр "/ r" указывает ему обрабатывать его как регулярное выражение. Ключ / c позволяет findstr включать пробелы в строки поиска вместо обработки пробела в качестве разделителя строки поиска. Это дополнительное пространство предотвращает неправильное обращение с более длинными портами - например, ": 80" против ": 8080" и другие проблемы с перебором портов.
Чтобы вывести список удаленных подключений к локальному серверу RDP, например:
Или посмотреть, кто касается вашего DNS:
Если вы хотите исключить локальные порты, вы можете использовать серию исключений с "/ v" и экранирующие символы с обратной косой чертой:
источник
Для порта 80 команда будет такой: netstat -an | find "80" Для порта n команда будет выглядеть так: netstat -an | найти "н"
Здесь netstat - это инструкция к вашей машине
-a: отображает все соединения и прослушивающие порты -n: отображает все адреса и инструкции в числовом формате (это необходимо, поскольку выходные данные из -a могут содержать имена компьютеров)
Затем команда find для «Pattern Match» выводит предыдущую команду.
источник
Это поможет вам
источник
В RHEL 7 я использую эту команду для фильтрации нескольких портов в состоянии LISTEN:
источник
Эта команда покажет все порты и их адрес назначения:
источник
Используйте команду lsof "lsof -i tcp: port #", вот пример.
источник