瑞士军刀 NETCAT-NC
招数1:(网络诊断)测试某个远程主机的【监听】端口是否可达

◇使用场景

经常有这种需求,要判断某个主机的监听端口是否能连上。
  导致监听端口【无法】,通常有两种原因:
其一,这个监听端口根本就【没开启】;
其二,监听端口虽然开启,但是被防火墙阻拦了。
  对第1个原因,(如果你能在该主机上运行命令)
但对于第2个原因,netstat 就用不上了。这时候就可以用 nc 来帮你搞定
用如下命令可以测试某个 IP 地址(x.x.x.x)上的某个监听端口(xx)是否开启
nc -nv x.x.x.x xx
netstat -pantu | grep 端口---------------------------------------------------------------------------------------------------------------------------
-v 详细信息 可以连接网站
-n 不会DNS解析
nc -vn IP地址 端口 返回OK的时候输入USER 加名字 POS3要用base64编码
nc -nv IP地址 端口 ---------------------------------------------------------------------------------------------------------------------------------
选项 -n
  由于测试的是【IP 地址】,用该选项告诉 nc,【无须】进行域名(DNS)解析;
  反之,如果你要测试的主机是基于【域名】,就【不能】用“选项 -n”。
补充说明:超时设置

在测试链接的时候,如果你【没】使用 -w 这个超时选项,默认情况下 nc 会等待很久,然后才告诉你连接失败。
  如果你所处的网络环境稳定且高速(比如:局域网内),那么,你可以追加“-w 选项”,设置一个比较小的超时值。在下面的例子中,超时值设为3秒。 nc -nv -w 3 x.x.x.x xx -------------------------------------------------------------------------------------------------------------------------------------------
通常情况下,要测试的端口都是 TCP 协议的端口;如果你碰到特殊情况,需要测试某个 UDP 的端口是否可达。nc 同样能胜任。只需要追加 -u 选项----------------------------------------------------------------------------------------------------------------------------------------------
传输文本(聊天)用来电子取证
A:nc -lp 4444打开端口侦听端口 服务端
B:nc-nv 1.1.1.1 4444连接端口用nv进行文本的信息传递
ls -l 丨 nc-nv IP地址 端口 运行之后所得的结果直接输入到远程服务器的端口上 -q 1 标准输入完成之后1秒之后就退出
nc -l -p 端口 > ps.txt 如果有文本来的信息直接传到ps这个文本里去
cat 文件 查看
lsof 丨 nc -nv IP地址 端口 -q 1 把这个文件信息传给另一台电脑
补充说明:如何让 nc 的监听端口【持续开启】
在默认情况下,nc 开启 listen 模式充当服务端,在接受【第一次】客户端连接之后,就会把监听端口关闭。
  为啥会这样捏?因为当年设计 nc 更多的是作为某种网络诊断/配置工具,并【不是】真拿它当服务端软件来用的。
  如果你想要让 nc 始终监听模式,使之能【重复】接受客户端发起的连接,可以追加 -k 选项

Logo

更多推荐