Вопрос: Ping определенный порт


Просто быструю проверку.

Можете ли вы выполнить ping определенный порт машины, и если да, можете ли вы привести пример?

Я ищу что-то вроде ping ip address portNum,


560
2017-10-08 09:57


Источник


для окон этот вопрос можно проверить - npocmaka


Ответы:


Вы не можете пинговать порты, как использует Ping ICMP который не имеет понятия портов. Порты принадлежат протоколы транспортного уровня как TCP и UDP. Однако вы можете использовать птар посмотреть, открыты ли порты или нет

nmap -p 80 example.com

Редактировать: Как упоминалось в flokra, nmap - это больше, чем просто ping-for-ports-thingy. Это лучшие аутсайдеры и хакеры безопасности, а также множество отличных вариантов. Проверьте документ для всех возможных флагов.


609
2017-10-08 10:00



Возможно, вы захотите добавить -PN чтобы пропустить обнаружение хоста, nmap обычно выполняет перед тестированием данного порта. - flokra
Чтобы избавить некоторых людей от каких-либо проблем: nmap / can / может быть установлен на windows из ссылка (или Google nmap windows), Но он не работает через VPN. По-видимому, PaPing не может сканировать диапазон адресов. Я разместил ниже сценарий Python, который будет работать через VPN для сканирования ряда портов по целому ряду адресов.
Для других: nmap не существует в Mac OS X, вы можете установить nmap через homebrew brew install nmap или MacPorts. - Highway of Life
nping лучше подходит для этой задачи, чем nmap. nping является частью распределения nmap. - CMCDragonkai
Mac OSX имеет «Сетевую утилиту», на которой есть вкладка сканера портов - Shanimal


Откройте сеанс telnet для конкретного порта, например:

# telnet google.com 80
Trying 74.125.226.48...
Connected to google.com.
Escape character is '^]'.

Чтобы закрыть сеанс, нажмите Ctrl+],


162
2017-10-08 10:01



netcat работы также велики и менее многословны. - petrus
Telnet хорошо работает для этого, если порт является TCP-портом. - Falcon Momot
netcat также работает с UDP (nc -u) - Tsvetomir Dimitrov
Для пользователей Mac - netcat теперь встроен в MacOS HighSierra, где telnet можно установить из HomeBrew brew install telnet - sandiejat


Вы можете использовать PaPing:

http://code.google.com/p/paping

C:\>paping.exe www.google.com -p 80 -c 4
paping v1.5.1 - Copyright (c) 2010 Mike Lovell

Connecting to www.l.google.com [209.85.225.147] on TCP 80:

Connected to 209.85.225.147: time=24.00ms protocol=TCP port=80
Connected to 209.85.225.147: time=25.00ms protocol=TCP port=80
Connected to 209.85.225.147: time=24.00ms protocol=TCP port=80
Connected to 209.85.225.147: time=24.00ms protocol=TCP port=80

Connection statistics:
        Attempted = 4, Connected = 4, Failed = 0 (0.00%)
Approximate connection times:
        Minimum = 24.00ms, Maximum = 25.00ms, Average = 24.25ms

78
2017-09-03 04:23



Или вместо paping вы можете использовать плач, который был вокруг гораздо дольше и поддерживает пингование некоторых сервисов, а также портов.
Может ли это использоваться для ping любого порта или всего 80? - Luke Puplett
@LukePuplett просто изменит число 80 в примере. Запустите его, набрав paping.exe <имя_хоста / IP> -p <номер_порта> -c <количество попыток> - David Costa
Фантастика! Кто-нибудь знает, может ли он отображать статистику в середине пути ping может с Ctrl+Break? - Allon Guralnek
Бег >C:\paping_1.5.5_windows\paping.exe www.google.com -p 80 -c 4 из командной строки выдает ошибку the program can't start because MSVCP100D.dll is missing from your computer - Timo Huovinen


