Linux nc命令学习
2021-01-08 本文已影响0人
lily_佳忆
Linux 的 nc 命令是一个功能强大的网络工具,全称是netcat,用于设置路由器。
语法:
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 | 显示指令执行过程。 |
-w | <超时秒数> 设置等待连线的时间。 |
-z | 使用0输入/输出模式,只在扫描通信端口时使用。 |
实例:
1、传输文件
首先在接收端192.168.0.2上: nc -l 1234 > test.txt
然后在发送端192.168.0.1 上: nc 192.168.0.2 1234 < test.txt
2、传输目录
从 192.168.0.1拷贝yaya目录内容到192.168.0.2。
在192.168.0.2上激活监听:# nc -l 1234 | tar xzv-
192.168.0.1上运行:# tar czv- yaya | nc 192.168.0.2 1234
发送端:
# tar czv- yaya/ | nc 192.168.0.2 1234
yaya/
yaya/logs/
yaya/logs/LoanPrepare-2021-01-07-22.log
yaya/logs/LoanPrepare.log
nc -l 1234 | tar xzv-
yaya/
yaya/logs/
yaya/logs/LoanPrepare-2021-01-07-22.log
yaya/logs/LoanPrepare.log
3、简单聊天工具
在192.168.0.1上: nc -l 1234
在192.168.0.2上: nc 192.168.0.1 1234
这样,双方就可以相互交流了。
使用ctrl+C(或D)退出
注意:先运行接收端,指定一个端口为1234,文件为test.txt;再执行发送端,并且发送端必须存在同名的文件test.txt。
对于已启动的端口号,可以通过 lsof -i :port 查询监听端口的pid,然后通过kill pid关闭端口