如何测试某个远程 ip 的某个端口是可以连接的?


#1

经常会有这种情况,某个机器上在某个端口上开启了服务,但是从本地有没有办法通过一个简单的linux命令测试是否可以访问可以连接呢?


#2

可以使用 nc

nc -zv 127.0.0.1 80

多个端口:

nc -zv 127.0.0.1 22 80 8080

指定端口范围:

nc -zv 127.0.0.1 20-30

其中

  • -z 指只扫描是否监听,不发送数据;
  • -v 表示输出更多信息

扩展

如果想在 shell 脚本中使用,可以使用如下更编程友好的方式

nc 127.0.0.1 123 &> /dev/null; echo $?

上面的命令返回 0 表示可以连通,返回 1 表示不可以连通。