一、NC簡(jiǎn)介
Netcat(簡(jiǎn)稱nc)是一個(gè)開放源代碼的網(wǎng)絡(luò)工具,可用于讀取和寫入網(wǎng)絡(luò)連接中的數(shù)據(jù),類似于Unix的cat命令。
它因其使用非常靈活的功能廣泛被用于網(wǎng)絡(luò)診斷和調(diào)試,連接到其他計(jì)算機(jī)并執(zhí)行命令或者進(jìn)行端口掃描等功能。
二、NC測(cè)試端口連通性的常見用途
在網(wǎng)絡(luò)診斷和調(diào)試中,有時(shí)需要判斷目標(biāo)主機(jī)是否開啟了某個(gè)端口,NC可以幫助我們快速測(cè)試端口的連通性,常見的用途有:
測(cè)試TCP連接是否正常 測(cè)試UDP連接是否正常 測(cè)試目標(biāo)主機(jī)的服務(wù)是否可用三、NC測(cè)試TCP連接
使用NC進(jìn)行TCP連接測(cè)試非常簡(jiǎn)單,只需要在終端命令中輸入以下命令:
nc -vz [目標(biāo)主機(jī)IP] [目標(biāo)端口號(hào)]
其中:
-v
選項(xiàng)表示打印出更詳細(xì)的連接信息
-z
選項(xiàng)表示在連接成功后立即關(guān)閉連接
代碼示例:
nc -vz 127.0.0.1 80
Connection to 127.0.0.1 80 port [tcp/http] succeeded!
解釋:
命令中指定了需要測(cè)試的主機(jī)IP地址為127.0.0.1,需要測(cè)試的端口號(hào)為80 終端輸出了“Connection to 127.0.0.1 80 port [tcp/http] succeeded!”,表明TCP連接成功四、NC測(cè)試UDP連接
使用NC進(jìn)行UDP連接測(cè)試也非常簡(jiǎn)單,只需要在終端命令中輸入以下命令:
nc -vzu [目標(biāo)主機(jī)IP] [目標(biāo)端口號(hào)]
其中:
-v
選項(xiàng)表示打印出更詳細(xì)的連接信息
-z
選項(xiàng)表示在連接成功后立即關(guān)閉連接
-u
選項(xiàng)表示使用UDP連接
代碼示例:
nc -vzu 127.0.0.1 5000
Connection to 127.0.0.1 5000 port [udp/*] succeeded!
解釋:
命令中指定了需要測(cè)試的主機(jī)IP地址為127.0.0.1,需要測(cè)試的端口號(hào)為5000 終端輸出了“Connection to 127.0.0.1 5000 port [udp/*] succeeded!”,表明UDP連接成功五、NC測(cè)試目標(biāo)主機(jī)的服務(wù)是否可用
NC可以通過向目標(biāo)主機(jī)發(fā)送特定的協(xié)議和消息,來測(cè)試目標(biāo)主機(jī)是否存在某項(xiàng)服務(wù),常見的如FTP、SMB、SSH、Telnet等。
代碼示例:
nc -zv [目標(biāo)主機(jī)IP] 22
解釋:
命令中指定了需要測(cè)試的主機(jī)IP地址為目標(biāo)主機(jī)IP,需要測(cè)試的端口號(hào)為22,通過22端口測(cè)試SSH服務(wù)是否可用 終端輸出了“SSH-2.0-OpenSSH_7.9p1 Debian-10+deb10u2”,表明目標(biāo)主機(jī)的SSH服務(wù)是可用的六、小結(jié)
NC是一個(gè)廣泛使用的網(wǎng)絡(luò)工具,它可以用于測(cè)試TCP和UDP連接是否正常,以及測(cè)試目標(biāo)主機(jī)是否存在某項(xiàng)服務(wù)。NC的使用非常靈活,可以根據(jù)具體的需求進(jìn)行選擇。