如何“ping”一个端口

我们大多数人都会熟悉简单的基于 ICMP 的“ping”命令,它允许我们测试来自某些网络连接设备的基本响应。

使用tcping

tcping 是一种这样的工具,可用于检查 TCP 端口是否正在响应,有几个版本可用,但我使用这个:http://www.elifulkerson.com/projects/tcping.php

运行类似于下面的命令。

C:\Users\Admin\Desktop>tcping.exe google.com 443
Probing 150.101.161.230:443/tcp - Port is open - time=2.203ms
Probing 150.101.161.230:443/tcp - Port is open - time=1.426ms
Probing 150.101.161.230:443/tcp - Port is open - time=1.764ms
Probing 150.101.161.230:443/tcp - Port is open - time=1.393ms
Ping statistics for 150.101.161.230:443
     4 probes sent.
     4 successful, 0 failed.
Approximate trip times in milli-seconds:
     Minimum = 1.393ms, Maximum = 2.203ms, Average = 1.697ms

这里我们使用 tcping 检查 google.com 上的端口 443.
可以看到端口显示为打开并响应,如果端口未打开,默认情况下2000ms后将显示为无响应。

如何ping UDP端口?

由于 UDP 是一种无连接协议,因此确定它是否响应有点不同。
TCP“ping”通过执行三向握手来工作,源将向目的地发送一个 SYN,目的地将回复一个 SYN-ACK,然后源将发送一个 ACK 完成握手并建立连接。
由于 UDP 不建立连接,我们不能仅仅通过查找来确定端口是否响应,而是需要发送特定数据并查看是否收到响应。

NMAP 是一个很好的工具,我们可以下载它并使用它来端口扫描目标地址以确定哪些端口是开放的。

在这个例子中,我们查询 8.8.8.8 是否在 UDP 端口 53 上响应,因为它服务于 DNS,我们希望它是开放的。

C:\Users\Admin\Desktop\nmap-6.47>nmap -sU -p 53 8.8.8.8
Nmap scan report for google-public-dns-a.google.com (8.8.8.8)
Host is up (0.0050s latency).
PORT   STATE         SERVICE
53/udp open|filtered domain
Nmap done: 1 IP address (1 host up) scanned in 5.31 seconds

当 nmap 无法确定端口是打开还是过滤时,使用 open|filtered 结果,打开的端口可能没有给出响应。
它表明该服务已被标识为“域”,因为它用于服务 DNS。
我已经对 Internet 上的其他一些 DNS 服务器进行了测试,有些确实显示为打开状态,只是确认它们正在响应。

NMAP 也可用于以类似的方式检查 TCP 端口是否打开,只需将 -sU 更改为 -sT。

日期:2020-07-07 20:56:28 来源:oir作者:oir