网络测试利器:玩转NC命令

10 篇文章 0 订阅

更多技术博客,请关注微信公众号:运维之美

nc是一个功能强大的网络工具,其功能是用于扫描与连接指定端口,有着网络界的瑞士军刀美称。nc命令可用于扫描网络中的主机端口,支持tcp和udp连接,对于网络工程师来讲,可以方便的进行网络问题的排查。

1. nc基本用法

nc的全称是netcat,首先在Linux服务器上安装nc命令

sudo apt update
sudo apt install netcat  #ubuntu系统
sudo yum install nc  #centos系统

命令用法

nc -z -v <hostname/IP address> <port number>

语 法:nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>][-s<来源位址>][-v...][-w<超时秒数>][主机名称][通信端口...]
参 数:
 -g<网关> 设置路由器跃程通信网关,最多可设置8个。
 -G<指向器数目> 设置来源路由指向器,其数值为4的倍数。
 -h  在线帮助。
 -i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。
 -l  使用监听模式
 -n  直接使用IP地址,而不通过域名服务器。
 -o<输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。
 -p<通信端口> 设置本地主机使用的通信端口。
 -r  乱数指定本地与远端主机的通信端口。
 -s<来源位址> 设置本地主机送出数据包的IP地址。
 -u  使用UDP传输协议。
 -v 详细输出--用两个-v可得到更详细的内容
 -w<超时秒数> 设置等待连线的时间。
  -z  使用0输入/输出模式,只在扫描通信端口时使用。

2. nc传输文件

传输单个文件

文件接收端,也就是目标服务器B

nc -l port > file #用法
nc -l 21 > 1.txt

发送端,源端服务器A

nc 接收端B主机ip port < file  #命令用法
nc 192.168.6.217 21 < 1.txt

接收完毕后会退出,可以使用md5sum命令检测下是否传输完成。
在这里插入图片描述

• 传输目录

文件源头,监听端口

nc -l 21 | tar xfvz -

文件目的服务器

tar cfz - * | nc 192.168.6.216 21

在这里插入图片描述

3. nc端口探测

网络连通性测试,可以用nc工具来探测

如图在主机A上通过nc -l来临时启动一个tcp端口9999

在这里插入图片描述

端口启动后,在B主机上测试

[root@localhost ~]# telnet 192.168.10.126 9999
Trying 192.168.10.126...
Connected to 192.168.10.126.
Escape character is '^]'.

应用场景:客户环境可能有网络策略需要开通,在服务部署前,可以通过nc临时启动端口来测试连通性,能够避免临近上线的手忙脚乱

nc工具可以用作端口扫描,来测试服务器的某个/某些端口是否开启,例如22端口、80端口。

探测举例(u表示udp端口,不加则表示tcp)

[root@localhost ~]# nc -vuz 192.168.10.115 8475 
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 192.168.10.115:8475.
Ncat: UDP packet sent successfully  #端口测试成功
Ncat: 1 bytes sent, 0 bytes received in 2.01 seconds.
[root@localhost~]# 
[root@locslhost ~]# nc -vuz 192.168.10.115 8476
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 192.168.10.115:8476.
Ncat: Connection refused.  #端口不通情况

批量探测主机端口,黑客经常使用这种方式探测主机漏洞,nmap也可实现这种探测


#!/bin/bash
IP="192.168.0.115"
for PORT in {1..10000}; do
    (nc -w 2 -z $IP $PORT && echo "Port $PORT is open") &
done
wait
  1. nc在线聊天
    服务端A启动udp端口
 nc -u -l 8473

然后输入字符,客户端B监听此端口

nc -u  B主机ip 8473  

查看实际效果

在这里插入图片描述

可以看到2台主机可以正常通信,证明udp端口是通的,用这个方式也可以测试udp端口,是不是很有意思。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维之美@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值