![為什麼Nmap Traceroute 這麼快?](https://rvso.com/image/1595496/%E7%82%BA%E4%BB%80%E9%BA%BCNmap%20Traceroute%20%E9%80%99%E9%BA%BC%E5%BF%AB%EF%BC%9F.png)
使用 Nmap 的追蹤路由選項僅顯示一跳且速度極快。我知道它的工作方式與traceroute不同,它嘗試猜測正確的TTL而不是從1開始。我已經重複了 10 次,RTT 始終在 0.02 - 0.03 ms 範圍內。
# nmap -Pn -T4 --traceroute xxx.xxx.xxx.xxx
Starting Nmap 6.40 ( http://nmap.org ) at 2019-06-25 12:25 PDT
Nmap scan report for xxx.xxx.xxx.xxx
Host is up (0.00013s latency).
Not shown: 991 filtered ports
PORT STATE SERVICE
<redacted>
TRACEROUTE (using port 113/tcp)
HOP RTT ADDRESS
1 0.03 ms xxx.xxx.xxx.xxx
Nmap done: 1 IP address (1 host up) scanned in 4.74 seconds
使用標準traceroute -T
顯示 8 跳。重複此動作 10 次,顯示最終 RTT 範圍在 0.77 - 1.20 毫秒之間。兩台伺服器都位於彼此相距 10 英里以內的快速專用互聯網上,但考慮到路由器處理時間,0.03 毫秒的 RTT 似乎不切實際。
答案1
您的日誌顯示 Nmap 的追蹤路由透過將 TCP 探測傳送到連接埠 113(ident 服務)來運作。我的猜測是,由於某種原因,您的伺服器的防火牆阻止了到該連接埠的傳出連接,並且它是透過偽造 TCP RST 來實現的,Nmap 將其解釋為對探測的常規回應。 (因為在大多數情況下,它確實會從最後一跳收到 TCP RST。)
與之比較traceroute --tcp=113
。
拒絕傳入的 Ident 連線是正常的。然而,對傳出連線執行相同的操作幾乎總是毫無用處。 (貨物崇拜防火牆規則?)