當前位置:編程學習大全網 - 源碼破解 - 使用tcpdump查看原始數據包

使用tcpdump查看原始數據包

盡管Snort之類的工具在篩選通過我們的網絡而來的所有內容方面做得非常出色,但有時必須要查看原始數據。為此,我們最好的工具是“ tcpdump”。

使用tcpdump的最基本方法是簡單地發出以下命令:

您可以使用-v選項獲得更多詳細信息,而-vv可以獲取更多信息。

有用的選項

假設您已登錄到要管理的遠程計算機。如果您不帶任何選項運行“ tcpdump”,則輸出將被來自您的SSH連接的數據包淹沒。為避免這種情況,只需從輸出中消除端口22:

碼:

您可以使用許多不同的端口來執行此操作:

碼:

如果要進行相反的操作,即僅監視某個端口(這對於調試網絡應用程序非常有用),則可以執行以下操作:

您還可以從網絡上的特定主機獲取數據:

如果您的計算機具有多個網絡接口,則還可以指定要收聽的網絡接口:

您還可以指定協議:

您可以在/ etc / protocols中找到協議列表。

保存輸出以備後用

在某些情況下,您可能希望將輸出重定向到文件,以便以後可以詳細研究它或使用其他程序來解析輸出。在以下示例中,您仍然可以在將輸出保存到文件時觀看輸出:

在上面的示例中,我們可以使用日期和時間來標識每個轉儲。在處理壹天中特定時間出現的問題時,這可能會派上用場。

tcpdump還可以選擇將其輸出轉儲為二進制格式,以便以後讀取。要創建壹個二進制文件:

稍後,您可以讓tcpdump使用以下命令讀取文件

您也可以使用ethereal程序打開原始轉儲並解釋它。

tcpdump為我們提供了有關往返於網絡的所有數據包的信息。

將Ethereal與tcpdump壹起使用Ethereal

Ethereal是壹種也可以用來捕獲網絡數據包的工具。安裝後,您可以打開您制作的原始轉儲文件。

查看正在發生的事情變得相當容易。您可以看到源IP和目標IP以及它是什麽類型的數據包。這很容易,然後即可對您可能遇到的網絡問題進行故障排除並分析可疑行為。只是為了增加壹則軼事,當我編寫本課並解釋自己的轉儲時,我在個人工作站上看到了壹些奇怪的活動。我幾乎每隔固定時間就查詢世界上不同IP的機器上的端口32772。我為端口32772運行了壹個特定的轉儲,如下所示:

讀取原始輸出

如您所見,即使從tcpdump讀取所謂的“人類可讀”輸出也可能有點神秘。看下面的示例,我只是從轉儲中選出壹個隨機數據包:

我們所擁有的是對 https://www.linux.org/ 的Web服務器請求。時間戳記過後,您會在主機名(即端口80)的末尾註意到.www。這將被發送到發出請求的主機 test.linux.org 的端口34365。“ P”代表TCP“ oush”功能。這意味著應該立即發送數據。在2845:3739(894)之後的數字中,2845標記第壹個數據包的八位位組的編號。數字3739是數據包發送的最後壹個字節的數字加1。數字894是發送的數據包的長度。表示“ ack 1624”的部分是“ acknowledge”的TCP術語-表示該數據包已被接受,下壹個預期的數據包編號為1624。之後,我們看到“ win 9648”發送主機正在等待窗口大小為9648個八位位組的數據包。這之後是時間戳。

現在,如果您認為難以解釋,則使用-x選項,它將在十六進制輸出中包含數據包內容。

我們可以從輸出中得知這是壹個HTTP請求。至於其余的,它不是人類可讀的,但是我們很容易知道這是壹個合法的數據包。使用這種格式的另壹個好處是,即使我們無法完全解釋此數據包的狀況,也可以將其發送給可能的人。最終,這是未經任何過濾通過網絡傳輸的原始數據。

  • 上一篇:皙荷美道專業物理美胸機構 有了解的嗎?
  • 下一篇:朱家溍的京劇情緣
  • copyright 2024編程學習大全網