如何使用 Nmap 進行 Traceroute 發現網絡路徑

如何使用 Nmap 進行 Traceroute 發現網絡路徑

Traceroute(如果您生活在 Windows 世界中,則為 tracert)與 ping 一起是最常用的網絡故障排除工具之一。顧名思義,traceroute 將跟踪從一台計算機或聯網設備到另一台計算機或網絡連接設備的路由。這是一個非常有用的工具,不僅可以測試與主機的連接,還可以揭示很多關於到達那裡的路徑以及可能困擾它的一些問題。雖然 traceroute 是一個很好的工具,但它也是一個相當有限的工具,除了跟踪路由什麼都不做。另一方面,來自 Linux 世界的另一個眾所周知的實用程序 Nmap(儘管不是那麼多)提供了一種跟踪到主機的路由的方法,但它也提供了許多額外的功能。事實上,Nmap 的主要用途是發現網絡和掃描端口。今天,我們來看看使用 Nmap 進行跟踪路由。

在我們真正解釋如何使用 Nmap 進行 traceroute 之前,我們將首先介紹 traceroute 實用程序。了解它是什麼,但更重要的是,了解它的工作原理將幫助您更好地了解 Nmap 如何執行相同類型的任務。接下來,我們將簡要介紹 Nmap 實用程序,討論它是什麼、它來自何處以及它的用途。接下來我們將討論如何使用 Nmap 進行跟踪路由,並解釋 Nmap 實際如何執行跟踪。您會發現它與 traceroute 的方法完全不同。最後,我們將簡要介紹一些可用於跟踪兩個設備之間路由的其他工具。正如您將看到的,有很多可用的選項。

關於跟踪路由

維基百科對traceroute的定義非常明確:“Traceroute是一種計算機網絡診斷工具,用於顯示路由(路徑)並測量數據包跨互聯網協議(IP)網絡的傳輸延遲”。儘管這種描述很好,但它並沒有詳細說明它具體是什麼以及它是如何工作的。讓我們解釋一下。Traceroute 會告訴您位於您的計算機和遠程計算機之間的每個路由器的 IP 地址。但這還不是全部,traceroute 還會報告每個路由器之間的網絡延遲。

Traceroute 是一個非常古老的工具。第一個版本於 1987 年發布。這是 30 多年前;計算機時代的永恆。它也是一種非常常見的工具。它首先在 Unix 操作系統上引入,現在出現在每個類 Unix 操作系統上,包括 Linux 和 Mac OS。它甚至最終被移植到 Windows 平台,在那裡它被重命名為 tracert,因為 Windows 中文件名的原始 8 個字符限制。

Traceroute 是每個網絡管理員都應該了解和使用的工具。不幸的是,它的許多用戶並不完全了解它的工作原理,因此可能會遇到該實用程序的一些陷阱。例如,路徑可能與流量不對稱,而採取與流量不同的路線,工具將看不到它。

Traceroute 的操作

首先,有幾個先決條件。互聯網——或任何 IP 網絡,就此而言——是由互連的路由器組成的。路由器相互通信,交換有關它們知道如何到達的網絡的信息。他們使用此信息來構建路由表。每當數據包到達路由器時,它都會在其路由表中查找目的地,然後繼續將其發送到路徑上的下一個路由器。路由器只知道下一個路由器,不知道完整的路徑。它沒有必要。

為了限制因路由跳數過多而導致的傳播延遲,每個數據包的報頭都包含一個稱為 TTL 或生存時間的數據字段。這是一個真正的誤稱,因為 TTL 的值與時間無關,而與距離有關。當數據包離開其源時,TTL 設置為 32。從那時起,沿著到達目的地的路徑處理它的每個路由器在路由數據包之前將 TTL 遞減 1。當 TTL 值達到零時,路由器不會路由數據包,而是將 ICMP“超時”消息返回到數據包的來源。

如何使用 Nmap 進行 Traceroute 發現網絡路徑

Traceroute 利用這個錯誤檢測和報告系統來完成它的壯舉。Traceroute 將首先向目的地發送一個 TTL 設置為 1 的數據包。路徑上的第一個路由器將遞減 TTL 並返回 Time Exceeded 消息,允許 traceroute 了解第一個路由器或躍點的 IP 地址,正如它經常提到的那樣。Traceroute 然後將發送另一個 TTL 設置為 2 的數據包,並了解第二個躍點。它將繼續這樣做,每次遞增 TTL,直到它最終從目的地得到響應,告訴它已經到達。

