nc 命令简介
nc 全程是netcat 是Linux下常用的一种网络工具(网络的瑞士尖刀);nc 通信通过TCP/IP协议进行数据的读取和写入,
可以是TCP 、UDP进行网络链接后通信。
nc 扫描端口nc 最重用的功能就是用来扫描端口是否开通,跟telnet 有点类似:
nc -v -w 2 `hostname -i` 3901-3905
nc: connect to 10.246.46.15 port 3901 (tcp) failed: Connection refused
nc: connect to 10.246.46.15 port 3902 (tcp) failed: Connection refused
Connection to 10.246.46.15 3903 port [tcp/charsetmgr] succeeded! #端口开通
nc: connect to 10.246.46.15 port 3904 (tcp) failed: Connection refused
Connection to 10.246.46.15 3905 port [tcp/mupdate] succeeded! #端口开通
可以用nc 返回值来判断端口是否开通
nc -v -w 2 `hostname -i` 3901
nc: connect to 10.246.46.15 port 3901 (tcp) failed: Connection refused
echo $?
1
nc -v -w 2 `hostname -i` 3903
Connection to 10.246.46.15 3903 port [tcp/charsetmgr] succeeded!
echo $?
0
nc 聊天工具
nc 是一个TCP/IP 网络协议工具,肯定就可以进行TCP连接后续的通信,可以用nc 模拟一个最简单的聊天工具:
server端【任何一方】
[root@server ~]#nc -l 55555
shi ni
shiwo
ni hao shuming
shmming ni hao
client端【任何一方】
[root@client~]#nc 10.246.46.15 55555
shi ni
shiwo
ni hao shuming
shmming ni hao
nc 传输文件
既然nc 是TCP/IP 协议的网络连接,可以用nc 建立连接来传输文件
传输文件方把文件内容写到nc 开启的端口listen中
[root@server~]#cat rpyc.py |nc -l 33333
接收文件方,nc 连接传输文件机器的listen 端口,并把文件接收写入指定文件中
[root@client]#nc 10.246.46.15 33333>rpyc.py