應(yīng)用抓包過(guò)濾,選擇Capture | Options,擴(kuò)展窗口查看到Capture Filter欄。雙擊選定的接口,如下圖所示,彈出Edit Interface Settints窗口。

下圖顯示了Edit Interface Settings窗口,這里可以設(shè)置抓包過(guò)濾條件。如果你確知抓包過(guò)濾條件的語(yǔ)法,直接在Capture Filter區(qū)域輸入。在輸入錯(cuò)誤時(shí),Wireshark通過(guò)紅色背景區(qū)域表明無(wú)法處理過(guò)濾條件。最有可能的情況是,過(guò)濾條件中含有輸入錯(cuò)誤,或是使用了display filter的語(yǔ)法。
點(diǎn)擊Capture Filter按鈕查看并選擇已保存的抓包過(guò)濾條件。

更多信息
抓取指定**IP地址的數(shù)據(jù)流:**
如果你的抓包環(huán)境下有很多主機(jī)正在通訊,可以考慮使用所觀察主機(jī)的IP地址來(lái)進(jìn)行過(guò)濾。以下為IP地址抓包過(guò)濾示例:
- host 10.3.1.1:抓取發(fā)到/來(lái)自10.3.1.1的數(shù)據(jù)流
- host 2406:da00:ff00::6b16:f02d:抓取發(fā)到/來(lái)自IPv6地址2406:da00:ff00::6b16:f02d的數(shù)據(jù)流
- not host 10.3.1.1:抓取除了發(fā)到/來(lái)自10.3.1.1以外的所有數(shù)據(jù)流
- src host 10.3.1.1:抓取來(lái)自10.3.1.1的數(shù)據(jù)流
- dst host 10.3.1.1:抓取發(fā)到10.3.1.1的數(shù)據(jù)流
- host 10.3.1.1 or 10.3.1.2:抓取發(fā)到/來(lái)自10.3.1.1,以及與之通訊的所有數(shù)據(jù)流,與10.3.1.2,以及與之通訊的所有數(shù)據(jù)流
- host?www.espn.com:抓取發(fā)到/來(lái)自所有解析為www.espn.com的IP地址的數(shù)據(jù)流
抓取指定**IP地址范圍的數(shù)據(jù)流:**
當(dāng)你需要抓取來(lái)自/發(fā)到一組地址的數(shù)據(jù)流,可以采用CIDR(無(wú)類別域間路由,Classless Interdomain Routing)格式或使用mask參數(shù)。
- net 10.3.0.0/16:抓取網(wǎng)絡(luò)10.3.0.0上發(fā)到/來(lái)自所有主機(jī)的數(shù)據(jù)流(16表示長(zhǎng)度)
- net 10.3.0.0 mask 255.255.0.0:與之前的過(guò)濾結(jié)果相同
- ip6 net 2406:da00:ff00::/64:抓取網(wǎng)絡(luò)2406:da00:ff00:0000(IPv6)上發(fā)到/來(lái)自所有主機(jī)的數(shù)據(jù)流
- not dst net 10.3.0.0/16:抓取除了發(fā)到以10.3開頭的IP地址以外的所有數(shù)據(jù)流
- not src net 10.3.0.0/16:抓取除了來(lái)自以10.3開頭的IP地址以外的所有數(shù)據(jù)流
- ip proto :抓取ip協(xié)議字段等于值的報(bào)文。如TCP(code 6), UDP(code 17), ICMP(code 1)。
- ip[2:2]==:ip報(bào)文大小
- ip[8]==:TTL(Time to Live)值
- ip[9]==:協(xié)議值
- icmp[icmptype]==:?抓取?ICMP代碼等于identifier的ICMP報(bào)文,?如icmp-echo?以及?icmp-request。
方括號(hào)中第一個(gè)數(shù)字表示從協(xié)議頭開始的偏移量,第二個(gè)數(shù)字表示需要觀察多少位。