Traceroute 通常還會測量獲得每個連續響應所需的時間,從而允許它為每個躍點構建一個響應時間表。它通常還會對每個躍點的 IP 地址進行 DNS 查找,以在其結果中顯示每個主機的 FQDN,而不僅僅是它們的 IP 地址。

Traceroute 的缺點

對於前面的解釋,您可能已經想到,由於其運行方式,traceroute 只會向您顯示通往目的地的路徑。但是,它無法發現返迴路徑。這可能是一個問題,尤其是在返迴路徑以某種方式延遲的情況下。Traceroute 測量獲得每個響應所需的時間,但它無法知道在前往目的地的途中或返回途中是否遇到任何延遲,從而可能會提供誤導性結果。

在多個主機上進行負載平衡的目的地也存在潛在問題。沒有什麼可以保證 traceroute 用戶將每個連續的數據包發送到同一個負載平衡的主機。如果兩個主機位於不同的位置,這可能會導致結果不准確。

最後,出於明顯的安全原因,一些路由器被配置為不響應 traceroute 使用的請求類型。這不會阻止 traceroute 運行,實用程序將簡單地忽略這些躍點並將它們報告為無法訪問。但是,一些更高級的工具(例如 Nmap)可以使用不同類型的數據包進行路徑發現,從而降低無響應躍點的風險。

介紹 Nmap

Nmap 代表“網絡映射器”,是一種用於網絡探索和安全審計的免費開源實用程序。它旨在快速掃描大型網絡,但它也適用於單個主機。Nmap 以新穎的方式使用原始 IP 數據包來確定網絡上可用的主機、這些主機提供的服務(應用程序名稱和版本)、它們運行的操作系統(和操作系統版本)、數據包過濾器/防火牆的類型正在使用中,以及其他數十種特性。Nmap 主要用於安全審計,但許多系統和網絡管理員將其用於日常任務,例如網絡庫存、管理服務升級計劃以及監控主機或服務正常運行時間。

以下是 Nmap 可用於的所有內容的概述:

  • 主機發現
  • 端口發現/枚舉
  • 服務發現
  • 操作系統版本檢測
  • 硬件 (MAC) 地址檢測
  • 服務版本檢測
  • 漏洞/漏洞利用檢測,使用 Nmap 腳本 (NSE)
  • 網絡路徑發現(traceroute)

Nmap 由 Gordon Lyon (AKA Fyodor Vaskovich) 創建,最初在 GNU 公共許可證 (GPL) 下分發。由於對許可的某些條款不滿意,作者最終在他們認為 GPL 不清楚或缺乏的地方添加了對許可的澄清和具體解釋。

使用 Nmap 進行跟踪路由

使用 Nmap 執行 traceroute 非常簡單。您所要做的就是在命令中添加 –traceroute 選項。例如:

nmap 64.13.134.52 --traceroute

–traceroute 選項可與大多數類型的 Nmap 掃描一起使用,但連接掃描 (-sT) 和空閒掃描 (-sI) 除外。跟踪是在掃描後使用從掃描結果中收集的信息來執行的,以確定最有可能到達目標的端口和協議。所有跟踪都使用 Nmap 的動態時序模型並並行執行。

與上面描述的原始 traceroute 實用程序相反,Nmap 的 traceroute 以高 TTL 開始,然後遞減它直到它達到零。向後執行(與 traceroute 相比)讓 Nmap 使用巧妙的緩存算法來加速對多個主機的跟踪。根據網絡狀況,Nmap 平均每台主機少發送 5 到 10 個數據包。

您可能想嘗試的其他一些跟踪路由工具

Traceroute(或 tracert)和 Nmap 不是可用於跟踪網絡路徑的唯一工具。事實上,許多工具都可以從不同的供應商處獲得。有些人聲稱做得更快,有些人會在其他人失敗的情況下通過使用不同的端口和數據包類型來完成他們的工作。讓我們回顧一下我們能找到的一些最好的 traceroute 工具。它將讓您了解可用的內容。

我們列表中的最後兩個工具是在線工具。它們本質上執行與任何跟踪路由相同類型的測試,但它們是從 Internet 上的源頭進行的。大多數此類服務讓您選擇始發點,其中最好的服務在多個國家/地區提供選項。它們的主要用途是確定網站用戶如何訪問您的網站。

1.來自 SolarWinds 的 Traceroute NG(免費下載)

SolarWinds在網絡管理工具領域是家喻戶曉的名字。該公司從其旗艦產品Network Performance Monitor開始製作一些最好的監控工具,這是一個完整的網絡監控解決方案。SolarWinds在製作滿足網絡管理員特定需求的出色免費工具方面也享有盛譽。Traceroute NG就是這樣一種工具。

