2021-05-12 14:32:11
在 Wireshark 中過濾封包
介紹
封包過濾可讓你專注於你感興趣的確定資料集。如你所見,Wireshark 預設會抓取所有封包。這可能會妨礙你尋找具體的資料。 Wireshark 提供了兩個功能強大的過濾工??具,讓你簡單而無痛地獲得精確的資料。
Wireshark 可以通過兩種方式過濾封包。它可以通過只收集某些封包來過濾,或者在抓取封包後進行過濾。當然,這些可以彼此結合使用,並且它們各自的用處取決於收集的資料和資訊的多少。
布林表示式和比較運算子
Wireshark 有很多很棒的內建過濾器。當開始輸入任何一個過濾器欄位時,你將看到它們會自動補完。這些過濾器大多數對應於使用者對封包的常見分組方式,比如僅過濾 HTTP 請求就是一個很好的例子。
對於其他的,Wireshark 使用布林表示式和/或比較運算子。如果你曾經做過任何程式設計,你應該熟悉布林表示式。他們是使用 and
、or
、not
來驗證宣告或表示式的真假。比較運算子要簡單得多,它們只是確定兩件或更多件事情是否彼此相等、大於或小於。
過濾抓包
在深入自定義抓包過濾器之前,請先檢視 Wireshark 已經內建的內容。單擊頂部選單上的 “Capture” 索引標籤,然後點選 “Options”。可用介面下面是可以編寫抓包過濾器的行。直接移到左邊一個標有 “Capture Filter” 的按鈕上。點選它,你將看到一個新的對話方塊,其中包含內建的抓包過濾器列表。看看裡面有些什麼。
Wireshark dialog for creating a capture filter
在對話方塊的底部,有一個用於建立並儲存抓包過濾器的表單。按左邊的 “New” 按鈕。它將建立一個填充有預設資料的新的抓包過濾器。要儲存新的過濾器,只需將實際需要的名稱和表示式替換原來的預設值,然後單擊“Ok”。過濾器將被儲存並應用。使用此工具,你可以編寫並儲存多個不同的過濾器,以便它們將來可以再次使用。
抓包有自己的過濾語法。對於比較,它不使用等於號,並使用 >
和 <
來用於大於或小於。對於布林值來說,它使用 and
、or
和 not
。
例如,如果你只想監聽 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 可以讓你有效監控網路流量。熟悉可以使用的選項並習慣你可以建立過濾器的強大表示式需要一些時間。然而一旦你學會了,你將能夠快速收集和查詢你要的網路資料,而無需梳理長長的封包或進行大量的工作。
Ubuntu 13.10 安裝 Wireshark http://www.linuxidc.com/Linux/2015-08/121326.htm
網路抓包工具Wireshark的簡單使用 http://www.linuxidc.com/Linux/2013-05/84174.htm
Ubuntu 12.04 下安裝Wireshark http://www.linuxidc.com/Linux/2012-06/63582.htm
Linux中從普通使用者啟動Wireshark抓包 http://www.linuxidc.com/Linux/2012-06/63580.htm
Linux下安裝和執行Wireshark http://www.linuxidc.com/Linux/2014-09/106522.htm
via: https://linuxconfig.org/filtering-packets-in-wireshark-on-kali-linux
作者:Nick Congleton 譯者:geekpi 校對:wxy
本文永久更新連結地址:http://www.linuxidc.com/Linux/2017-08/146403.htm
相關文章