抓取發(fā)到廣播或多播地址的數(shù)據(jù)流**:**
只需偵聽廣播或多播數(shù)據(jù)流,就可以掌握網(wǎng)絡(luò)上主機(jī)的許多信息。
- ip broadcast:抓取廣播報(bào)文
- ip multicast:抓取多播報(bào)文
- dst host ff02::1:抓取到IPv6多播地址所有主機(jī)的數(shù)據(jù)流
- dst host ff02::2:抓取到IPv6多播地址所有路由器的數(shù)據(jù)流
小貼士:
Wireshark包含了一些默認(rèn)的抓包過(guò)濾條件。點(diǎn)擊主工具欄的Edit Capture Filters,跳轉(zhuǎn)到已保存抓包過(guò)濾列表。你會(huì)發(fā)現(xiàn)一些常見抓包過(guò)濾的示例。
抓取基于**MAC地址的數(shù)據(jù)流:**
當(dāng)你需要抓取發(fā)到/來(lái)自某一主機(jī)的IPv4或IPv6數(shù)據(jù)流,可創(chuàng)建基于主機(jī)MAC地址的抓包過(guò)濾條件。
應(yīng)用MAC地址時(shí),需確保與目標(biāo)主機(jī)處于同一網(wǎng)段。
- ether host 00:08:15:00:08:15:抓取發(fā)到/來(lái)自00:08:15:00:08:15的數(shù)據(jù)流
- ether src 02:0A:42:23:41:AC:抓取來(lái)自02:0A:42:23:41:AC的數(shù)據(jù)流
- ether dst 02:0A:42:23:41:AC:抓取發(fā)到02:0A:42:23:41:AC的數(shù)據(jù)流
- not ether host?00:08:15:00:08:15:抓取除了發(fā)到/來(lái)自00:08:15:00:08:15以外的所有數(shù)據(jù)流
- ether broadcast或ether dst ff:ff:ff:ff:ff:ff:抓取廣播報(bào)文
- ether multicast:多播報(bào)文
- 抓取指定以太網(wǎng)類型的報(bào)文:ether proto 0800
- 抓取指定VLAN:vlan
- 抓取指定幾個(gè)VLAN:vlan and vlan
抓取基于指定應(yīng)用的數(shù)據(jù)流**:**
你可能需要查看基于一個(gè)或幾個(gè)應(yīng)用的數(shù)據(jù)流。抓包過(guò)濾器語(yǔ)法無(wú)法識(shí)別應(yīng)用名,因此需要根據(jù)端口號(hào)來(lái)定義應(yīng)用。通過(guò)目標(biāo)應(yīng)用的TCP或UDP端口號(hào),將不相關(guān)的報(bào)文過(guò)濾掉。
- port 53:抓取發(fā)到/來(lái)自端口53的UDP/TCP數(shù)據(jù)流(典型是DNS數(shù)據(jù)流)
- not?port 53:抓取除了發(fā)到/來(lái)自端口53以外的UDP/TCP數(shù)據(jù)流
- port 80:抓取發(fā)到/來(lái)自端口80的UDP/TCP數(shù)據(jù)流(典型是HTTP數(shù)據(jù)流)
- udp port 67:抓取發(fā)到/來(lái)自端口67的UDP數(shù)據(jù)流(典型是DHCP據(jù)流)
- tcp port 21:抓取發(fā)到/來(lái)自端口21的TCP數(shù)據(jù)流(典型是FTP命令通道)
- portrange 1-80:抓取發(fā)到/來(lái)自端口1-80的所有UDP/TCP數(shù)據(jù)流
- tcp portrange 1-80:抓取發(fā)到/來(lái)自端口1-80的所有TCP數(shù)據(jù)流
抓取結(jié)合端口的數(shù)據(jù)流**:**
當(dāng)你需要抓取多個(gè)不連續(xù)端口號(hào)的數(shù)據(jù)流,將它們通過(guò)邏輯符號(hào)連接起來(lái),如下圖所示:
- port 20 or port 21:抓取發(fā)到/來(lái)自端口20或21的UDP/TCP數(shù)據(jù)流(典型是FTP數(shù)據(jù)和命令端口)
- host 10.3.1.1 and port 80:抓取發(fā)到/來(lái)自10.3.1.1端口80的數(shù)據(jù)流
- host 10.3.1.1 and not port 80:抓取發(fā)到/來(lái)自10.3.1.1除了端口80以外的數(shù)據(jù)流
- udp src port 68 and udp dst port 67:抓取從端口68到端口67的所有UDP數(shù)據(jù)流(典型是從DHCP客戶端到DHCP服務(wù)器)
- udp src port 67 and udp dst port 68:抓取從端口67到端口68的所有UDP數(shù)據(jù)流(典型是從DHCP服務(wù)器到DHCP客戶端)
- 抓取TCP連接的開始(SYN)和結(jié)束(FIN)報(bào)文,配置tcp[tcpflags] & (tcp-syn|tcp-fin)!=0
- 抓取所有RST(Reset)標(biāo)志位為1的TCP報(bào)文,配置tcp[tcpflags] & (tcp-rst)!=0
- less :抓取小于等于某一長(zhǎng)度的報(bào)文,等同于len
- greater :抓取大于等于某一長(zhǎng)度的報(bào)文,等同于len >=
SYN:?簡(jiǎn)歷連接的信號(hào)
FIN:?關(guān)閉連接的信號(hào)
ACK:?確認(rèn)接收數(shù)據(jù)的信號(hào)
RST:?立即關(guān)閉連接的信號(hào)
PSH:?推信號(hào),盡快將數(shù)據(jù)轉(zhuǎn)由應(yīng)用處理
- tcp[13] & 0×00 = 0: No flags set (null scan)
- tcp[13] & 0×01 = 1: FIN set and ACK not set
- tcp[13] & 0×03 = 3: SYN set and FIN set
- tcp[13] & 0×05 = 5: RST set and FIN set
- tcp[13] & 0×06 = 6: SYN set and RST set
- tcp[13] & 0×08 = 8: PSH set and ACK not set
tcp[13]是從協(xié)議頭開始的偏移量,0,1,3,5,6,8是標(biāo)識(shí)位

盡量避免使用抓包過(guò)濾。即便多看幾個(gè)報(bào)文,也比漏看一個(gè)報(bào)文要好。當(dāng)你抓取了大量報(bào)文的時(shí)候,用顯示過(guò)濾(過(guò)濾選項(xiàng)也更多)來(lái)重點(diǎn)查看某一數(shù)據(jù)流。
小貼士:
如果你需要查看TCP幀中的某一ASCII字符串,用Wireshark String-Matching Capture Filter Generator(http://www.wireshark.org/tools/string-cf.html)。例如,想要抓取HTTP GET報(bào)文,輸入GET并將TCP偏移量設(shè)置為0。
更多建議: