NETCAT(NC)工具使用

NC是什么?   

    NC是NETCAT的简写,有着网络界的瑞士军刀美誉。因为他短小精悍,功能实用,被设计为一个简单,可靠的网络工具。

NC的作用

(1)传输文本信息

(2)传输文件/目录

(3)加密传输文件

(4)远程控制/木马

(5)加密传输文件

(6)流媒体服务器

(7)端口扫描

(8)远程克隆硬盘

 

NC常用的参数

  -h 帮助信息

   -l 监听模式

  -n 指定数字的IP地址,不会进行DNS解析

  -p 指定监听的本地端口

  -u UDP模式

  -v 显示详细的信息

  -i secs延迟时间 

 -w secs 超时时间 

 -z  表示扫描时不发送任何数据包

-q 限制会话的次数 (到达次数后自动关闭会话,用于证明数据传输完成)

前期准备

准备两台机器,用于测试nc命令方法

主机A :10.1.1.1

主机B:10.1.1.2

NC传输文本信息

 利用NC可以实现聊天,原理也十分简单,首先A先侦听一个端口(4444),等待B连接.。

然后主机指定主机A的IP地址以及侦听的端口(4444)。

A: nv   -lp  4444           

 B:nc -nv  10.1.1.1 4444

NC传输文件

传输文件演示(侦听的端口接受数据)

使用NC传输文件还是比较方便的,因为不用scp和rsync那种输入密码的操作了

把A机器上的一个txt文件发送到B机器上

需要注意操作次序,receiver (A)先侦听端口,sender (B)向recevier (A)所在的机器的该端口发送数据。

步骤1,先在A机器上启动一个侦听端口4444等待B连接A,然后把数据存在1.txt中

A: nc  -lp  4444    >  1.txt    

步骤2 在B机器上往A机器的4444端口发送数据,把1.txt文件发送过去

B: nc   -nv  10.1.1.2 4444  <   1.txt

A机器接收完毕,文件大小和B机器一样,MD5值也一样。

传输文件演示(侦听的端口发送数据)

步骤1,A机器通过侦听4444端口等待B来连接A,并发送1.txt文件给B

A:nc -lp 4444 < 1.txt

步骤2,B机器连接上A机器,接受数据存在1.txt中

下面命令表示连接A机器的4444端口接受文件,并把文件保存在本目录下,文件名为1.txt

B:nc -nv 10.1.1.1 4444 > 1.txt

 

NC传输目录

传输目录演示(侦听的端口接受数据)

步骤1,A机器先启动监听,等待B机器连接A,接受数据然后通过tar解压

传输目录需要结合其他的命令,比如tar

经过测试管道后面最后必须是 - ,不能是其他的自定义的文件名

A: nc -lp 4444  |  tar -xvf - 

步骤2,B机器打包文件并连接A机器的端口,将数据发送给A

管道前面表示把music目录下的文件打包为 - 

B: tar -cvf  - music/ | nc -nv  10.1.1.1 4444 

传输目录演示(侦听的端口发送数据)

步骤1,A机器先将文件打包,然后通过管道符将数据发给侦听的4444端口

A:   tar -cvf  - music/ | nc -lp 4444

步骤2,B连接A机器的4444端口接受数据

B: nc -nv  10.1.1.1 4444   |  tar -xvf -

 

NC流媒体服务

流媒体服务演示(侦听的端口发送数据)

步骤1,A机器先查看1.mp4,然后通过管道符把数据发给侦听4444端口

A:cat 1.mp4 | nc -lp 4444

步骤2,B机器连接A机器侦听的端口,把接受的数据通过管道符发给mplayer播放

B: nc -nv 10.1.1.1 4444 | mplayer -vo x11 -cache 3000 -

流媒体服务演示(侦听的端口接受数据)

步骤1,A机器先侦听4444端口,然后通过管道符把接收的数据发给mplayer播放

A: nc -lp 4444 | mplayer -vo x11 -cache 3000 -

步骤2,B机器先查看1.mp4 然后通过管道符把数据通过连接A机器4444端口发送给A数据

B:cat 1.mp4 | nc -nv 10.1.1.1 4444 

NC端口扫描

UDP的扫描过程比较慢,可能1秒一个端口,下面表示扫描A机器1-024端口。

nc -nvz 10.1.1.1 1-65535 (默认扫描TCP端口)

nc -nvzu  10.1.1.1 1-1024 (扫描UDP端口)

NC远程克隆硬盘

远程克隆硬盘演示(侦听的端口发送数据)

步骤1,A机器将硬盘的数据通过管道符发给侦听的4444端口

A:dd if=/dev/sda | nc -lp 4444  

步骤2,B机器连接A机器的4444端口获取数据

B:nc -nv 10.1.1.1 4444 | dd of=/dev/sda

远程克隆硬盘演示(侦听的端口接受数据)

步骤1,A机器先侦听的4444端口,将接受的数据放在sda硬盘上

A: nc -lp 4444 | dd of=/dev/sda

步骤2,B机器将硬盘的数据通过连接A机器的4444端口发送给A数据

B:dd if=/dev/sda | nc -nv 10.1.1.1 4444

适用于远程电子取证,可以将目标服务器硬盘远程复制,或者内存。

 

 

 

 

 

 

 

 

 

 

 

 

 

    

 

 

上一篇:内网渗透之——内网转发


下一篇:Penetration Test - Selecting_Pen_Testing_Tools(8)