如何 ping 特定端口

如何 ping 特定端口

我经常使用ping命令来检查某个网站是否可用,或者我是否可以访问某台机器,所以基本上主要用于诊断,如果我可以指定这些 ICMP 回显转到哪个端口,那真正有用的是什么?有没有办法用这个命令ping或其他工具让我可以轻松地做到这一点,而不必手动生成数据包?

例如,一个选项是创建一个自定义 ICMP 数据包,设置为转到特定端口,然后我可以使用bittwist它来发送它,并Wireshark监视是否收到任何返回,但每次都这样做似乎有点麻烦,所以我想知道是否有更简单的路线?

答案1

IIRC 您无法向特定端口发送“ping”数据包。

在一个端口上,有一个“软件”在监听。这个软件会实现它自己的协议 - HTTP、SMTP、FTP,甚至一些自己的协议。

这些服务器不会响应 ICMP 数据包。ICMP 数据包需要发送到 ICMP 端口。

但是,您可以尝试打开一个 TCP 连接(telnet host 12345)并查看连接是否成功。

答案2

下面是如何 ping 网络上的特定 IP 端口的示例:

  1. 下载并安装地图
  2. 运行ifconfig -a以识别您的网络拓扑;终端输出应显示跟踪到您的命令行的主机 IP 地址,显示在“inet”之后(例如inet: 10.0.0.2)。
  3. 现在打开 nMap 工具通过运行nmap -sP network-ip-address topology/24(例如nmap -sP 10.0.0.1/24)来扫描您的网络;这应该显示连接到网络的所有主机。
  4. 找到您要 ping 的端口的主机 IP 地址;例如,如果您的网络在 IP 地址为 的路由器上托管 VPN 服务器10.0.0.233。首先,尝试通过运行nmap -sn host-ip-address(例如nmap -sn 10.0.0.233) 来 ping 该地址 - 终端输出应返回服务器处于启动或关闭状态的报告。
  5. 但是,有时主机可能只有在您通过运行 ping 特定端口时才可见或可识别nmap -Pn port-number ip-address;例如,只有当我们 ping 路由器上的特定端口时,才可能追踪目标路由器 - 在本例中为 OpenVPN 的 UDP 端口 1143(例如nmap -Pn 1143 10.0.0.233)。上述命令应确认端口在终端输出中处于打开状态,即使根据 nmap 端口扫描的初始运行,主机表面上处于关闭状态。

希望这有帮助——它帮助了我!

相关内容