Linux中國

在 Wireshark 中過濾數據包

介紹

數據包過濾可讓你專註於你感興趣的確定數據集。如你所見,Wireshark 默認會抓取所有數據包。這可能會妨礙你尋找具體的數據。 Wireshark 提供了兩個功能強大的過濾工​​具,讓你簡單而無痛地獲得精確的數據。

Wireshark 可以通過兩種方式過濾數據包。它可以通過只收集某些數據包來過濾,或者在抓取數據包後進行過濾。當然,這些可以彼此結合使用,並且它們各自的用處取決於收集的數據和信息的多少。

布爾表達式和比較運算符

Wireshark 有很多很棒的內置過濾器。當開始輸入任何一個過濾器欄位時,你將看到它們會自動補完。這些過濾器大多數對應於用戶對數據包的常見分組方式,比如僅過濾 HTTP 請求就是一個很好的例子。

對於其他的,Wireshark 使用布爾表達式和/或比較運算符。如果你曾經做過任何編程,你應該熟悉布爾表達式。他們是使用 andornot 來驗證聲明或表達式的真假。比較運算符要簡單得多,它們只是確定兩件或更多件事情是否彼此相等、大於或小於。

過濾抓包

在深入自定義抓包過濾器之前,請先查看 Wireshark 已經內置的內容。單擊頂部菜單上的 「Capture」 選項卡,然後點擊 「Options」。可用介面下面是可以編寫抓包過濾器的行。直接移到左邊一個標有 「Capture Filter」 的按鈕上。點擊它,你將看到一個新的對話框,其中包含內置的抓包過濾器列表。看看裡面有些什麼。

Wireshark dialog for creating a capture filter

在對話框的底部,有一個用於創建並保存抓包過濾器的表單。按左邊的 「New」 按鈕。它將創建一個填充有默認數據的新的抓包過濾器。要保存新的過濾器,只需將實際需要的名稱和表達式替換原來的默認值,然後單擊「Ok」。過濾器將被保存並應用。使用此工具,你可以編寫並保存多個不同的過濾器,以便它們將來可以再次使用。

抓包有自己的過濾語法。對於比較,它不使用等於號,並使用 >< 來用於大於或小於。對於布爾值來說,它使用 andornot

例如,如果你只想監聽 80 埠的流量,你可以使用這樣的表達式:port 80。如果你只想從特定的 IP 監聽埠 80,你可以使用 port 80 and host 192.168.1.20。如你所見,抓包過濾器有特定的關鍵字。這些關鍵字用於告訴 Wireshark 如何監控數據包以及哪一個數據是要找的。例如,host 用於查看來自 IP 的所有流量。src 用於查看源自該 IP 的流量。與之相反,dst 只監聽目標到這個 IP 的流量。要查看一組 IP 或網路上的流量,請使用 net

過濾結果

界面的底部菜單欄是專門用於過濾結果的菜單欄。此過濾器不會更改 Wireshark 收集的數據,它只允許你更輕鬆地對其進行排序。有一個文本欄位用於輸入新的過濾器表達式,並帶有一個下拉箭頭以查看以前輸入的過濾器。旁邊是一個標為 「Expression」 的按鈕,另外還有一些用於清除和保存當前表達式的按鈕。

點擊 「Expression」 按鈕。你將看到一個小窗口,其中包含多個選項。左邊一欄有大量的條目,每個都有附加的摺疊子列表。你可以用這些來過濾所有不同的協議、欄位和信息。你不可能看完所有,所以最好是大概看下。你應該注意到了一些熟悉的選項,如 HTTP、SSL 和 TCP。

Wireshark dailog for creating a results filter

子列表包含可以過濾的不同部分和請求方法。你可以看到通過 GET 和 POST 請求過濾 HTTP 請求。

你還可以在中間看到運算符列表。通過從每列中選擇條目,你可以使用此窗口創建過濾器,而不用記住 Wireshark 可以過濾的每個條目。對於過濾結果,比較運算符使用一組特定的符號。 == 用於確定是否相等。> 用於確定一件東西是否大於另一個東西,< 找出是否小一些。 >=<= 分別用於大於等於和小於等於。它們可用於確定數據包是否包含正確的值或按大小過濾。使用 == 僅過濾 HTTP GET 請求的示例如下:http.request.method == "GET"

布爾運算符基於多個條件將小的表達式串到一起。不像是抓包所使用的單詞,它使用三個基本的符號來做到這一點。&& 代表 「與」。當使用時,&& 兩邊的兩個語句都必須為真值才行,以便 Wireshark 來過濾這些包。|| 表示 「或」。只要兩個表達式任何一個為真值,它就會被過濾。如果你正在查找所有的 GET 和 POST 請求,你可以這樣使用 ||(http.request.method == "GET") || (http.request.method == "POST")! 是 「非」 運算符。它會尋找除了指定的東西之外的所有東西。例如,!http 將展示除了 HTTP 請求之外的所有東西。

總結思考

過濾 Wireshark 可以讓你有效監控網路流量。熟悉可以使用的選項並習慣你可以創建過濾器的強大表達式需要一些時間。然而一旦你學會了,你將能夠快速收集和查找你要的網路數據,而無需梳理長長的數據包或進行大量的工作。

via: https://linuxconfig.org/filtering-packets-in-wireshark-on-kali-linux

作者:Nick Congleton 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國