Wireshark入門與進階系列五之常見捕獲過濾器
0x00 前言
我們都知道,wireshark可以實現本地抓包,同時Wireshark也支援remote packet capture protocol(rpcapd)協議遠端抓包,只要在遠端主機上安裝相應的rpcapd服務例程就可以實現在本地電腦執行wireshark 捕獲遠端電腦的流量了。但是各種協議的流量非常巨大,如果我們捕獲所有協議的流量,那麼數小時內,捕獲到的流量將到達幾百M,甚至幾G。硬碟空間很快就被填滿了。所以很有必要,只捕獲特定的流量或者不捕獲某些流量而捕獲其他所有的流量。
0x02 捕捉過濾器語法
語法:<Protocol> <Direction> <Host(s)> < Value> < Logical Operations> <Other expression>
Protocol(協議): ether,fddi, ip,arp,rarp,decnet,lat, sca,moprc,mopdl, tcp , udp 等,如果沒指明協議型別,則預設為捕捉所有支援的協議。
Direction(方向):src, dst,src and dst, src or dst等,如果沒指明方向,則預設使用 “src or dst” 作為關鍵字。
Host(s): net, port, host, portrange等,預設使用”host”關鍵字,”src 10.1.1.1″與”src host 10.1.1.1″等價。
Logical Operations(邏輯運算):
0x03 常見使用的捕獲過濾語句
1.1 只(不)捕獲某主機的HTTP流量
host 192.168.5.231 and port 80 and http#只捕獲主機192.168.5.231
的http流量。注意如果你的HTTP埠為8080,把80 改為8080。
port 80 and http#捕獲所有經過該介面的http流量。注意如果你的HTTP埠為8080,把80 改為8080。
host 192.168.5.231 and not port 80# 捕獲主機192.168.5.231
not port 80 # 捕獲除
http 之外的其他所有流量,注意如果你的HTTP埠為8080,把80 改為8080。
not port 80 and !http## 捕獲除 http 之外的其他所有流量,注意如果你的HTTP埠為8080,把80 改為8080。
1.2 只捕獲某主機的所有流量
host 192.168.5.231#捕獲源目主機均為192.168.5.231
dst 192.168.5.231#捕獲目的主機均為192.168.5.231
src 192.168.5.231#捕獲來源主機均為192.168.5.231
net 192.168.5.0/24#捕獲網段為d192.168.5的所有主機的所有流量
1.3 只捕獲某主機的DNS流量
host 192.168.5.231 and port 53 # 只捕獲主機192.168.5.231
的dns流量。
src 192.168.5.231 and port 53 #只捕獲主機192.168.5.231 對外的dns 的流量。
dst
192.168.5.231 and port 53 #只捕獲dns伺服器相應主機192.168.5.231的dns流量。
port 53 #捕獲介面中的所有主機的dns流量
1.4 只(不)捕獲APR流量
host 192.168.5.231 and arp#只捕獲主機192.168.5.231 的arp流量。
host 192.168.5.231
and !arp#只捕獲主機192.168.5.231 除arp外的所有流量。
arp#捕獲介面中的所有arp請求
!arp #捕獲介面中所有非arpq請求。
1.5 只捕獲特定埠的流量
tcp portrange 8000-9000 an port 80#捕獲埠8000-9000之間和80埠的流量
port 5060#捕獲sip流量,因為sip的預設埠是5060。舉一反三:port 22 #捕獲ssh流量
1.6 捕獲電子郵件的流量
host 192.168.5.231 and port 25 # 捕獲主機192.168.5.231 的POP3協議的流量。
port 25 and portrange 110-143 #因為電子郵件的協議:SMTP、POP3、IMAP4,所以捕獲埠的流量。
1.7 捕獲vlan 的流量
vlan #捕獲所有vlan 的流量
vlan and (host 192.168.5.0 and port 80)#捕獲vlan 中主機192.168.5.0 ,前提是有vlan,在wifi中不一定可以捕獲到相應的流量,區域網(公司,學校裡面的網路應該有vlan)
1.8 捕獲 PPPoE 流量
pppoes#捕獲所有的pppoes流量
pppoes and (host 192.168.5.231 and port 80)
#捕獲主機
1.9 更多的案例,可以參考
埠常識:https://svn.nmap.org/nmap/nmap-services#按鍵:Ctrl +f ,進行搜尋相關的協議。
http://tool.chinaz.com/port/#常見協議及其埠
如果要捕獲某種協議的流量,可以嘗試捕獲該埠的流量
0x04 綜合例項
#蠕蟲的捕獲過濾器
Blaster worm:dst port 135 and tcp port 135 and ip[2:2]==48
Welchia worm:icmp[icmptype]==icmp-echo and ip[2:2]==92 and icmp[8:4]==0xAAAAAAAA
worm:dst port 135 or dst port 445 or dst port 1433 and tcp[tcpflags] & (tcp-syn) != 0 and tcp[tcpflags] & (tcp-ack) = 0 and src net 192.168.0.0/24
0x05 參考資料
https://wiki.wireshark.org/CaptureFilters#Useful_Filters
http://www.tcpdump.org/tcpdump_man.html
https://wiki.wireshark.org/CaptureSetup/WLAN
https://wiki.wireshark.org/CaptureSetup/Ethernet
https://www.wireshark.org/docs/wsug_html_chunked/ChCapCaptureFilterSection.html
歡迎大家分享更好的思路,熱切期待^^_^^ !