Traceroute NG利用SolarWinds Netpath技術提供連續的 TCP 和 ICMP 跟踪。它聲稱比其他 traceroute 實用程序更快,並且可以在幾秒鐘內返回結果。當然,這主要取決於網絡。

如何使用 Nmap 進行 Traceroute 發現網絡路徑

但是Traceroute NG不僅提高了 traceroute 的速度。它還返回相當多的信息,讓您更深入地了解情況。對於每一跳,該工具將使用 ping 返回數據包丟失百分比、當前和平均響應時間以及延遲條形圖。同樣重要的是,Traceroute NG 將使用反向 DNS 查找來查找和顯示每個躍點的完全限定域名或 FQDN。

Traceroute NG 的另一個重要功能是自動檢測路徑變化。如果給定主機有多個路徑,該工具將找出並單獨顯示每個路徑。這在對負載平衡環境進行故障排除時非常有用。該工具還可讓您選擇使用 TCP 或 ICMP 數據包執行測試。例如,如果路徑上的某些設備阻止 ICMP,這會很有用。最後但並非最不重要的是,此工具會將其測試結果寫入 .txt 日誌文件。

Traceroute NG僅在 Windows 上運行,但從表面上看,它並不是真正的 Windows 應用程序。雖然它確實在 Windows 操作系統下運行並顯示在一個窗口中,但它主要是一個基於文本的工具。但話又說回來,GUI 會增加工具的實用性嗎?可能不是。

該工具以 .zip 文件形式下載,無需安裝,但它依賴於 Winpcap,如果您的計算機上尚未安裝它,則必須安裝該工具。然而,Traceroute NG會在啟動時檢測到它的缺失,並會自動啟動包含在 .zip 文件中的 Winpcap 安裝程序。

2.打開Visual Traceroute

如果您追求的是真正的基於 GUI 的 traceroute 工具,那麼Open Visual Traceroute可能正是您所需要的。該工具可用於 Windows、大多數 Linux 版本或 Mac OS,簡直太棒了。為了讓事情變得更好,該工具是免費和開源的,在 LGPL V3 許可下發布。

如何使用 Nmap 進行 Traceroute 發現網絡路徑

該軟件的主要組件是Visual Traceroute本身。它是一種基於 GUI 的可視化實用程序,可讓您在世界 3D 地圖(或 2D,如果您願意)上查看數據從您的計算機到目標主機的路徑。地圖可以隨意縮放和滾動,提供您可能想要的任何級別的詳細信息。

Open Visual Traceroute還附帶了更多工具,使其成為更有用的產品。首先,有一個“數據包嗅探器”。不過,它不是像 Wireshark 那樣的數據包嗅探器。它的目的僅僅是讓您查看從本地系統到 Internet 來回發送的數據。還有一個 Whois 功能,可以從 Internet 中提取有關域名的信息。

3. MTR (My Traceroute)

MTR最初是由一個叫 Mike 的人開發的,這個縮寫代表Mike's Traceroute。其他人已經接管並將其重命名為My Traceroute,但它仍然是相同的產品。該軟件自 1997 年以來一直存在。如果它的壽命證明了它的質量,那麼這應該是一個相當不錯的工具。

如何使用 Nmap 進行 Traceroute 發現網絡路徑

確實如此。在功能上,它與上面評論的Traceroute NG幾乎相同——或者至少非常相似。兩者之間的主要區別在於,前者是 Windows 應用程序,而MTR在 Linux 上運行,可以與 GUI 或命令行一起使用。

具體而言,MTR在一個網絡診斷工具中結合了 traceroute 和 ping 的功能。當您運行該軟件時,它首先像 traceroute 一樣運行,以了解到指定主機的網絡路徑。一旦它知道路徑,該工具就可以走得更遠。它將向每一跳發送一系列 ICMP ECHO 請求,以測量到每個路由器的鏈路質量。這樣做時,它會在屏幕上顯示測量的統計數據。事實上,它將它打印到標準輸出,這意味著它可以被重定向到一個文件。

4. Monitis Online Visual Trace Route Tool(在線工具)

Monitis是一家TeamViewer公司,該公司製作了著名的網站性能監控平台。基於雲的虛擬服務將允許您隨時隨地監控您的網站、服務器、應用程序等。擁有近 25 萬用戶,這是一個相當受歡迎的平台。

