Как пинговать конкретный порт
Я часто использую ping
Команда, чтобы проверить, доступен веб-сайт или нет, или я могу получить доступ к машине, так что в основном для диагностики, и что было бы действительно полезно, если бы я мог указать, к какому порту (портам) подключаются эти эхо-сигналы ICMP, есть ли способ сделать это с ping
Или другой инструмент, который позволил бы мне легко сделать это без необходимости генерировать пакеты вручную?
Например, можно создать настраиваемый набор ICMP-пакетов для перехода на определенный порт, а затем я мог бы использовать bittwist
отправить его и Wireshark
контролировать, получаю ли я что-нибудь взамен, но каждый раз кажется, что это доставляет немало хлопот, поэтому мне было интересно, есть ли более простой маршрут?
2 ответа
IIRC вы не можете отправить пакет "ping" на определенный порт.
На порте происходит "программное" прослушивание. Это программное обеспечение будет реализовывать свой собственный протокол - HTTP, SMTP, FTP или даже некоторый собственный протокол.
Эти серверы не будут отвечать на ICMP-пакет. ICMP-пакеты необходимо отправлять на ICMP-порт.
Однако вы можете просто попытаться открыть TCP-соединение (telnet host 12345
) и посмотрите, успешно ли установлено соединение.
Вот пример того, как пинговать определенный IP-порт в вашей сети:
- Скачайте и установите nMap.
- Бежать
ifconfig -a
определить топологию вашей сети; вывод терминала должен отображать IP-адрес хоста, связанный с вашей командной строкой, отображаемый после "inet" (например,inet: 10.0.0.2
). - Теперь откройте инструмент nMap для сканирования вашей сети, запустив
nmap -sP network-ip-address topology/24
(напримерnmap -sP 10.0.0.1/24
); это должно отобразить все хосты, подключенные к сети. - Найдите IP-адрес хоста порта, который вы хотите пропинговать; например, если ваша сеть размещает VPN-сервер на маршрутизаторе с IP-адресом
10.0.0.233
, Сначала попробуйте пропинговать адрес, запустивnmap -sn host-ip-address
(напримерnmap -sn 10.0.0.233
)- вывод терминала должен возвращать отчет о том, что сервер включен или выключен. - Однако иногда хост может быть видимым или идентифицируемым, только если вы пропингуете определенный порт, выполнив
nmap -Pn port-number ip-address
; например, субъектный маршрутизатор может быть отслежен только в том случае, если мы пропингуем определенный порт на маршрутизаторе - в этом случае порт UDP 1143 для OpenVPN (например,nmap -Pn 1143 10.0.0.233
). Вышеупомянутая команда должна подтвердить, что порт открыт в выходных данных терминала, даже если хост якобы не работает в соответствии с начальным запуском сканирования портов nmap.
Надеюсь, это поможет - это помогло мне!