本文主要介紹使用最頻繁的三個端口檢測工具,並區分各自的優缺點,以達到不同的排查方向選擇最適合的工具,便於我們更快的定位網絡問題。
Telnet
- Telnet協議是TCP/IP協議族的其中之一,是Internet遠程登錄服務的標準協議和主要方式,常用於網頁服務器的遠程控制,可供使用者在本地主機運行遠程主機上的工作,最常用來檢查端口是否正常開啓、且是否能正常連接的工具.
使用方法
telnet <ip> <port>
注意:
- 使用
telnet
如果連接成功之後,不能使用常規的命令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)是一款開放源代碼的網絡探測和安全審覈的工具。它的設計目標是快速地掃描大型網絡.
使用方法
1.簡單掃描
- nmap默認發送一個ARP的PING數據包,來探測目標主機1-10000範圍內所開放的所有端口
例子: 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
當然nmap的功能遠遠不止這些,感興趣的可以自己去搜索學習,這裏只列出和端口檢測相關的部分使用方法。
Nc
- Netcat 號稱 TCP/IP 的瑞士軍刀並非浪得虛名,以體積小(可執行 200KB)功能靈活而著稱,在各大發行版中都默認安裝,你可以用它來做很多網絡相關的工作,熟練使用它可以不依靠其他工具做一些很有用的事情
使用方法
[root@master tmp]# nc -vz 172.16.188.16 30003 v:詳細顯示 z:不發送數據
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.
最常見使用場景
假設有一種需求,我們需要設置安全策略禁止所有端口,僅開放8080,如何驗證我們的策略準確性?一種方法就是安裝一個服務,修改端口爲8080然後使用telnet、curl等命令進行測試,當然,這樣的代價也比較大。
- 使用nc很簡單啓動一個端口監聽,在另一臺服務器連接,從而輕易的驗證我們設置的一些安全策略是否成功與可行
測試主機A:
nc -l -p 8080
這樣就監聽了8080端口,使用B主機連接過去:
nc 192.168.0.1 8080
兩邊直接可以進行對話,一端輸入什麼,另一邊都會顯示,若要中斷,直接ctrl+c即可
:small_orange_diamond: 三種工具總結
工具類型 | 用途 | 工具大小 | 是否支持端口段檢測 | 是否顯示端口狀態 |
---|---|---|---|---|
Telnet | 網絡監測 | 66K | :heavy_multiplication_x: | :heavy_multiplication_x: |
Nmap | 網絡監測 | 3.9MB | :heavy_check_mark: | :heavy_check_mark: |
Nc | 網絡監測 | 200K | :heavy_check_mark: | :heavy_multiplication_x: |