與許多其他供應商一樣,Monitis在其網站上提供了一些免費工具。該在線可視化跟踪路由,儘管不同尋常的拼寫,正是它說,這是。它將跟踪Monitis的服務器和您指定的主機之間的路線,並將其繪製在世界地圖上。不幸的是,地圖顯示很少包括所有躍點。這是正常的,因為該工具將無法對每個躍點進行地理定位,而且某些 hos 根本不會響應。任何此類工具都是如此,而不僅僅是這個工具。

如何使用 Nmap 進行 Traceroute 發現網絡路徑

如果向下滾動屏幕,您會看到該工具還以表格形式顯示信息,很像傳統的 traceroute 工具。您可能還注意到,在表格顯示的頂部,有三個標籤,分別標記為美國、歐洲和亞太地區。您可能會認為單擊選項卡會從位於這三個地理區域的不同來源運行測試,但查看結果,情況似乎並非如此。表格和地圖顯示都從一個選項卡更改為另一個選項卡,但我無法弄清楚它們是如何操作的。

5. G-Suite.Tools Visual Traceroute(在線工具)

不要讓自己被它的名字所迷惑,G-Suite.Tools與 Google 沒有任何關係。該網站提供了一些有用的網絡和 Internet 工具。其中包括一個可視化 traceroute 工具。使用它非常簡單。您只需輸入 IP 地址或 FQDN,然後單擊 TRACE 按鈕。很快,頁面上的小地圖將直觀地顯示指定主機的路徑。

如何使用 Nmap 進行 Traceroute 發現網絡路徑

像大多數其他類似工具一樣,有一個表格可用。它顯示 IP 地址和 FQDN(可解析時)以及到每個躍點的累積往返時間。我們特別喜歡這個工具的一件事——它特別適合新手——是可以在頁面上找到的關於 traceroute 過程的豐富信息。

當您在那裡時,G-Suite.Tools有一些您可能想要使用的其他工具。每個都可以從頁面頂部的功能區菜單輕鬆訪問。有 DNS 查找、Whois 查找、ping、我的 IP 地址、IP 地址位置以及驗證電子郵件地址操作的工具。


6 個跟踪性能的最佳網絡管理工具

6 個跟踪性能的最佳網絡管理工具

網絡管理軟件市場非常擁擠。按照我們推薦的最佳網絡管理工具來縮短您的搜索。

10 個最佳 Ping 掃描工具,讓您了解更多有關網絡的信息

10 個最佳 Ping 掃描工具,讓您了解更多有關網絡的信息

Ping 掃描可以通過多種方式為您帶來好處。請繼續閱讀,我們將討論如何操作並介紹您能找到的 10 種最佳 Ping 掃描工具。

6 個最佳網站監控工具

6 個最佳網站監控工具

網站很重要,必須不斷密切監控以獲得足夠的性能。以下是一些用於監控網站的最佳工具。

2022 年開發團隊最佳軟件部署工具

2022 年開發團隊最佳軟件部署工具

以下是一些最好的軟件部署工具,可以減輕管理任意數量機器的痛苦

HIPAA 合規檢查表和使用工具

HIPAA 合規檢查表和使用工具

如果您從事健康行業或以某種方式參與該行業的 IT,您很有可能聽說過 HIPAA。健康保險的便攜性

2021 年審查的最佳免費 sFlow 收集器和分析器

2021 年審查的最佳免費 sFlow 收集器和分析器

sFlow 是一種內置於眾多網絡設備中的流分析協議。我們回顧了前五名的最佳免費 sFlow 收集器和分析器。

2021 年最佳無代理基礎設施監控工具和軟件

2021 年最佳無代理基礎設施監控工具和軟件

為了幫助您選擇合適的工具,我們引入了最好的無代理基礎設施監控工具,並讓您快速查看每個工具。

在 Linux 上監控帶寬:2021 年排名前 5 的工具

在 Linux 上監控帶寬:2021 年排名前 5 的工具

隨著 Linux 在數據中心變得越來越流行,他們正在研究 Linux 上的帶寬監控,同時也在審查最佳工具。

SolarWinds Mail Assure – 2021 年回顧

SolarWinds Mail Assure – 2021 年回顧

電子郵件安全是託管服務提供商的一項重要任務。正在審查 SolarWinds Mail Assure,這是為此目的的最佳工具之一。

Windows PowerShell 命令備忘單 - 您需要的終極指南

Windows PowerShell 命令備忘單 - 您需要的終極指南

如果您是 Windows 高級用戶,您可能知道並了解如何在您的 PC 上執行各種操作可以有不止一種方法和