本文主要介紹使用最頻繁的三個(gè)端口檢測工具,并區(qū)分各自的優(yōu)缺點(diǎn),以達(dá)到不同的排查方向選擇最適合的工具,便于我們更快的定位網(wǎng)絡(luò)問題。
Telnet
- Telnet協(xié)議是TCP/IP協(xié)議族的其中之一,是Internet遠(yuǎn)程登錄服務(wù)的標(biāo)準(zhǔn)協(xié)議和主要方式,常用于網(wǎng)頁服務(wù)器的遠(yuǎn)程控制,可供使用者在本地主機(jī)運(yùn)行遠(yuǎn)程主機(jī)上的工作,最常用來檢查端口是否正常開啟、且是否能正常連接的工具.
使用方法
telnet <ip> <port>
注意:
- 使用
telnet如果連接成功之后,不能使用常規(guī)的命令ctrl + C來退出,需要使用逃脫符ctrl + ],然后quit退出。
[root@master tmp]# telnet 10.96.0.106 8080
Trying 10.96.0.106...
Connected to 10.96.0.106.
Escape character is '^]'.
^]
telnet> quit
Connection closed.
Nmap
- NMAP(Network Mapper)是一款開放源代碼的網(wǎng)絡(luò)探測和安全審核的工具。它的設(shè)計(jì)目標(biāo)是快速地掃描大型網(wǎng)絡(luò).
使用方法
1.簡單掃描
- nmap默認(rèn)發(fā)送一個(gè)ARP的PING數(shù)據(jù)包,來探測目標(biāo)主機(jī)1-10000范圍內(nèi)所開放的所有端口
例子: nmap 172.16.188.16
[root@master tmp]# nmap 172.16.188.16
Starting Nmap 6.40 ( http://nmap.org ) at 2021-06-09 14:20 CST
Nmap scan report for 172.16.188.16
Host is up (0.000015s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
22/tcp open ssh
111/tcp open rpcbind
2049/tcp open nfs
Nmap done: 1 IP address (1 host up) scanned in 1.63 seconds
2.指定具體端口、端口范圍
[root@master tmp]# nmap 172.16.188.16 -p30003
Starting Nmap 6.40 ( http://nmap.org ) at 2021-06-09 14:26 CST
Nmap scan report for 172.16.188.16
Host is up.
PORT STATE SERVICE
30003/tcp filtered unknown
Nmap done: 1 IP address (1 host up) scanned in 2.06 seconds
[root@master tmp]# nmap 172.16.188.16 -p1000-65535
Starting Nmap 6.40 ( http://nmap.org ) at 2021-06-09 14:21 CST
Nmap scan report for 172.16.188.16
Host is up (0.000022s latency).
Not shown: 64522 closed ports
PORT STATE SERVICE
2049/tcp open nfs
2379/tcp open unknown
2380/tcp open unknown
6443/tcp open unknown
10250/tcp open unknown
10251/tcp open unknown
10252/tcp open unknown
10255/tcp open unknown
20048/tcp open unknown
29999/tcp open unknown
30003/tcp filtered unknown
31375/tcp open unknown
41730/tcp open unknown
49022/tcp open unknown
Nmap done: 1 IP address (1 host up) scanned in 7.28 seconds
當(dāng)然nmap的功能遠(yuǎn)遠(yuǎn)不止這些,感興趣的可以自己去搜索學(xué)習(xí),這里只列出和端口檢測相關(guān)的部分使用方法。
Nc
- Netcat 號(hào)稱 TCP/IP 的瑞士軍刀并非浪得虛名,以體積?。蓤?zhí)行 200KB)功能靈活而著稱,在各大發(fā)行版中都默認(rèn)安裝,你可以用它來做很多網(wǎng)絡(luò)相關(guān)的工作,熟練使用它可以不依靠其他工具做一些很有用的事情
使用方法
[root@master tmp]# nc -vz 172.16.188.16 30003 v:詳細(xì)顯示 z:不發(fā)送數(shù)據(jù)
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 172.16.188.16:30003.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
最常見使用場景
假設(shè)有一種需求,我們需要設(shè)置安全策略禁止所有端口,僅開放8080,如何驗(yàn)證我們的策略準(zhǔn)確性?一種方法就是安裝一個(gè)服務(wù),修改端口為8080然后使用telnet、curl等命令進(jìn)行測試,當(dāng)然,這樣的代價(jià)也比較大。
- 使用nc很簡單啟動(dòng)一個(gè)端口監(jiān)聽,在另一臺(tái)服務(wù)器連接,從而輕易的驗(yàn)證我們設(shè)置的一些安全策略是否成功與可行
測試主機(jī)A:
nc -l -p 8080
這樣就監(jiān)聽了8080端口,使用B主機(jī)連接過去:
nc 192.168.0.1 8080
兩邊直接可以進(jìn)行對(duì)話,一端輸入什么,另一邊都會(huì)顯示,若要中斷,直接ctrl+c即可
:small_orange_diamond: 三種工具總結(jié)
| 工具類型 | 用途 | 工具大小 | 是否支持端口段檢測 | 是否顯示端口狀態(tài) |
|---|---|---|---|---|
| Telnet | 網(wǎng)絡(luò)監(jiān)測 | 66K | :heavy_multiplication_x: | :heavy_multiplication_x: |
| Nmap | 網(wǎng)絡(luò)監(jiān)測 | 3.9MB | :heavy_check_mark: | :heavy_check_mark: |
| Nc | 網(wǎng)絡(luò)監(jiān)測 | 200K | :heavy_check_mark: | :heavy_multiplication_x: |