参考了多位大神的blog,自己在瞎总结总结。还是有些懵逼。留个笔记,以备不时之需。若有参考拷贝之处敬请见谅!
nc/ncat 网络工具NetCat的简称,利用tcp和udp协议在网络中读取或传输数据
备注 在CentOS7中nc命令被整合到了nmap-ncat中.有部分选项不同
10.1.24.194 and 10.1.24.253
#软件版本10.1.24.194(centos6)
[root@localhost ~]# rpm -qf /usr/bin/nc
nc-1.84-24.el6.x86_64
[root@localhost ~]# rpm -qf /usr/bin/ncat
nmap-5.51-6.el6.x86_64
#软件版本10.1.24.194(centos7)
[root@cql ~]# rpm -qf /usr/bin/nc
nmap-ncat-6.40-7.el7.x86_64
[root@cql ~]# rpm -qf /usr/bin/ncat
nmap-ncat-6.40-7.el7.x86_64
#<1> 监听端口
[root@localhost ~]# ncat -l 8888
222
[root@cql ~]# nc 10.1.24.253 8888
222
#<2> 文件传输
将10.1.24.253上的文件123传输到10.1.24.194上
[root@localhost ~]# ncat -v -lp 8081 < 123
Ncat: Version 5.51 ( http://nmap.org/ncat )
Ncat: Listening on 0.0.0.0:8081
Ncat: Connection from 10.1.24.194:50314.
[root@cql ~]# nc -v 10.1.24.253 8081 > 123
Ncat: Version 6.40 ( http://nmap.org/ncat )
Ncat: Connected to 10.1.24.253:8081.
[root@cql ~]# ls
123 anaconda-ks.cfg bash_learn fping-4.0
#<3> 连接UDP端口(测试远程主机udp端口连通性)
[root@localhost ~]# ncat -l -u 1234
hello,word!
[root@cql html]# ncat -v -u 10.1.24.253 1234
Ncat: Version 6.40 ( http://nmap.org/ncat )
Ncat: Connected to 10.1.24.253:1234.
hello,word!
#<4> 代理端口转发
将发往本机80端口的数据转发到10.1.24.194的80端口处理
ncat -l 80 | ncat 10.1.24.194 80
上面的命令只能单向传输数据
使用mkfifo创建双向管道,让数据能够双向传输
[root@localhost ~]# mkfifo file
[root@localhost ~]# ncat -l 80 0<file | ncat 10.1.24.194 80 1>file
#<5> 拷贝文件
[root@cql ~]# ncat -v --send-only -lp 8081 < jenkins-2.89.4-1.1.noarch.rpm
Ncat: Version 6.40 ( http://nmap.org/ncat )
Ncat: Listening on :::8081
Ncat: Listening on 0.0.0.0:8081
Ncat: Connection from 10.1.24.253.
Ncat: Connection from 10.1.24.253:34834.
^C^C
--send-only表示传输完立即断开链接
[root@localhost ~]# ncat -v 10.1.24.194 8081 > jen.rpm
Ncat: Version 5.51 ( http://nmap.org/ncat )
Ncat: Connected to 10.1.24.194:8081.
^C
[root@localhost ~]# ls
anaconda-ks.cfg install.log install.log.syslog jen.rpm
#<6>控制远程主机shell
通过本机的8081端口将/bin/bash贡献出来
[root@cql ~]# ncat -v -c /bin/bash -lp 8081
Ncat: Version 6.40 ( http://nmap.org/ncat )
Ncat: Listening on :::8081
Ncat: Listening on 0.0.0.0:8081
Ncat: Connection from 10.1.24.253.
Ncat: Connection from 10.1.24.253:34835.
远程主机连接本机8081端口
[root@cql ~]# ncat -v 10.1.24.253 8081
Ncat: Version 6.40 ( http://nmap.org/ncat )
Ncat: Connected to 10.1.24.253:8081.
ls
anaconda-ks.cfg
install.log
install.log.syslog
jen.rpm