文章来源 :入门小站
NetCat,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本。因为它短小精悍(1.84版本也不过25k,旧版本或缩减版甚至更小)、功能实用,被设计为一个简单、可靠的网络工具,可通过TCP或UDP协议传输读写数据。同时,它还是一个网络应用Debug分析器,因为它可以根据需要创建各种不同类型的网络连接。
netcat(简写是 nc) 是 linux 上非常有用的网络工具,它能通过 TCP 和 UDP 在网络中读写数据。通过配合使用其他工具和重定向,可以在脚本中以多种方式使用它。netcat 所做的就是在两台电脑之间建立链接并返回两个数据流,在这之后所能做的事就看你的想像力了。
nc
yum install -y nc
nc [-hlnruz][-g < 网关…>][-G < 指向器数目 >][-i < 延迟秒数 >][-o < 输出文件 >][-p < 通信端口 >][-s < 来源位址 >][-v…][-w < 超时秒数 >][主机名称][通信端口…]
nc -v -w 2 192.168.2.34 -z 21-24
//输出
nc: connect to 192.168.2.34 port 21 (tcp) failed: Connection refused
Connection to 192.168.2.34 22 port [tcp/ssh] succeeded!
nc: connect to 192.168.2.34 port 23 (tcp) failed: Connection refused
nc: connect to 192.168.2.34 port 24 (tcp) failed: Connection refused
在192.168.2.34上
nc -l 1234 > test.txt
在192.168.2.33上
nc 192.168.2.34 < test.txt
在192.168.2.34上
nc -l 1234
在192.168.2.33上
nc 192.168.2.34 1234
这样,双方就可以相互交流了。使用 ctrl+C(或 D)退出。
//建立从本地1234端口到host.example.com的80端口连接,5秒超时
nc -p 1234 -w 5 host.example.com 80
nc -u host.example.com 53
echo -n "GET / HTTP/1.0"r"n"r"n" | nc host.example.com 80
netcat 的 -4 和 -6 参数用来指定 IP 地址类型,分别是 IPv4 和 IPv6:
//server
nc -4 -l 2389
//client
nc -4 localhost 2389
该功能使用 -d 参数,请看下面例子:
//server side
$ nc -l 2389//client side
nc -d localhost 2389
通常情况下如果连接到服务端的客户端连接断开, 服务端进程也会退出, 如果想让服务端保持存活可以加一个
-k
的参数
//server side
$ nc -k -l 2389//client side
nc localhost 2389
server1:
[[email protected] ~]# nc -l 1234
hello!
hi!
server2:
[[email protected] ~]# nc 192.168.200.27 1234
hello!
hi!
侵权请私聊公众号删文