netcat瑞士军刀学习笔记
AB两机互传文件
A机(接收端)
nc -lp portID > test.txt
开启自己的333端口,并将自己接收到的信息重定向到test.txt中
B机(发送端)
nc -nv IPof A portID< test.txt -q 1
重定向输入到nc中,之后发到A机的333端口
(q选项)传输完成1s后断开
反向传输(由侦听端发给连接端)
A机(发送端)
nc -lp portID < test.txt -q 1
将test.txt放到此端口,等着其他机器连接下载(一旦连接建立,文件就会传到连接方)
传输完成1s后断开
B机(接收端)
nc -nv IP of A portID > test.txt
B就会接收到A机中的test.txt
AB两机互传目录
需要将目录打包成一个压缩文件,然后再进行传输
A机(发送端)
tar -zcvf- -test/ | nc -lp portID -q 1
将当前目录中的music目录用gzip打包,使用管道符输入给nc程序,发送给侦听端(B机)
注意f选项后面要有一个-
因为,f选项要求指明打包文件的名字,但我们在使用nc进行传输的时候是没必要起名字的,因此需要使用-占位,下同
B机(接收端)
nc -lp portID | tar -zxvf-
将接收到的文件传送给tar程序,进行解包
AB两机加密传输文件
A机(接收端)
nc -lp portID | mcrypt –flush -Fbqd -a rijndael-256 -m ecb > test.txt
将接收到的文件作为输入,传给加密程序mcrypt,参数Fbqd(decode解密),加密算法rijndael-256
B机(发送端)
mcrypt –flush -Fbq -a rijndael-256 -m ecb < test.txt | nc -nv IP of A portID -q 1
参数Fbq(加密)
加密完之后重定向到test.txt作为输入传给A机
使用netcat搭建流媒体服务器
A机:(发送端)
cat 1.mp4 | nc -lp portID
将1.MP4文件放在监听端口,只要有机器连接该端口,文件就会被传到连接端
B机:(接收端)
nc -nv IP of A portID | mplayer -vo x11 -cache 3000 -
直接使用mplayer播放器打开
缓存3000字节的大小
其实和上面的套路都差不多,NC只是开启端口和监听端口而已