如何ping特定的端口号

时间:2020-03-05 15:29:09  来源:igfitidea点击:

ping可能是用于检查到远程系统的网络连接最常用的工具。
使用ping很容易。
我们只需将命令与远程服务器的IP或者URL一起使用。

ping faebook.com
 PING faebook.com (157.240.24.20) 56(84) bytes of data.
 64 bytes from edge-star-shv-01-sin2.facebook.com (157.240.24.20): icmp_seq=1 ttl=51 time=307 ms
 64 bytes from edge-star-shv-01-sin2.facebook.com (157.240.24.20): icmp_seq=2 ttl=51 time=225 ms

但是ping命令的默认端口是什么?
答案是没有的。

ping基于ICMP,而不是TCP或者UDP,ICMP协议没有端口号。

那么如何ping远程服务器的特定端口号?

使用ping命令不能这样做。
但是,还有其他工具允许我们ping特定的TCP或者UDP端口。

让我向我们展示一些这样的工具以及如何使用它们来ping给定的端口号。

ping特定端口与nmap

NMAP是一个网络扫描工具。

虽然我们可以使用NMAP做很多,但将介绍如何使用它来ping特定端口。

但首先,确保系统上安装了NMAP。
在基于Debian/Ubuntu的分布式上,我们可以使用以下命令安装nmap。

sudo apt install nmap

确保安装了NMAP后,我们可以按以下方式使用它来ping端口:

nmap -p 443 facebook.com

输出将是这样的:

Starting Nmap 7.60 ( https://nmap.org ) at 2019-01-07 10:40 IST
 Nmap scan report for facebook.com (157.240.24.35)
 Host is up (0.49s latency).
 Other addresses for facebook.com (not scanned): 2a03:2880:f10c:83:face:b00c:0:25de
 rDNS record for 157.240.24.35: edge-star-mini-shv-01-sin2.facebook.com
PORT    STATE SERVICE
 443/tcp open  https
Nmap done: 1 IP address (1 host up) scanned in 10.35 seconds

正如我们在输出中看到的,服务器已启动,并且它响应了TCP类型的端口号443是打开的。

如果要扫描多个端口,我们也可以执行此操作。
例如,我们可以提供一系列类似的端口号:

nmap -p 80-88 facebook.com

输出将提供有关每个端口的信息:

Starting Nmap 7.60 ( https://nmap.org ) at 2019-01-07 10:48 IST
 Nmap scan report for facebook.com (157.240.24.35)
 Host is up (0.34s latency).
 Other addresses for facebook.com (not scanned): 2a03:2880:f139:183:face:b00c:0:25de
 rDNS record for 157.240.24.35: edge-star-mini-shv-01-sin2.facebook.com
PORT   STATE    SERVICE
 80/tcp open     http
 81/tcp filtered hosts2-ns
 82/tcp filtered xfer
 83/tcp filtered mit-ml-dev
 84/tcp filtered ctf
 85/tcp filtered mit-ml-dev
 86/tcp filtered mfcobol
 87/tcp filtered priv-term-l
 88/tcp filtered kerberos-sec
Nmap done: 1 IP address (1 host up) scanned in 4.49 seconds

我们还可以使用端口名称而不是端口号:

nmap -p https facebook.com

输出保持与上一个命令相同。

如果我们想要专门ping tcp端口,我们也可以指定:

nmap -p 443 -sT facebook.com

对于UDP端口,我们可以使用

nmap -p 443 -sU facebook.com

nmap不是唯一的工具。
我们也可以使用其他工具。

使用telnet在远程服务器上ping特定端口

Telnet是一个类似于SSH的远程连接工具,但是SSH比Telnet更安全。

在使用Telnet之前,我们应该确保已安装它。
在Debian/Ubuntu上,我们可以使用此命令安装Telnet:

sudo apt install telnet

有Telnet后,我们可以使用它来连接到远程系统的特定端口。

telnet facebook.com 443

如果成功,我们应该看到这样的输出:

telnet facebook.com 443
Trying 157.240.24.35…
Connected to facebook.com.
Escape character is '^]'.

我们可以使用键盘快捷键CTRL +关闭连接或者简单地按CTRL + C.

为什么端口没有回应?

到目前为止我展示的所有例子都有一个成功的回应。
但如果没有回应怎么办。
这是什么意思?

我可能没有响应的原因可能有一些可能的原因。

  • 没有任何服务听端口,所以没有什么可以回应。
  • 防火墙阻止了特定端口上的传入流量。
  • 实际上,我们和所讨论的服务器之间存在网络连接问题。