1. 程式人生 > >Wireshark入門與進階系列五之常見捕獲過濾器

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(邏輯運算):

not, and, or 等,否(“not”)具有最高的優先順序。或(“or”)和與(“and”)具有相同的優先順序,運算時從左至右進行。

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

除 http 之外的其他所有流量,注意如果你的HTTP埠為8080,把80 改為8080。

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

歡迎大家分享更好的思路,熱切期待^^_^^ !