编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

netcat之测试某个远程主机的「监听」端口是否可达

wxchong 2024-06-13 22:32:20 开源技术 11 ℃ 0 评论

◇使用场景
  经常有这种需求,要判断某个主机的监听端口是否能连上。
  导致监听端口【无法】,通常有两种原因:
其一,这个监听端口根本就【没开启】;
其二,监听端口虽然开启,但是被防火墙阻拦了。
  对第1个原因,(如果你能在该主机上运行命令)可以直接用 netstat 这个命令查看监听端口是否开启。
  但对于第2个原因,netstat 就用不上了。这时候就可以用 nc 来帮你搞定。

◇方法
  用如下命令可以测试某个 IP 地址(x.x.x.x)上的某个监听端口(xx)是否开启。

nc -nv x.x.x.x xx

  上述命令用到了如下几个选项:
  
选项 -v
  如果你是 nc 的新手,俺建议总是带上这个选项——通过更详细的输出,能帮你搞明白状况。
  在本文后续的举例中,俺会尽量都加上这个选项(但这段话就不再重复唠叨啦)
  
选项 -n
  由于测试的是【IP 地址】,用该选项告诉 nc,【无须】进行域名(DNS)解析;
  反之,如果你要测试的主机是基于【域名】,就【不能】用“选项 -n”。

◇补充说明:超时设置
  在测试链接的时候,如果你【没】使用 -w 这个超时选项,默认情况下 nc 会等待很久,然后才告诉你连接失败。
  如果你所处的网络环境稳定且高速(比如:局域网内),那么,你可以追加“-w 选项”,设置一个比较小的超时值。在下面的例子中,超时值设为3秒。

nc -nv -w 3 x.x.x.x xx

◇补充说明:UDP
  通常情况下,要测试的端口都是 TCP 协议的端口;如果你碰到特殊情况,需要测试某个 UDP 的端口是否可达。nc 同样能胜任。只需要追加 -u 选项。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表