就像您会ping
一个IP地址以检查服务器是否在线一样,我们也可以检查正在运行的服务器上的端口是否处于活动/打开状态。
这只是我随口说的,但您能否在ping
语句中更具体一些?
`ping 127.0.0.1:7004`
我知道这个命令是不被允许的,但是在Linux和Windows中有没有办法检查它呢?
就像您会ping
一个IP地址以检查服务器是否在线一样,我们也可以检查正在运行的服务器上的端口是否处于活动/打开状态。
这只是我随口说的,但您能否在ping
语句中更具体一些?
`ping 127.0.0.1:7004`
我知道这个命令是不被允许的,但是在Linux和Windows中有没有办法检查它呢?
如果您愿意并且有能力安装软件,您可以使用nmap。
nmap -p 7004 127.0.0.1
如果您的应用程序面向互联网,则可以使用诸如http://www.yougetsignal.com/tools/open-ports/之类的网络服务。
netstat -an
命令来检查哪些端口正在侦听。telnet host port
命令。如果在 Linux 机器上无法正常工作,请尝试使用 telnet host:port
命令。由于许多公司禁用了telnet,我发现在Windows机器上使用powershell命令来处理TCP非常有用:
New-Object System.Net.Sockets.TcpClient("服务器名称", 端口号)
对于TCP端口,您可以简单地使用telnet
或nc
建立连接。如果成功,端口就是开放的。
但由于UDP是无状态的,您不能仅仅通过检查是否有开放的端口来确定其是否开放。您必须知道该端口背后的服务,并知道如何发送有效的数据包以便获得响应。
netstat
正好做到了我想要的 :) - kholofelo Maloma