wireshark的原名是Ethereal,新名字是2006年起用的。當(dāng)時(shí)Ethereal的主要開發(fā)人員決定離開他原來(lái)供職的公司,并繼續(xù)開發(fā)這個(gè)軟件。但因?yàn)镋thereal這個(gè)名稱的使用權(quán)已經(jīng)被原來(lái)那個(gè)公司注冊(cè),Wireshark這個(gè)新名字也就應(yīng)運(yùn)而生了。
在成功
執(zhí)行Wireshark
之后,我們就能夠進(jìn)入下一步,更進(jìn)一步了解這個(gè)強(qiáng)大的工具。
以下是一張地址為192.168.1.2的計(jì)算機(jī)正在訪問(wèn)“openmaniak.com”站點(diǎn)時(shí)的截圖。
![]() |
1.?
MENUS(菜單)
2.? SHORTCUTS(快捷方式) 3.? DISPLAY FILTER(顯示過(guò)濾器) 4.? PACKET LIST PANE(封包列表) |
5.?
PACKET DETAILS PANE(封包具體信息)
6.? DISSECTOR PANE(16進(jìn)制數(shù)據(jù)) 7.? MISCELLANOUS(雜項(xiàng)) |
1.?
MENUS(菜單)
![]() |
- "File"(文件)
- "Edit" (編輯) - "View"(查看) - "Go" (轉(zhuǎn)到) - "Capture"(捕獲) - "Analyze"(分析) - "Statistics" (統(tǒng)計(jì)) - "Help" (幫助) |
打開或保存捕獲的信息。
查找或標(biāo)記封包。進(jìn)行全局設(shè)置。 設(shè)置Wireshark的視圖。 跳轉(zhuǎn)到捕獲的數(shù)據(jù)。 設(shè)置捕捉過(guò)濾器并開始捕捉。 設(shè)置分析選項(xiàng)。 查看Wireshark的統(tǒng)計(jì)信息。 查看本地或者在線支持。 |
2.? SHORTCUTS(快捷方式)
![]() |
您能夠?qū)⑹髽?biāo)指針移動(dòng)到某個(gè)圖標(biāo)上以獲得其功能說(shuō)明。
3.?
DISPLAY FILTER(顯示過(guò)濾器)
![]() |
請(qǐng)不要將捕捉過(guò)濾器和顯示過(guò)濾器的概念相混淆。請(qǐng)參考 Wireshark過(guò)濾器 中的具體內(nèi)容。
![[轉(zhuǎn)]wireshark圖解教程 - firehunter - firehunter的博客](http://img.it610.com/image/product/b07059a7709f4439bc80960ef27d39f4.gif)
![]() |
![]() |
假設(shè)捕獲的是一個(gè)OSI layer 2的封包,您在Source(來(lái)源)和Destination(目的地)列中看到的將是MAC地址,當(dāng)然,此時(shí)Port(port)列將會(huì)為空。
假設(shè)捕獲的是一個(gè)OSI layer 3或者更高層的封包,您在Source(來(lái)源)和Destination(目的地)列中看到的將是IP地址。Port(port)列僅會(huì)在這個(gè)封包屬于第4或者更高層時(shí)才會(huì)顯示。
您能夠在這里加入/刪除列或者改變各列的顏色:
Edit menu -> Preferences
5.? PACKET DETAILS PANE(封包具體信息)
![]() |
信息依照不同的OSI layer進(jìn)行了分組,您能夠展開每一個(gè)項(xiàng)目查看。以下截圖中展開的是HTTP信息。
![]() |
6.? DISSECTOR PANE(16進(jìn)制數(shù)據(jù))
![]() |
在上面的樣例里,我們?cè)凇胺獍唧w信息”中選擇查看TCPport(80),其相應(yīng)的16進(jìn)制數(shù)據(jù)將自己主動(dòng)顯示在以下的面板中(0050)。
![]() |
- - 正在進(jìn)行捕捉的網(wǎng)絡(luò)設(shè)備。
- 捕捉是否已經(jīng)開始或已經(jīng)停止。
- 捕捉結(jié)果的保存位置。
- 已捕捉的數(shù)據(jù)量。
- 已捕捉封包的數(shù)量。(P)
- 顯示的封包數(shù)量。(D) (經(jīng)過(guò)顯示過(guò)濾器過(guò)濾后仍然顯示的封包)
- 被標(biāo)記的封包數(shù)量。(M)
正如您在Wireshark教程第一部分看到的一樣,安裝、執(zhí)行Wireshark并開始分析網(wǎng)絡(luò)是很easy的。
使用Wireshark時(shí)最常見的問(wèn)題,是當(dāng)您使用默認(rèn)設(shè)置時(shí),會(huì)得到大量冗余信息,以至于非常難找到自己須要的部分。
過(guò)猶不及。
這就是為什么過(guò)濾器會(huì)如此重要。它們能夠幫助我們?cè)邶嬰s的結(jié)果中迅速找到我們須要的信息。
-
- |
捕捉過(guò)濾器:用于決定將什么樣的信息記錄在捕捉結(jié)果中。須要在開始捕捉前設(shè)置。
顯示過(guò)濾器:在捕捉結(jié)果中進(jìn)行具體查找。他們能夠在得到捕捉結(jié)果后任意改動(dòng)。 |
兩種過(guò)濾器的目的是不同的。
捕捉過(guò)濾器是數(shù)據(jù)經(jīng)過(guò)的第一層過(guò)濾器,它用于控制捕捉數(shù)據(jù)的數(shù)量,以避免產(chǎn)生過(guò)大的日志文件。
顯示過(guò)濾器是一種更為強(qiáng)大(復(fù)雜)的過(guò)濾器。它同意您在日志文件里迅速準(zhǔn)確地找到所須要的記錄。
兩種過(guò)濾器使用的語(yǔ)法是全然不同的。我們將在接下來(lái)的幾頁(yè)中對(duì)它們進(jìn)行介紹:
1.?
捕捉過(guò)濾器
?2.?
顯示過(guò)濾器
?1. 捕捉過(guò)濾器
捕捉過(guò)濾器的語(yǔ)法與其他使用Lipcap(Linux)或者Winpcap(Windows)庫(kù)開發(fā)的軟件一樣,比方著名的
TCPdump
。捕捉過(guò)濾器必須在開始捕捉前設(shè)置完成,這一點(diǎn)跟顯示過(guò)濾器是不同的。
設(shè)置捕捉過(guò)濾器的步驟是:
- 選擇 capture -> options。
- 填寫"capture filter"欄或者點(diǎn)擊"capture filter"button為您的過(guò)濾器起一個(gè)名字并保存,以便在今后的捕捉中繼續(xù)使用這個(gè)過(guò)濾器。
- 點(diǎn)擊開始(Start)進(jìn)行捕捉。
語(yǔ)法: | ? |
|
? |
|
? |
|
? |
|
? |
|
? |
|
樣例: | ? |
|
? |
|
? |
|
? |
|
? |
|
? |
|
![[轉(zhuǎn)]wireshark圖解教程 - firehunter - firehunter的博客](http://img.it610.com/image/product/8b8fe6e70aab4132a2df0b307113f8f5.gif)
可能的值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp.
假設(shè)沒(méi)有特別指明是什么協(xié)議,則默認(rèn)使用全部支持的協(xié)議。
![[轉(zhuǎn)]wireshark圖解教程 - firehunter - firehunter的博客](http://img.it610.com/image/product/8b8fe6e70aab4132a2df0b307113f8f5.gif)
可能的值: src, dst, src and dst, src or dst
假設(shè)沒(méi)有特別指明來(lái)源或目的地,則默認(rèn)使用 "src or dst" 作為keyword。
比如,"host 10.2.2.2"與"src or dst host 10.2.2.2"是一樣的。
![[轉(zhuǎn)]wireshark圖解教程 - firehunter - firehunter的博客](http://img.it610.com/image/product/8b8fe6e70aab4132a2df0b307113f8f5.gif)
可能的值: net, port, host, portrange.
假設(shè)沒(méi)有指定此值,則默認(rèn)使用"host"keyword。
比如,"src 10.1.1.1"與"src host 10.1.1.1"同樣。
![[轉(zhuǎn)]wireshark圖解教程 - firehunter - firehunter的博客](http://img.it610.com/image/product/8b8fe6e70aab4132a2df0b307113f8f5.gif)
可能的值:not, and, or.
否("not")具有最高的優(yōu)先級(jí)?;?"or")和與("and")具有同樣的優(yōu)先級(jí),運(yùn)算時(shí)從左至右進(jìn)行。
比如,
"not tcp port 3128 and tcp port 23"與"(not tcp port 3128) and tcp port 23"同樣。
"not tcp port 3128 and tcp port 23"與"not (tcp port 3128 and tcp port 23)"不同。
樣例:
tcp dst port 3128 |
ip src host 10.1.1.1 |
host 10.1.2.3 |
src portrange 2000-2500 |
not imcp |
src host 10.7.2.12 and not dst net 10.200.0.0/16 |
(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 |
注意事項(xiàng):
當(dāng)使用keyword作為值時(shí),需使用反斜杠“\”。
"ether proto \ip" (與keyword"ip"同樣).
這樣寫將會(huì)以IP協(xié)議作為目標(biāo)。
"ip proto \icmp" (與keyword"icmp"同樣).
這樣寫將會(huì)以ping工具經(jīng)常使用的icmp作為目標(biāo)。
能夠在"ip"或"ether"后面使用"multicast"及"broadcast"keyword。
當(dāng)您想排除廣播請(qǐng)求時(shí),"no broadcast"就會(huì)很實(shí)用。
查看?
TCPdump的主頁(yè)
以獲得更具體的捕捉過(guò)濾器語(yǔ)法說(shuō)明。
在
Wiki Wireshark website
上能夠找到很多其它捕捉過(guò)濾器的樣例。
?2.?
顯示過(guò)濾器:
通常經(jīng)過(guò)捕捉過(guò)濾器過(guò)濾后的數(shù)據(jù)還是非常復(fù)雜。此時(shí)您能夠使用顯示過(guò)濾器進(jìn)行更加仔細(xì)的查找。
它的功能比捕捉過(guò)濾器更為強(qiáng)大,并且在您想改動(dòng)過(guò)濾器條件時(shí),并不須要又一次捕捉一次。
語(yǔ)法: | ? | Protocol | . |
|
. |
|
? |
operator |
? |
|
? |
Operations |
? |
expr |
|
? |
|
? |
|
? |
|
? |
|
? |
|
? |
|
? |
|
![[轉(zhuǎn)]wireshark圖解教程 - firehunter - firehunter的博客](http://img.it610.com/image/product/8b8fe6e70aab4132a2df0b307113f8f5.gif)
您能夠使用大量位于OSI模型第2至7層的協(xié)議。點(diǎn)擊"Expr
比方:IP,TCP,DNS,SSH
?

您相同能夠在例如以下所看到的位置找到所支持的協(xié)議:


Wireshark的站點(diǎn)提供了對(duì)各種? 協(xié)議以及它們子類的說(shuō)明 。
![[轉(zhuǎn)]wireshark圖解教程 - firehunter - firehunter的博客](http://img.it610.com/image/product/8b8fe6e70aab4132a2df0b307113f8f5.gif)
協(xié)議的子類。
點(diǎn)擊相關(guān)父類旁的"+"號(hào),然后選擇其子類。

![[轉(zhuǎn)]wireshark圖解教程 - firehunter - firehunter的博客](http://img.it610.com/image/product/8b8fe6e70aab4132a2df0b307113f8f5.gif)
能夠使用6種比較運(yùn)算符:
英文寫法: | C語(yǔ)言寫法: | 含義: |
|
|
等于 |
|
|
不等于 |
|
|
大于 |
|
|
小于 |
|
|
大于等于 |
|
|
小于等于 |
![[轉(zhuǎn)]wireshark圖解教程 - firehunter - firehunter的博客](http://img.it610.com/image/product/8b8fe6e70aab4132a2df0b307113f8f5.gif)
英文寫法: | C語(yǔ)言寫法: | 含義: |
|
|
邏輯與 |
|
|
邏輯或 |
|
|
邏輯異或 |
|
|
邏輯非 |
讓我們舉個(gè)樣例:
"tcp.dstport 80 xor tcp.dstport 1025"
僅僅有當(dāng)目的TCPport為80或者來(lái)源于port1025(但又不能同一時(shí)候滿足這兩點(diǎn))時(shí),這種封包才會(huì)被顯示。
樣例:
snmp || dns || icmp | 顯示SNMP或DNS或ICMP封包。 |
ip.addr == 10.1.1.1 |
ip.src != 10.1.2.3 or ip.dst != 10.4.5.6 |
換句話說(shuō),顯示的封包將會(huì)為:
來(lái)源IP:除了10.1.2.3以外隨意;目的IP:隨意
以及
來(lái)源IP:隨意;目的IP:除了10.4.5.6以外隨意
ip.src != 10.1.2.3 and ip.dst != 10.4.5.6 |
換句話說(shuō),顯示的封包將會(huì)為:
來(lái)源IP:除了10.1.2.3以外隨意;同一時(shí)候須滿足,目的IP:除了10.4.5.6以外隨意
tcp.port == 25 | 顯示來(lái)源或目的TCPport號(hào)為25的封包。 |
tcp.dstport == 25 | 顯示目的TCPport號(hào)為25的封包。 |
tcp.flags | 顯示包括TCP標(biāo)志的封包。 |
tcp.flags.syn == 0x02 | 顯示包括TCP SYN標(biāo)志的封包。 |
![]() |
表達(dá)式正確 |
![]() |
表達(dá)式錯(cuò)誤 |
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
