ping 端口:如何Ping特定端口号 2024-04-18 04:23:20 0 0 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操作系统上使用。 收藏(0)