netcat或者是nc工具被称为网络上的瑞士军刀,因此netcat也有各个版本出现在各个系统中,而在CentOS 7 开始netcat也被整合到namp项目中。当然如果是开源系统中,如Ubuntu或Linux系统中则可以通过apt或yum来进行安装,在DOS系统下可以通过下载nc for windows获取到二进制版的netcat。因为netcat工具实际上可以通过tcp、udp或者是socket等等的方式在两台主机之间建立链接,然后通过链接读取数据流,而在接收传输数据流的过程中可以任意发挥你的想象,因此它的功能十分强大,在这里就简单的介绍说明一下。
先说明下nc中比较常用的参数说明:
-4 : 强制nc使用ipv4
-6 : 强制nc使用ipv6
-D : 使用socket的方式
-d : daemon(后台)运行,就可以配置成服务
-l : 监听模式,如果没有特别指定后面常常隐式使用-p参数
-n : 使用ip的,而不使用域名
-p : 使用本地主机的端口,默认是tcp协议的端口
-r : 任意指定本地及远程端口
-s : 设置本地主机送出数据包的IP地址,主机上有多个IP时指定绑定的IP
-U : 使用Unix的socket
-u : 使用udp协议
-v : 详细输出
-z : 将输入输出关掉,即不进行交互,用于扫描时,注意在nmap的版本下没有这个参数
-w : 设置连接超时时间,单位秒
使用也很简单,可以通过简单的测试下:
1、测试2台主机数据流是否能通信(模拟Clint/Server模型)