HTML5 google Firefox php linux命令 mysql nginx Windows shell java Android apache linux centos Python 开源 wordpress Ubuntu 微软 程序员

如何检测(远程)主机上的某个端口是否开启

如何检测(远程)主机上的某个端口是否开启,今天遇到一个问题就是在某某局点需要在某某防火墙上开放某些端口,但是我在某某防火墙上放开后,告知还是不能进行连接,我就想如何检测本机或者远程主机是否开放某某端口问题。

检测(远程)主机机是否开放某某端口:

windows下

  1. 在cmd里面使用netstat -an命令来查看 开放的TCP和UDP端口。
  2. 在cmd里面使用start /min telnet 127.0.0.1 某端口,之后会出现一个窗口,是最小化的,你等一会,如果窗口自动关闭了,说明端口是关闭,反之端口开放。

Linux

  1. 如windows下使用telnet的方法
  2. 使用nc命令

nc检测端口的用法:

nc -z -w 10 %ip% %PORT%
  • -z表示检测或者扫描端口
  • -w表示超时时间
  • -u表示使用UDP协议

例如:

# nc -z -w 10 -u 127.0.0.1 53
Connection to 127.0.0.1 53 port [udp/domain] succeeded!
# nc -z -w 10127.0.0.1 53
Connection to 127.0.0.1 53 port [tcp/domain] succeeded!
# echo $?
0
# nc -z -w 10 8.8.8.7 53
# echo $?
1
#

端口成功联通返回值是0,提示succeeded;否则返回1,不提示任何数据。linux下未作测试,网友遇到的时候自行测试。

延伸阅读

评论