本地客戶端為Linux系統
Linux系統中,通常可以通過traceroute來進行端口可用性探測。traceroute用于跟蹤Internet協議(IP)數據包傳送到目標地址時經過的路由,通過發送TCP數據包向目標端口進行探測,以檢測從數據包源到目標服務器的整個鏈路上相應端口的連通性情況。
安裝traceroute
sudo yum install -y traceroute 或 sudo apt install traceroute常用traceroute命令格式如下所示。
traceroute [-n] -T -p <目標端口號> <Host>-n:直接使用IP地址而非主機名稱(禁用DNS反查)。
-T:通過TCP探測。
-p:設置探測的端口號。
<目標端口號>:需要探測的端口號,比如80。
<Host>:需要探測的目標服務器地址,比如192.168.XXX.XXX。
測試示例
traceroute的示例命令和返回結果如下。
測試目標IP的22端口連通性是否正常:
traceroute -n -T -p 22 <目標IP地址>
traceroute to XXX.X.XXX.XXX (XXX.X.XXX.XXX), 30 hops max, 60 byte packets
1 X.X.X.X 0.431 ms 0.538 ms 0.702 ms
2 XX.XX.XXX.XXX 0.887 ms 1.030 ms XX.XX.XXX.XXX 1.309 ms
3 XX.XX.XXX.XXX 0.303 ms 0.390 ms XX.XX.XXX.XXX 0.423 ms
4 XX.XX.XXX.XXX 1.120 ms XXX.XXX.XXX.XXX 0.340 ms 0.540 ms
5 XX.XXX.XXX.XXX 1.744 ms XX.XXX.XXX.XXX 1.076 ms 1.232 ms
6 XX.XXX.XXX.XXX 1.832 ms XX.XXX.XXX.XXX 1.763 ms 63.223.XXX.XXX 1.616 ms
7 XX.XXX.XXX.XXX 2.676 ms XX.XXX.XXX.XXX 1.485 ms 1.806 ms
8 * * XXX.XX.XXX.XXX 2.437 ms
9 XXX.XX.XXX.XXX 6.856 ms * *
10 * * *
11 * * *
12 * * XXX.XXX.XXX.XXX 8.738 ms
13 XXX.XXX.XXX.XXX 8.248 ms 8.231 ms *
14 * XX.XXX.XXX.XXX 32.305 ms XX.XXX.XXX.XXX 29.877 ms
15 XX.XXX.XXX.XXX 11.950 ms XX.XXX.XXX.XXX 23.853 ms XX.XXX.XXX.XXX 29.831 ms
16 XX.XXX.XXX.XXX 11.007 ms XX.XXX.XXX.XXX 13.615 ms XX.XXX.XXX.XXX 11.956 ms
17 XX.XXX.XXX.XXX 21.578 ms XX.XXX.XXX.XXX 13.236 ms *
18 * * XXX.X.XXX.XXX 12.070 ms !X當相關端口在某一跳被阻斷,則之后各跳均不會有返回數據,據此就可以判斷出異常節點。您可以根據相應節點信息,查詢IP歸屬運營商進行問題反饋。
本地客戶端為Windowws系統
在Windows系統中,您可通過tracetcp進行端口可用性探測。tracetcp同樣通過發送TCP數據包進行鏈路探測,以分析鏈路是否存在中間節點對目標端口做了阻斷。
安裝traceroute
在WinPcap官網下載并安裝WinPcap library。
在tracetcp官網下載tracetcp。
將下載的tracetcp解壓。
進入解壓后的文件夾,把tracetcp.exe程序移動到:C:\Windows\System32 目錄下。
注意
如果程序不在系統目錄,則需要手動修改系統環境變量,以確保指令可以直接調用。
使用方法
在Windows PowerShell或cmd命令行中輸入tracetcp命令,常用tracetcp命令格式如下所示。
tracetcp <IP>:<Port><IP>:指目標服務器的IP地址或者域名。
<Port>:指需要探測的目標端口。
關于更多tracetcp參數說明,您可以通過tracetcp -?命令查看幫助。
測試示例
tracetcp的示例命令和返回結果如下。
C:\Users\Administrator>tracetcp www.daliqc.cn:80
Tracing route to 171.XXX.XXX.8 on port 80
Over a maximum of 30 hops.
1 1 ms 1 ms 1 ms 192.168.XX.X [XiaoXXXX]
2 3 ms 2 ms 2 ms 192.168.X.X [192.168.X.X]
3 11 ms 6 ms 6 ms 100.XX.X.X
4 * * 4 ms 218.XX.XXX.XXX [XXX.XXX.XX.218.broad.XX.XX.XXXXXXX.163data.com.cn]
5 * * 4 ms 182.140.220.106
6 10 ms 7 ms 7 ms 61.XXX.X.XXX [XXX.X.XXX.61.broad.XX.XX.XXXXXXX.163data.com.cn]
7 9 ms 7 ms 7 ms 118.XXX.XX.XXX
8 Destination Reached in 8 ms. Connection established to 171.XXX.XXX.8
Trace Complete.當相關端口在某一跳被阻斷,則之后各跳均不會有返回數據,據此就可以判斷出異常節點。您可以根據相應節點信息,查詢IP歸屬運營商進行問題反饋。