Linux命令之nc
nc命令是Linux中一个功能强大的网络工具,全称是netcat。其主要功能如下:
1.测试udp端口的连通性(重点)。
2.测试tcp端口的连通性。
3.文件及目录的传输。
4.仿真聊天。
nc语法格式:nc [参数]
参数 | 说明 |
-n | 直接使用IP地址 |
-p | <通信端口>,设置本地主机使用的通信端口 |
-u | 使用UDP传输协议 |
-v | 显示指令执行过程。 |
-w | <超时秒数>,设置等待连线的时间。 |
-z | 使用0输入/输出模式,只在扫描通信端口时使用。 |
-k | 永久占用某端口。RHEL7 or later只支持TCP端口的永久占用。 |
-l | 使用监听模式,管理传入的信息 |
实例:
测试192.168.10.110与192.168.10.101的rsyslog端口514(udp)是否可以连通。
当看到“Ncat: UDP packet sent successfully”,说明192.168.10.110与192.168.10.101的rsyslog端口514(udp)是可以正常连通的,当看到“Ncat: Connection refused.”,说明端口连通性不通。
测试192.168.10.110与192.168.10.101的ssh端口22(tcp)是否可以连通。
当看到“Ncat: Connected to 192.168.10.101:22.”,说明192.168.10.110与192.168.10.101的ssh端口22(tcp)是可以连通的,否则,连通性失败。
从192.168.10.101拷贝文件到192.168.10.110
首先,在接收端192.168.10.110上,启动任意未被占用的端口,默认使用TCP端口。
e.g(TCP端口):
netstat -antulp |grep 1111
nc -l 1111 >/root/ ztj.sh
其次,在发送端192.168.10.101上,启动远程连接传输。
e.g:
nc 192.168.10.110 1111< /root/ztj.sh
最后,在接收端192.168.10.110验收是否已经接收到192.168.10.101上ztj.sh
1.发送端ztj.sh(IP:192.168.10.101)
2.接收端ztj.sh(IP:192.168.10.110)
从192.168.10.101拷贝文件到192.168.10.110
首先,在接收端192.168.10.110上,启动任意未被占用的端口。
e.g(UDP端口):
netstat -antulp |grep 1112
nc -lu 1112 >/root/ ztj.sh
其次,在发送端192.168.10.101上,启动远程连接传输。
e.g:
nc -u 192.168.10.110 1112< /root/1.exp
最后,在接收端192.168.10.110验收是否已经接收到192.168.10.101上1.exp
1.发送端1.exp(IP:192.168.10.101)
2.接收端1.exp(IP:192.168.10.110)
从192.168.10.101拷贝test目录内容到192.168.10.110
首先,在192.168.10.110上,用nc激活监听端口
nc -l 1113 | tar zxv-
其次,在192.168.10.101上运行tar zcv- test | nc 192.168.10.110 1113 命令进行传输
最后, 在接收端192.168.10.110验收是否已经接收到192.168.10.101上test目录
首先,在192.168.10.110上,启动一个端口监听
e.g:
nc -l 1114
其次,在192.168.10.101上,建立连接
nc 192.168.110.110 1114
这样,双方就可以相互交流了。
使用ctrl+C(或D)退出
从22.12.72.185节点连接22.12.72.187节点,进行信息的发送与接收
命令:
nc -n -u 22.12.72.187 514
模拟消息的发送
命令:
cd /var/log
cat bmc.log
以上就是nc命令的常规用法,希望对你有所帮助!!!!