$ nc -vz google.com 80
Connection to google.com 80 port [tcp/http] succeeded!

71
2018-04-10 01:55



Использовать с time как в time nc -vz www.example.com 80 и у вас тоже будет RTT. - xebeche
Единственное решение, которое работает на экземплярах Amazon EC2 без какой-либо установки. - Masadow
Эта команда работает на Raspberry Pi (Linux distro raspian) - John M
что такое -z? ncat 6.40 на rhel7 дает неизвестный вариант - Tagar
@Tagar в соответствии с помощью версии Ubuntu, -z - это режим Zero-I / O, который используется для сканирования. - Ben Mordecai


Если вы работаете с установкой Windows с powershell v4 или новее, вы можете использовать модуль powershell test-netconnection:

Test-NetConnection <host> -port <port>

Пример:      Test-NetConnection example.com -порт 80

Этот командлет также имеет псевдоним tnc, Например tnc example.com -port 80


53
2017-10-26 21:09



Это действительно должен быть принятый ответ, поскольку он намного проще, и нет необходимости устанавливать что-либо - Hakaishin
tnc мой бог, я мог бы действительно помнить, что - Chris Marisic


Нет, вы не можете, потому что ping использует Протокол ICMP, который даже не имеет понятия портов.


22
2017-10-08 10:00



Я почти уверен, что использование «пинга» было метафорическим. - Luke Puplett
Привет, Люк, маленький мир :-) изменил тебя. - Hugh Perkins


Пытаться curl команда, например:

$ curl host:port

Например:

$ curl -s localhost:80 >/dev/null && echo Success. || echo Fail.
Success.

Выше команда вернется Потерпеть неудачу на ненулевые коды статуса выхода. В некоторых частных случаях, таких как пустой или неправильный ответ (см. man curl), вы можете обрабатывать определенные коды выхода как успешные, поэтому, пожалуйста, проверьте это после для более подробного объяснения.


15
2017-11-01 00:11



Мне это нравится, потому что curl присутствует по умолчанию на CentOS, поэтому мне не нужно ничего устанавливать. - bdemarest
завиток работал над малиной Pi (distro Raspian) - John M
Это, безусловно, самое элегантное и универсальное решение. Я слегка подделал его, чтобы сделать его аккуратным oneliner: IP="<ip>" ; PORT="<port>" ; curl -s "$IP:$PORT" > /dev/null && echo "Success connecting to $IP on port $PORT." || echo "Failed to connect to $IP on port $PORT." - Lefty G Balogh


Я нашел более простое решение с помощью PsPing:

psping 192.168.2.2:5000

Это часть Windows Sysinternals,

PsPing реализует функции Ping, TCP ping, латентность и измерение полосы пропускания.


15
2017-12-12 19:49



Кроме того, PsPing поступает из команды Microsoft SysInternal, поэтому ее можно считать более легитимной при работе с другими людьми, ориентированными на Microsoft. (И имеет лучшую функциональность, чем очень старый PortQry) - martyvis
Нашел что-то более простое; что не требует никакой загрузки или установки. Test-NetConnection -ComputerName 192.168.2.2 -Port 5000 - Ayan Mullick


В Linux вы можете использовать Hping но он использует TCP, а не ICMP.

hping example.com -S -V -p 80

13
2017-12-22 23:12



hping (hping3 в моей ubuntu) отлично. Он периодически повторяет зонд, как это делает ping, и в отличие от многих предложенных здесь инструментов. Он также проверяет, проходит ли пакет, и открыт ли порт. Если он открыт, вы получаете flags=SA (т. е. SYN ACK), и если он закрыт, вы получаете flags=SR (то есть SYN RST). Обратите внимание, что вам, вероятно, не нужно -V флаг здесь, но вам нужно sudo / root для запуска hping. - mc0e
Отлично! В отличие от многих других ответов, это говорит о задержке RTT как ping и пинги, пока не остановится. - Edward Anderson