ping端口是最有效的故障排除技术之一,以便查看服务是否正常运行。

系统管理员每天都使用ping命令,它依靠ICMP协议来检索有关远程主机的操作信息。

但是,仅对主机进行ping操作并不总是足够的:您可能需要对服务器上的特定端口执行ping操作。

此特定端口可能与数据库,Apache Web服务器甚至网络上的代理服务器相关。

在本教程中,我们将看到如何使用各种不同的命令来ping特定端口。

使用telnet ping特定端口

ping特定端口的最简单方法是使用telnet命令,后跟要ping 的IP地址和端口。

您还可以指定域名而不是IP地址,然后指定要ping的特定端口。

$ telnet <ip_address> <port_number>

$ telnet <domain_name> <port_number>

“ telnet”命令对Windows和Unix操作系统有效。

如果在系统上遇到“ telnet:命令未找到 ”错误,则必须通过运行以下命令在系统上安装telnet。

$ sudo apt-get install telnet

例如,假设我们有一个网站运行在本地网络上IP地址为192.168.178.2的Apache Web服务器上。

默认情况下,网站运行在端口80上:这是我们要ping以查看我们的网站是否处于活动状态的特定端口。

$ telnet 192.168.178.2 80

Trying 192.168.178.2...

Connected to 192.168.178.2.

Escape character is '^]'.

$ telnet 192.168.178.2 389

Connected to 192.168.178.2.

Escape character is '^]'.

能够连接到远程主机仅意味着您的服务已启动并正在运行。

为了退出Telnet实用程序,您可以使用“ Ctrl” +“]”击键来转义并执行“ q”命令来退出。

使用nc ping特定端口

为了对特定的端口号执行ping操作,请对“ nc”命令执行“ nc”命令,对“ verbose”执行“ v”选项,对“ scanning”执行“ z”,并指定主机和要进行ping操作的端口。

您还可以指定域名而不是IP地址,然后指定要ping的端口。

$ nc -vz <host> <port_number>

$ nc -vz <domain> <port_number>

该命令适用于Unix系统,但是您可以在线找到适用于Windows的netcat替代产品。

如果在系统上未找到“ nc”命令,则需要以sudo用户身份运行“ apt-get install”命令进行安装。

$ sudo apt-get install netcat

举例来说,假设您要在其端口80上对远程HTTP网站执行ping操作,则可以运行以下命令。

$ nc -vz amazon.com 80

amazon.com [<ip_address>] 80 (http) open

如您所见,连接已在端口80上成功打开。

另一方面,如果尝试对未打开的特定端口执行ping操作,则会收到以下错误消息。

$ nc -vz amazon.com 389

amazon.com [<ip_address>] 389 (ldap) : Connection refused

使用nmap ping端口

ping特定端口的一种非常简单的方法是将nmap命令与端口的“ -p”选项一起使用,并指定端口号以及要扫描的主机名。

$ nmap -p <port_number> <ip_address>

$ nmap -p <port_number> <domain_name>

注意:如果您使用的是nmap,请注意,您应该了解它可能附带的法律问题。对于本教程,我们假设您正在扫描本地端口仅出于监视目的。

如果主机上没有“ nmap”命令,则必须安装它。

$ sudo apt-get install nmap

举例来说,假设您要在默认LDAP端口 389 上对本地网络上的“ 192.168.178.35/24”执行ping操作。

$ nmap -p 389 192.168.178.35/24

如您所见,据说该虚拟机上的端口389已打开,表明其中正在运行OpenLDAP服务器。

使用nmap扫描端口范围

为了使用nmap扫描一定范围的端口,您可以对“端口”使用“ p”选项执行“ nmap”,并指定要ping的范围。

$ nmap -p 1-100 <ip_address>

$ nmap -p 1-100 <hostname>

同样,如果我们尝试扫描“ 192.168.178.35/24”上的端口范围,则将运行以下命令

$ nmap -p 1-100 192.168.178.35/24

使用Powershell Ping特定端口

如果您在Windows环境中运行计算机,则可以使用Powershell ping特定的端口号。

如果您计划在自动脚本中包含此功能,则此选项非常有用。

为了使用Powershell ping特定端口,您必须使用“ Test-NetConnection”命令,后跟要ping的IP地址和端口号。

$ Test-NetConnection <ip_address> -p <port_number>

举例来说,假设我们要对端口389上的“ 192.168.178.35/24”主机执行ping操作。

为此,我们将运行以下命令

$ Test-NetConnection 192.168.178.35 -p 389

在最后一行,您可以看到TCP调用是否成功:在我们的例子中,它确实到达了389端口上的端口。

关于坪术语

从技术上讲,没有诸如“ ping”主机上的特定端口之类的事情。

向远程主机发送“ ping”请求意味着您正在使用ICMP协议来检查网络连接。

ICMP主要用于诊断将阻止您访问主机的网络问题。

当您“ ping端口 ”时,实际上是在计算机和特定端口上的远程主机之间建立TCP连接。

但是,工程师通常说他们正在“ ping端口”,但实际上他们正在扫描或打开TCP连接。

结论

在本教程中,您学习了可用于ping特定端口的所有方法。

本教程中使用的大多数命令都可以在Windows,Unix或MacOS操作系统上使用。

 
原文链接:https://blog.csdn.net/allway2/article/details/106961916/

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