linux环境下nc命令的应用
一、安装
下载
http://vault.centos.org/6.6/os/x86_64/Packages/nc-1.84-22.el6.x86_64.rpm
rpm -iUv nc-1.84-22.el6.x86_64.rpm
nc命令是netcat命令的简称。
二、网络通信
我们希望在主机A上发送消息,在主机B上能实时看到。
主机B: 监听端口(这里选用了1234) ,主机B的IP:192.168.116.129
主机A:连接主机B的1234端口,主机A的IP:192.168.116.130
这时在主机B和主机A就建立了通信。
这时在主机A或主机B的窗口输入任何字符,都是被传输到另一台主机。
如:主机B上输入信息:
主机A上可以得到传输的字符:
同样,在主机A上输入信息:
主机B可以得到传输的字符:
这样就建立了一个类似聊天的功能。
三、文件传输
上面,我们展示了信息传输的功能,其实,我们可以把这些传输的信息存储在文件中:
依上例展示,我们只需要在主机A端的指令改成:
nc 192.168.116.129 1234 > receive.txt
这样在主机B端输入的所有的内容都可以传输至A端同时存储至receive.txt文件中(如果没有会新建)。
如果我们想把主机B端的文件传输至主机A端呢(而不是上面演示的窗口信息)?
我们可以在主机B端输入:nc -l 1234 < send.txt ,其中send.txt就是我们要传输的文件。
这时,我们就可以在主机A端,使用命令: nc 192.168.116.129 1234 > receive.txt,这样我们就把send.txt的内容传输至receive.txt中了。
四、端口扫描
比如,我想扫描本机2181-2200端口的使用情况:
nc -v 192.168.116.130 -z 2181-2200
它会列出所有的端口使用情况,下面是一部分截图。
参考文档
以上内容参考徐培成的大数据,zookeepeer视频。