wiresharketh過濾二層
㈠ Wireshark過濾規則及使用方法
Wireshark是一個強大的網路分析工具,其過濾規則和使用方法有助於我們精確地篩選和分析網路數據。以下是Wireshark中常用的過濾規則及其應用實例:
1. IP過濾
通過 "ip.src eq 192.168.1.107" 或 "ip.dst eq 192.168.1.107" 來查看特定IP的數據包,Linux上的Wireshark會顯示符合規則的包。
2. 埠過濾
如 "tcp.port eq 80" 顯示TCP埠為80的包,或者 "udp.port eq 80 or tcp.port eq 2722" 顯示目標埠為80的UDP或TCP包。
3. 協議過濾
通過 "tcp" 或 "udp" 或 "arp" 等關鍵字來過濾特定協議的包,如 "!arp" 用於排除ARP包。
4. MAC過濾
如 "eth.dst == A0:00:00:04:C5:84" 過濾目標MAC地址,"eth.src eq A0:00:00:04:C5:84" 過濾源MAC地址。
5. 包長度過濾
如 "udp.length == 26" 用於過濾長度為26位元組的UDP包,"tcp.len >= 7" 指的是包含IP數據的TCP包。
6. HTTP模式過濾
"http.request.method == 'GET'" 查找GET請求,"http.request.uri == '/img/logo-e.gif'" 過濾指定URI的HTTP包。
7. TCP參數過濾
"tcp.flags.syn == 0x02" 顯示包含SYN標志的TCP包,"tcp.window_size == 0" 過濾窗口大小為0的包。
8. 包內容過濾
使用 "matches" 和 "contains" 語法,如 "udp[8:3]==20:21:22" 查找特定內容的UDP數據包。
9. 其他過濾
- DHCP: 過濾非來自DHCP伺服器的bootp包,如 "bootp.type==0x02 and not ip.src==192.168.1.1"。
- MSN: 使用 "msnms && tcp[20:3]==」USR」" 來查找命令編碼為USR的包。
通過這些過濾規則,Wireshark讓你能更有效地分析和定位網路流量中的關鍵信息。記得在使用時檢查語法的正確性,綠色的過濾框表示成功應用規則。
㈡ wireshark使用教程及過濾語法總結——血淚史的匯聚
wireshark是一款功能強大的網路封包分析軟體,適用於網路管理員、軟體測試工程師、從事socket編程的工程師等。它具備界面簡潔、操作便捷、實時顯示捕獲數據的優點,且完全開源,適用於多平台,如MS Windows、Mac OS、Linux、FreeBSD等。wireshark主要功能包括捕獲、解析網路封包並顯示詳細信息,但不具有修改封包內容或發送封包的能力。對於網路相關的工作,wireshark都是一個非常實用的工具。
使用wireshark需要具備一定的網路協議知識。軟體本身提供了豐富的過濾功能幫助用戶在大量數據中快速篩選出所需信息。過濾器分為捕捉過濾器和顯示過濾器兩種,捕捉過濾器用於控制捕獲的數據量,顯示過濾器則用於在捕獲結果中查找特定信息。過濾器的語法復雜,涉及協議、方向、地址、比較運算符等元素,通過正確使用過濾表達式可以高效地定位所需數據包。
以下是一些過濾表達式的實例,展示如何根據不同需求進行篩選:
- 查看HTTP協議的記錄:http
- 源地址或目標地址是192.168.1.102:ip.src ==192.168.1.102 or ip.dst==192.168.1.102
- 過濾目標或來源地址為00:11:22:33:44:55的數據包:eth.addr== 00:11:22:33:44:55
- 顯示目的TCP埠為3128的封包:tcp dst port 3128
- 顯示來源IP地址為10.1.1.1的封包:ip src host 10.1.1.1
- 顯示目的或來源IP地址為10.1.2.3的封包:src net 10.1.2.3/32
- 顯示來源為UDP或TCP,並且埠號在2000至2500范圍內的封包:src portrange 2000-2500
- 顯示來源IP為10.4.1.12或者來源網路為10.6.0.0/16,目的地TCP埠號在200至10000之間,並且目的位於網路 10.0.0.0/8內的所有封包:(src host 10.4.1.12 or src net 10.6.0.0/16) and tcp dst portrange 200-10000 and dst net 10.0.0.0/8
在wireshark使用中,正確設置過濾器是高效分析網路數據的關鍵。通過實踐和熟悉各種過濾表達式,可以極大地提高網路分析的效率和准確性。
㈢ wireshark常用過濾規則
可使用單個或多個過濾條件(可使用==,>=等),多個條件時使用and or進行連接
例子:ip.src ==192.168.1.107 or ip.dst ==192.168.1.107
例子:
tcp.port eq 80 // 不管埠是來源的還是目標的都顯示
tcp.port == 80
tcp.dstport == 80 // 只顯tcp協議的目標埠80tcp.srcport == 80 // 只顯tcp協議的來源埠80
過濾埠范圍tcp.port >= 1 and tcp.port <= 80
例子:
tcp udp arp icmp http smtp ftp dns等等
排除arp包,如!arp 或者 not arp
例子太以網頭過濾
eth.dst == A0:00:00:04:C5:84 // 過濾目標mac
eth.src eq A0:00:00:04:C5:84 // 過濾來源mac
例子:
udp.length == 26 這個長度是指udp本身固定長度8加上udp下面那塊數據包之和
tcp.len >= 7 指的是ip數據包(tcp下面那塊數據),不包括tcp本身
ip.len == 94 除了乙太網頭固定長度14,其它都算是ip.len,即從ip本身到最後
frame.len == 119 整個數據包長度,從eth開始到最後
例子:
http.request.method == 「GET」
http.request.method == 「POST」
http.request.uri == 「/img/logo-e.gif」
http contains 「GET」
http contains 「HTTP/1.」
tcp.flags 顯示包含TCP標志的封包。
tcp.flags.syn == 0x02 顯示包含TCP SYN標志的封包。
tcp contains "關鍵字"
9.報文
https://wiki.wireshark.org/SampleCaptures
㈣ wareshark 怎麼用mac過濾
首先我們在wireshark抓到數據包的前提下,在Filter處講解基於乙太網數據頭的MAC進行過濾的表達式寫法。首先介紹命令:eth.addr eq e0:db:55:8e:8d:dd。查詢出來乙太網頭數據內源MAC以及目的MAC為e0:db:55:8e:8d:dd的數據包。
介紹過濾表達式:eth.src eq e0:db:55:8e:8d:dd,表示查詢出來乙太網頭數據內源MAC為e0:db:55:8e:8d:dd的數據包。
介紹表達式:eth.dst eq e0:db:55:8e:8d:dd,表示查詢出來乙太網頭數據內目的MAC為e0:db:55:8e:8d:dd的數據包。
介紹表達式:eth.addr lt e0:db:55:8e:8d:dd,表示查詢出來乙太網頭數據內源MAC以及目的MAC小於e0:db:55:8e:8d:dd的數據包。
備註:在表達式處寫法支持:等於--寫法為 eq 或者==;
小於--寫法為 lt ;
大於--寫法為 gt ;
小於或等於--寫法為 le;
大於或者等於--寫法為 ge;
不等 ---寫法為 ne;
本篇實例採用了lt表示小於。
下面我們介紹居於數據包的長度進行過濾。首先介紹表達式:udp.length ==95,表示查詢出來udp協議的數據包,且數據包長度為95的數據包。
備註:此處udp數據包長度+ip頭部長度(20)+乙太網頭部(14)=整體數據包的長度。
介紹表達式:tcp.len >= 29,代表查詢出來tcp協議的數據包,且包長度大於等於29的數據包。
備註:此處tcp數據包長度+tcp頭部(20)+ip頭部(20)+乙太網頭部(14)=整體數據包長度。
介紹表達式:ip.len eq 41。表示查詢ip數據包,且包長度為41的數據包。
備注:此處ip數據包長度+乙太網頭(14)=整體數據包長度。
介紹表達式:frame.len eq 55。表示查詢出來整體包長度為55的數據包。
整體介紹包長度表達式中間eq還可換成lt(小於),le(小於等於),gt(大於),ge(大於等於),ne(不等於)。