久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

linux中如何使用tcpdump查看原始數據包

170次閱讀
沒有評論

共計 2518 個字符,預計需要花費 7 分鐘才能閱讀完成。

這篇文章給大家分享的是有關 linux 中如何使用 tcpdump 查看原始數據包的內容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。

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

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

tcpdump

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

有用的選項

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

tcpdump not port 22

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

tcpdump not port 143 and not port 25 and not port 22

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

tcpdump port 143

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

tcpdump host hal9000

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

tcpdump -i eth2

您還可以指定協議:

tcpdump udp

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

保存輸出以備后用

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

tcpdump -l | tee tcpdump_`date +%Y%m%e-%k.%M`

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

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

tcpdump -w tcpdump_raw_`date +%Y%m%e-%k.%M`

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

tcpdump -r tcpdump_raw_YYYMMDD-H.M

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

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

將 Ethereal 與 tcpdump 一起使用 Ethereal

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

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

tcpdump port 32772 -w dump_32772

讀取原始輸出

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

17:26:22.924493 IP www.linux.org.www   test.linux.org.34365: P 2845:3739(894) ack 1624 win 9648  nop,nop,timestamp 326501459 24374272

我們所擁有的是對 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 選項,它將在十六進制輸出中包含數據包內容。

18:12:45.149977 IP www.linux.org.www   test.linux.org.34536: . 1:1449(1448) ack 487 win 6432  nop,nop,timestamp 329284215 27156244  0x0000: 4500 05dc 6a81 4000 4006 493b c0a8 0006 E...j.@.@.I;.... 0x0010: c0a8 0009 0050 86e8 8fa4 1d47 1c33 e3af .....P.....G.3.. 0x0020: 8010 1920 b4d9 0000 0101 080a 13a0 7a77 ..............zw 0x0030: 019e 5f14 4854 5450 2f31 2e31 2032 3030 .._.HTTP/1.1.200 0x0040: 204f 4b0d 0a44 6174 653a 2054 6875 2c20 .OK..Date:.Thu,. 0x0050: 3135

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

感謝各位的閱讀!關于“linux 中如何使用 tcpdump 查看原始數據包”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計2518字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 垦利县| 龙井市| 陆良县| 香港| 纳雍县| 简阳市| 和林格尔县| 保山市| 通许县| 平阳县| 房产| 门头沟区| 舟曲县| 安陆市| 繁峙县| 望城县| 万全县| 上犹县| 伊宁市| 凌海市| 日喀则市| 柘荣县| 沁阳市| 泸西县| 谢通门县| 乌拉特前旗| 上高县| 安庆市| 临沂市| 乐陵市| 江山市| 额济纳旗| 霍林郭勒市| 宝应县| 偏关县| 宜川县| 临湘市| 蒲城县| 金门县| 罗城| 巴东县|