本文章轉自:http://blog.51cto.com/houm01/1872652
幾種條件操作符
== eq 等於 ip.addr == 192.168.0.1 ip.addr eq 192.168.0.1
!= ne 不等於 !ip.addr==192.168.0.1 ip.addr!= 192.168.0.1 ip.addr ne 192.168.0.1
> gt 大於 frame.len>64 frame.len gt 64
< lt 小於 frame.len<1500 frame.len le 1500
>= ge 不大於 frame.len >= 64
<= le 不小於 frame.len <= 1500
is present 符合某項參數,滿足某個條件,或者出現某個現象 http.response
contains 包含某個字符串 http.host contains cisco
match 某串字符匹配某個條件 http.host matches www.cicso.com
邏輯關系操作符
&& and 邏輯與 ip.src==10.0.0.1 and tcp.flags.syn=1
|| or 邏輯或 ip.addr==10.0.0.1 or ip.addr==10.0.0.2
! not 邏輯非 not arp and not icmp 除了arp和icmp之外的包
ip.addr != 192.168.0.1 這樣的表達式語法正確但是並不起作用,原因是每個IP數據包必定包含兩個IP地址,wireshark執行上邊的過濾功能時,只要發現源和目的IP有一不為192.168.0.1,就會判定條件為真,正確的應該是 !(ip.addr eq 192.168.0.1)
L2顯示過濾器
-
eth.addr eq mac-address #顯示指定mac地址的數據幀
-
eth.src eq eth.dst eq #顯示指定源和目的mac地址的數據幀
-
eth.type eq protocol type (十六進制數,格式為0xnnnn) #只顯示特定以太網類型的流量
-
arp.opcode eq value #只顯示特定類型的arp幀,arp按其所含代碼字段值,可分為arp應答幀,響應幀,rarp應答,響應幀 1=arp請求 2=arp應答 3=rarp請求 4=rarp應答
-
arp.src.hw_mac eq mac address #顯示指定mac地址的主機發出的arp幀
常用的ip顯示過濾器
-
ip.addr eq ______ ip.src eq ip.dst eq
-
ip.ttl eq value 只顯示ip包頭中ttl字段值為指定值的數據包
-
ip.len = value #只顯示指定長度的IP數據包
示例:
ip.dst eq 224.0.0.0/4 #可以加掩碼
復雜的過濾器
-
ip.src eq 10.0.0.0/24 and http.host contains "souhu" #顯示10.0.0.0/24的主機,發往域名中包含指定字符串的所有ip流量。
-
ip.addr eq 10.0.0.0/24 and http.host matches "\.com$" #顯示以.com結尾的ip流量
-
ip.src eq 10.0.0.0/24 and eth.dst eq ff:ff:ff:ff:ff:ff
TCP/UDP過濾
-
tcp.port eq 或 udp.port eq
-
tcp.src/dst port udp同理
-
tcp.analysis 可用該參數來分析重傳,重復確認,窗口大小有關的網絡問題的參照物
-
tcp.analysis.retransmission #顯示重傳的數據包
-
tcp.analysis.duplicate_ack #顯示確認多次的tcp數據包
-
tcp.analysis.zero_window #顯示零窗口通告信息的tcp數據包(tcp會話一端的主機通過此類tcp數據包,向對端主機報告:本機tcp窗口為0,請對方停止通過該會話發送數據
-
tcp.flags.syn eq 1
-
tcp.flags.reset eq 1
-
tcp.flags.fin eq 1
-
tcp.window_size_value #只顯示tcp頭部中窗口大小字段值低於指定值的數據包。可以排除與tcp窗口過小有關的性能問題,可以判定tcp參與tcp會話的網絡設備反應過慢
-
tcp.dstport eq 80 #顯示到http服務器的流量
-
ip.src eq 10.0.0.0/24 and tcp.srcport eq 80 #顯示一個段的到http的流量
-
tcp.stream eq 16 && tcp.analysis.retransmission #顯示特定TCP連接(在抓包文件中編號16的連接)發生重傳的所有tcp數據包。
追蹤流功能可以顯示某條tcp連接從建立到終止。
當分析重傳,重復確認及其他影響網絡性能的現象原因時,可以用tcp.analysis過濾參數及 follow tcp stream 把上述現象與具體的tcp連接建立起來。
-
ip.src eq 10.0.0.5 && udp.port eq 53 #只顯示ip地址的主機訪問dns服務器的流量
-
tcp contains "windows" #只顯示包含搜索關鍵字“windows”的tcp數據包,區分大小寫。
-
tcp.stream eq 0 &&(tcp.analysis.window_full ||/or tcp.analysis.zero_window) #顯示某條特定tcp連接中出現窗口問題的tcp數據包
-
ip.src eq 10.0.0.3 && (http.cookie||http.set_cookie) #顯示指定主機發送的包含http cookie 的所有數據包
http過濾
-
http.host eq "hostname" #顯示訪問指定主機的http協議數據包
-
http.request.method eq "get" #顯示http get方法的數據包
-
http.request.uri eq "xxxx.com" #顯示指定uri請求的包
-
http.request.uri contains "mail.google.com" #顯示包含字符串 mail.google.comd uri請求數據包
-
http.cookie #顯示包含cookie請求的數據包,cookie總是從http客戶端發往http服務器
-
http.set_cookie #顯示傳播的所有包含由http服務器發送給http客戶端的cookie set命令的http包
-
http matches "\.zip" && http.request.method eq "get" #顯示包含zip文件的http數據包
DNS
-
dns.flags.response eq 0 #DNS查詢
-
dns.flags.response eq 1 #dns響應
-
dns.count.answers >= 4 #顯示所有anser count字段值大於或等於4的dns響應數據包