目錄
1.1. Wireshark是什么?
1.1.1. 一些預(yù)期目的
1.1.2. 特性
1.1.3. 在多種網(wǎng)絡(luò)介質(zhì)中捕獲報(bào)文
1.1.4. 從其他捕獲軟件導(dǎo)入文件
1.1.5. 為其他捕獲軟件導(dǎo)出文件
1.1.6. 多協(xié)議解碼器
1.1.7. 開(kāi)源軟件
1.1.8. Wireshark不是什么
1.2. 系統(tǒng)要求
1.2.1. 微軟 Windows
1.2.2. UNIX / Linux
1.3. 從哪里獲取
1.4. Wireshark簡(jiǎn)史
1.5. 開(kāi)發(fā)和維護(hù) Wireshark
1.6. 報(bào)告問(wèn)題和獲取幫助
1.6.1. 網(wǎng)站
1.6.2. Wiki
1.6.3. Q&A 網(wǎng)站
1.6.4. FAQ
1.6.5. 郵件列表
1.6.6. 報(bào)告問(wèn)題
1.6.7. UNIX/Linux平臺(tái)崩潰報(bào)告
1.6.8. Windows平臺(tái)崩潰報(bào)告
1.1. Wireshark是什么?
Wireshark是網(wǎng)絡(luò)數(shù)據(jù)包分析軟件榄融。網(wǎng)絡(luò)數(shù)據(jù)包分析器將嘗試捕獲網(wǎng)絡(luò)數(shù)據(jù)包苛让,并試圖盡可能詳細(xì)的顯示數(shù)據(jù)包的數(shù)據(jù)影涉。
您可以認(rèn)為一個(gè)網(wǎng)絡(luò)包分析軟件是一個(gè)用來(lái)檢查網(wǎng)線內(nèi)部發(fā)生了什么的測(cè)量設(shè)備,就像電工使用電壓表來(lái)檢查電纜內(nèi)部發(fā)生了什么一樣(當(dāng)然见妒,但在一個(gè)更高的水平 )。
在過(guò)去刚盈,這樣的工具要么非常昂貴的仪糖,專用的,或兩者兼而有之忙上。然而拷呆,隨著Wireshark的出現(xiàn),這一切都改變疫粥。
Wireshark也許是目前最好的開(kāi)源數(shù)據(jù)包分析軟件茬斧。
1.1.1. 一些預(yù)期目的
下面是一些使用Wireshark的例子:
- 網(wǎng)絡(luò)管理員用它來(lái)??解決網(wǎng)絡(luò)問(wèn)題
- 網(wǎng)絡(luò)安全工程師用它來(lái)??檢查安全問(wèn)題
- 開(kāi)發(fā)人員可以使用它來(lái)??調(diào)試協(xié)議實(shí)現(xiàn)
- 人們用它來(lái)??學(xué)習(xí)網(wǎng)絡(luò)協(xié)議內(nèi)部
除了這些例子之外Wireshark在許多其他情況下也很有幫助。
1.1.2. 特性
下面是Wireshark眾多特性中的一些:
- 適用于 UNIX 和 Windows梗逮。
- 從網(wǎng)絡(luò)接口捕獲實(shí)時(shí)分組數(shù)據(jù)项秉。
- 打開(kāi)包含使用tcpdump / WinDump、Wireshark以及其他一些抓包程序文件捕獲的數(shù)據(jù)包慷彤。
- 從包含hex dumps分組數(shù)據(jù)的文本文件中導(dǎo)入數(shù)據(jù)包娄蔼。
- 顯示數(shù)據(jù)包的非常詳細(xì)的協(xié)議信息 。
- 保存捕獲數(shù)據(jù)包底哗。
- 以多種捕獲文件格式導(dǎo)出部分或全部數(shù)據(jù)包岁诉。
- 以多種規(guī)則來(lái)過(guò)濾數(shù)據(jù)包。
- 以多種規(guī)則來(lái)搜索數(shù)據(jù)包跋选。
- 基于篩選器來(lái)上色數(shù)據(jù)包涕癣。
- 創(chuàng)建各種統(tǒng)計(jì)數(shù)據(jù)。
- ...還有更多野建!
但是属划,要真正欣賞它的力量恬叹,您必須開(kāi)始使用它。
圖 1.1, “Wireshark 的捕獲數(shù)據(jù)包同眯,可以讓您檢查他們的內(nèi)容” 顯示W(wǎng)ireshark已經(jīng)捕獲的一些數(shù)據(jù)包绽昼,并等待著您
圖 1.1. Wireshark的捕獲數(shù)據(jù)包,可以讓您檢查它們的內(nèi)容须蜗。
1.1.3. 在多種網(wǎng)絡(luò)介質(zhì)中捕獲報(bào)文
Wireshark可以捕捉來(lái)自多種不同網(wǎng)絡(luò)介質(zhì)類型的流量-不用關(guān)注它的名字-包括無(wú)線LAN硅确。所支持的媒介類型,取決于很多方面明肮,如正在使用的操作系統(tǒng)菱农。支持的媒介類型的說(shuō)明在https://wiki.wireshark.org/CaptureSetup/NetworkMedia。
1.1.4. 從其他捕獲軟件導(dǎo)入文件
Wireshark可以打開(kāi)大量的其他捕獲程序捕獲的數(shù)據(jù)包柿估。對(duì)于輸入格式列表循未,請(qǐng)參閱 5.2.2節(jié), “輸入文件格式”。
1.1.5. 為其他捕獲軟件導(dǎo)出文件
Wireshark可以保存數(shù)據(jù)包為大量的其他捕獲程序捕獲的數(shù)據(jù)包格式秫舌。對(duì)于輸出格式列表的妖,請(qǐng)參閱 5.3.2節(jié), “輸出文件格式”。
1.1.6. 多協(xié)議解碼器
支持眾多協(xié)議的協(xié)議解碼器(或解析器足陨,他們?cè)赪ireshark中的叫法):請(qǐng)參閱 附錄 C嫂粟,協(xié)議和協(xié)議字段。
1.1.7. 開(kāi)源軟件
Wireshark是開(kāi)源軟件項(xiàng)目墨缘,使用 GNU通用公共授權(quán) (GPL)發(fā)布星虹。您可以自由地使用Wireshark在任意數(shù)量的計(jì)算機(jī)上,而不用擔(dān)心許可證或手續(xù)費(fèi)等镊讼。此外宽涌,在GPL許可下的所有源代碼是免費(fèi)的。正因?yàn)槿绱撕萏海藗兘oWireshark添加新的協(xié)議非常容易护糖,無(wú)論是作為插件或內(nèi)置的源代碼,人們也經(jīng)常這么做嚼松!
1.1.8. Wireshark 不是什么
這里有一些事情Wireshark不能提供:
Wireshark不是一個(gè)入侵檢測(cè)系統(tǒng)。當(dāng)有人在您的網(wǎng)絡(luò)中做一些未經(jīng)允許的奇怪的事情時(shí)锰扶,它不會(huì)警告您献酗。但是,如果奇怪的事情發(fā)生了坷牛,Wireshark可以幫助您找出到底發(fā)生了什么罕偎。
Wireshark將不能操縱網(wǎng)絡(luò),它只會(huì)“測(cè)量”網(wǎng)絡(luò)京闰。Wireshark不能在網(wǎng)絡(luò)上發(fā)送數(shù)據(jù)包或做其他一些動(dòng)作(除了名稱解析颜及,但也可以禁用解析)甩苛。
1.2. 系統(tǒng)要求
Wireshark需要資源的數(shù)量取決于您的環(huán)境和您待分析的捕獲文件大小。以下的值對(duì)于中小大小的不超過(guò)幾百兆的捕獲文件是合適的俏站。更大的捕獲文件將需要更多的內(nèi)存和磁盤空間讯蒲。
[Note] 繁忙的網(wǎng)絡(luò)意味著大量捕獲
一個(gè)繁忙的網(wǎng)絡(luò)工作可以很容易地產(chǎn)生巨大的捕獲文件。捕捉千兆肄扎,甚至100兆的網(wǎng)絡(luò)可以在很短的時(shí)間內(nèi)生產(chǎn)上百兆字節(jié)的捕獲數(shù)據(jù)墨林。一個(gè)快速的處理器,大量的內(nèi)存和磁盤空間始終是一個(gè)好主意犯祠。
如果Wireshark的內(nèi)存用完旭等,會(huì)導(dǎo)致它崩潰。見(jiàn) https://wiki.wireshark.org/KnownBugs/OutOfMemory 的細(xì)節(jié)和解決方法衡载。
雖然Wireshark捕獲報(bào)文使用獨(dú)立的進(jìn)程搔耕,他的主界面是單線程的,并沒(méi)有從多核系統(tǒng)中獲益痰娱。
1.2.1. 微軟 Windows
- Wireshark的當(dāng)前版本應(yīng)該支持任何仍然在擴(kuò)展支持生命周期 的Windows版本弃榨。在寫這篇文章的時(shí)候包括Windows 8,7猜揪,Vista惭墓,Server 2012,Server 2008 R2而姐,Server 2008和Server 2003腊凶。
- 任何現(xiàn)代的 32-位 x86 or 64-位 AMD64/x86-64 處理器。
- 200 MB 可用內(nèi)存拴念。 更大的捕獲文件需要更多的內(nèi)存钧萍。
- 75 MB可用磁盤空間。捕獲文件需要額外的磁盤空間政鼠。
- 1024×768(1280×1024或建議更高)分辨率风瘦,至少為16位色。8位色彩應(yīng)該也能工作公般,但用戶體驗(yàn)會(huì)下降万搔。
- 支持的用于捕獲的網(wǎng)卡
- 以太網(wǎng)。Windows支持的任何卡應(yīng)該工作官帘。查看維基頁(yè)面 以太網(wǎng)捕獲和 卸載了解可能影響您的環(huán)境的問(wèn)題瞬雹。
- Ethernet. Any card supported by Windows should work. 參見(jiàn) the wiki pages on Ethernet capture and offloading for issues that may affect your environment.
- 802.11。參考 Wireshark wiki 頁(yè)面.刽虹。沒(méi)有特殊設(shè)備的話酗捌,捕獲原始802.11信息可能很困難。
- 其他介質(zhì)。參考 https://wiki.wireshark.org/CaptureSetup/NetworkMedia
不再對(duì)超出微軟的擴(kuò)展生命周期支持窗外的舊版本W(wǎng)indows提供支持胖缤。由于我們無(wú)法控制的情況尚镰,很難或不可能支持這些系統(tǒng),如我們所依賴的第三方庫(kù)或哪些僅出現(xiàn)在新版本W(wǎng)indows中的特性(如硬化安全或內(nèi)存管理)哪廓。
Wireshark的1.10是最后一個(gè)正式支持Windows XP的版本分支狗唉。Wireshark的1.2是支持Windows 2000的最后分支,請(qǐng)參見(jiàn) Wireshark 版本生命周期 頁(yè)面了解詳細(xì)信息撩独。
1.2.2. UNIX / Linux
Wireshark目前可以運(yùn)行在大多數(shù)UNIX平臺(tái)敞曹。系統(tǒng)的要求可以對(duì)照上面列出的Windows值。
二進(jìn)制軟件包可用于大多數(shù)的Unices和Linux發(fā)行版综膀,包括以下平臺(tái):
- Apple Mac OS X
- Debian GNU/Linux
- FreeBSD
- Gentoo Linux
- HP-UX
- Mandriva Linux
- NetBSD
- OpenPKG
- Red Hat Enterprise/Fedora Linux
- Sun Solaris/i386
- Sun Solaris/SPARC
- Canonical Ubuntu
如果一個(gè)二進(jìn)制包不適用于您的平臺(tái)澳迫,您可以下載源代碼,并嘗試編譯它剧劝。請(qǐng)報(bào)告您的經(jīng)驗(yàn)給 wireshark-dev[AT]wireshark.org.
1.3. 從哪里獲取Wireshark
您可以從Wireshark的網(wǎng)站 https://www.wireshark.org/download.html獲取最新版本橄登。下載頁(yè)面會(huì)自動(dòng)突出顯示您的平臺(tái)相應(yīng)的下載,并指引您到最近的鏡像讥此。
新版本的Wireshark一般每一或兩個(gè)月更新拢锹。
如果您想被通知新Wireshark的發(fā)布,您應(yīng)該訂閱Wireshark的Wireshark-通知郵件列表萄喳。您會(huì)發(fā)現(xiàn)更多的細(xì)節(jié)在 1.6.5節(jié), “郵件列表”卒稳。
1.4. Wireshark簡(jiǎn)史###
在1997年年底Gerald Combs需要一個(gè)工具用于跟蹤網(wǎng)絡(luò)問(wèn)題,并希望更多地了解網(wǎng)絡(luò)他巨,所以他開(kāi)始寫Ethereal(Wireshark項(xiàng)目原來(lái)的名字)來(lái)解決這兩個(gè)問(wèn)題充坑。
Ethereal在幾次暫停開(kāi)發(fā)后于1998年7月發(fā)布初始版本0.2.0。經(jīng)過(guò)補(bǔ)丁修正染突,bug報(bào)告捻爷,鼓勵(lì)的話開(kāi)始出現(xiàn),Ethereal開(kāi)始走上成功之路份企。
此后不久Gilbert Ramirez 看到了它的潛力也榄,并為他貢獻(xiàn)了一個(gè)底層解析器。
在1998年10月蓋伊·哈里斯正在尋找比TCPView的更好的東西司志,所以他開(kāi)始了應(yīng)用補(bǔ)丁和促進(jìn)解剖甜紫,以空靈坛芽。
在1998年底Guy Harris 胁艰,正在講授TCP / IP課程蔑穴,看到了他對(duì)這些課程的潛力屁置,并開(kāi)始關(guān)注他,看它是否支持他所需要的協(xié)議鹅巍。然而新的協(xié)議不是很容易地添加。于是港谊,他開(kāi)始貢獻(xiàn)解析器和補(bǔ)丁贸营。
自那時(shí)以來(lái)的為項(xiàng)目貢獻(xiàn)的人的名單已經(jīng)很長(zhǎng)吨述,幾乎所有的人都從他們需要而Wireshark尚未支持的協(xié)議開(kāi)始。因此钞脂,他們復(fù)制一個(gè)現(xiàn)有的解析器并將代碼貢獻(xiàn)回團(tuán)隊(duì)揣云。
2006年該項(xiàng)目搬了家,并以一個(gè)新的名字重新出現(xiàn):Wireshark冰啃。
2008年邓夕,經(jīng)過(guò)十多年的發(fā)展,Wireshark的終于到了1.0版本阎毅。此版本是第一個(gè)被視為完整的焚刚,實(shí)現(xiàn)最小功能的版本。它的發(fā)布恰逢第一次Wireshark開(kāi)發(fā)者和用戶大會(huì)(被稱為Sharkfest)扇调。
1.5. 開(kāi)發(fā)和維護(hù)Wireshark
Wireshark最初由Gerald Combs開(kāi)發(fā)矿咕。持續(xù)開(kāi)發(fā)和維護(hù)Wireshark的是Wireshark團(tuán)隊(duì),該團(tuán)隊(duì)是由修復(fù)bug和提供新功能的個(gè)人組成的松散團(tuán)隊(duì)處理狼钮。
同時(shí)也有大量的人為Wireshark貢獻(xiàn)協(xié)議解析器碳柱,而且預(yù)計(jì)這將繼續(xù)下去。您可以通過(guò)檢查Wireshark的關(guān)于對(duì)話框來(lái)找到這些貢獻(xiàn)代碼人員的列表熬芜,或者在Wireshark網(wǎng)站的作者頁(yè)面上也能找到莲镣。
Wireshark是一個(gè)開(kāi)源軟件項(xiàng)目,根據(jù) GNU通用公共許可證(GPL)版本2來(lái)發(fā)布涎拉。所有的源代碼根據(jù)GPL免費(fèi)提供瑞侮。歡迎您修改Wireshark來(lái)滿足自己的需要,如果您貢獻(xiàn)您的改進(jìn)回Wireshark團(tuán)隊(duì)曼库,將不勝感激区岗。
您通過(guò)貢獻(xiàn)您的改進(jìn)回饋社會(huì),將獲得三大好處:
- 其他人的因?yàn)槟呢暙I(xiàn)而得到幫助的人將非常感激他們毁枯,您就會(huì)知道您已經(jīng)在以同樣的Wireshark的開(kāi)發(fā)者幫助人們的方式幫助他人慈缔。
- Wireshark的開(kāi)發(fā)者可能更多幫助您的提升,因?yàn)榭傆懈倪M(jìn)的余地种玛∶旰祝或者,他們可以在您的代碼上實(shí)現(xiàn)更多高級(jí)的事情赂韵,這對(duì)自己也是非常有幫助的娱节。
- Wireshark的維護(hù)者和開(kāi)發(fā)者同時(shí)會(huì)維護(hù)您的代碼,當(dāng)API變化或其他更改發(fā)生時(shí)同時(shí)進(jìn)行修正祭示,并且通常和Wireshark保持配合肄满。所以,如果Wireshark更新了(這經(jīng)常發(fā)生),您可以從該網(wǎng)站獲取一個(gè)新版本并且您的更改已經(jīng)包含在內(nèi)稠歉,而無(wú)需額外的工作掰担。
Wireshark的源代碼和一些平臺(tái)的二進(jìn)制文件包,都可以使用Wireshark的網(wǎng)站的下載頁(yè)面: https://www.wireshark.org/download.html怒炸。
1.6. 報(bào)告問(wèn)題和獲得幫助
如果您在使用Wireshark時(shí)有問(wèn)題或需要幫助带饱,可能有幾個(gè)地方您會(huì)感興趣(當(dāng)然除了本指南之外)。
1.6.1. 網(wǎng)站
您會(huì)在Wireshark的主頁(yè) https://www.wireshark.org/上發(fā)現(xiàn)很多有用的信息阅羹。
1.6.2. Wiki
Wireshark Wiki https://wiki.wireshark.org/提供了大量關(guān)于Wireshark和數(shù)據(jù)包捕獲的信息勺疼。您會(huì)發(fā)現(xiàn)很多本用戶指南沒(méi)有涉及的信息。例如捏鱼,解釋如何在交換網(wǎng)絡(luò)上進(jìn)行捕獲执庐,不斷努力建立協(xié)議參考以及更多內(nèi)容。
而最重要的穷躁,如果您想對(duì)一個(gè)特定的主題貢獻(xiàn)自己的知識(shí)(可能是您非常熟悉的網(wǎng)絡(luò)協(xié)議)耕肩,您可以通過(guò)簡(jiǎn)單地使用Web瀏覽器來(lái)編輯維基頁(yè)??面。
1.6.3. Q&A 網(wǎng)站
Wireshark Q&A 網(wǎng)站 https://ask.wireshark.org/ 提供問(wèn)題和答案的資源问潭。您可以查找之前哪些問(wèn)題被問(wèn)過(guò)了猿诸,關(guān)于這個(gè)問(wèn)題人們給出什么答案。答案是分級(jí)的狡忙,所以您可以很容易地挑選出最好的梳虽。如果您的問(wèn)題還沒(méi)有被討論過(guò),您可以自己發(fā)布一個(gè)灾茁。
1.6.4. FAQ
常見(jiàn)問(wèn)題列表經(jīng)常遇到的問(wèn)題進(jìn)行相應(yīng)的解答窜觉。
[Note] 閱讀 FAQ
在發(fā)送任何郵件到下面的郵件列表前,請(qǐng)務(wù)必閱讀FAQ北专。它往往會(huì)回答您的任何問(wèn)題禀挫。這將節(jié)省自己和別人了大量的時(shí)間。請(qǐng)記住拓颓,很多人都訂閱了郵件列表语婴。
您可以通過(guò)點(diǎn)擊Wireshark的菜單項(xiàng)“ Help/Contents”并選擇所示的對(duì)話框中的FAQ頁(yè)面來(lái)找到FAQ。
在線版本在Wireshark的網(wǎng)站: https://www.wireshark.org/faq.html驶睦。您可能會(huì)喜歡這個(gè)在線版本砰左,因?yàn)樗ǔ8赂皶r(shí)并且HTML格式更容易使用。
1.6.5. 郵件列表
有幾個(gè)可用的特定Wireshark主題郵件列表:
wireshark-announce
這個(gè)郵件列表會(huì)告知您新的程序版本發(fā)布场航,它通常大約每4-8周出現(xiàn)一次缠导。
wireshark-users
這個(gè)列表提供給Wireshark的用戶。人們發(fā)送關(guān)于編譯和使用Wireshark的問(wèn)題溉痢,其他人(希望)提供答案僻造。
wireshark-dev
這個(gè)列表是提供給Wireshark的開(kāi)發(fā)者憋他。如果您想開(kāi)發(fā)協(xié)議解析器,加入這個(gè)列表嫡意。
您可以分別從Wireshark網(wǎng)站上訂閱這些列表: https://www.wireshark.org/lists/举瑰。從那里,
您可以通過(guò)在相關(guān)列表的標(biāo)題下點(diǎn)擊 “訂閱/取消/選項(xiàng)” 按鈕項(xiàng)按鈕來(lái)選擇訂閱哪些郵件列表蔬螟。歸檔的鏈接也同時(shí)包含在該頁(yè)面上。
[Tip] 歸檔列表
您可以在歸檔列表中搜索汽畴,看看是否有人問(wèn)過(guò)同樣的問(wèn)題旧巾,可能就能夠獲取答案。這樣您就不必等到有人來(lái)回答您的問(wèn)題忍些。
1.6.6. 報(bào)告問(wèn)題
[Note] 注意
在報(bào)告任何問(wèn)題前鲁猩,請(qǐng)確保您已經(jīng)安裝了Wireshark的最新版本。
當(dāng)向Wireshark報(bào)告問(wèn)題時(shí)罢坝,請(qǐng)?zhí)峁┮韵滦畔ⅲ?/p>
- Wireshark的版本號(hào)和與之相連的依賴庫(kù)廓握,如Qt或GLib。您可以從Wireshark的“關(guān)于”對(duì)話框或 wireshark -v命令來(lái)獲取嘁酿。
- Wireshark運(yùn)行平臺(tái)的信息隙券。
- 您的問(wèn)題的詳細(xì)描述。
- 如果您得到一個(gè)錯(cuò)誤/警告消息闹司,復(fù)制該消息的文本(如果有很多消息娱仔,需包含之前和之后幾行),以便其他人發(fā)現(xiàn)出差錯(cuò)的地方游桩。請(qǐng)不要給這樣的信息:“在做x時(shí)牲迫,我得到一個(gè)警告”,因?yàn)檫@不會(huì)對(duì)去哪里查找問(wèn)題提供幫助借卧。
[Note] 不要發(fā)送大文件
不要發(fā)送大文件(> 500KB)到郵件列表盹憎。只需提示,進(jìn)一步的數(shù)據(jù)可應(yīng)要求提供铐刘。大文件只會(huì)惹惱了郵件列表上很多對(duì)您的問(wèn)題不感興趣的人陪每。如果需要的話,您會(huì)被要求提供進(jìn)一步的數(shù)據(jù)給真的可以幫助您的人滨达。
[Warning] 不要發(fā)送機(jī)密信息奶稠!
如果您發(fā)送捕捉文件到郵件列表,要確保它們不包含任何敏感或機(jī)密信息捡遍,像密碼或個(gè)人識(shí)別信息(PII)锌订。
1.6.7. UNIX/Linux 平臺(tái)崩潰報(bào)告
在報(bào)告Wireshark崩潰的時(shí)候,如果能提供“報(bào)告問(wèn)題”中提到的跟蹤信息是非常有幫助的画株。
您可以在UNIX或Linux(注意反引號(hào))上通過(guò)以下命令來(lái)獲取跟蹤信息:
$ gdb `whereis wireshark | cut -f2 -d: | cut -d' ' -f2` core >& backtrace.txt
backtrace
^D
如果您沒(méi)有g(shù)db可用辆飘,您必須檢查您的操作系統(tǒng)的調(diào)試器啦辐。
郵件 backtrace.txt 給 wireshark-dev[AT]wireshark.org。
1.6.8. Windows平臺(tái)崩潰報(bào)告
Windows發(fā)布版本不包含符號(hào)文件(.PDB)蜈项,因?yàn)樗麄兎浅4笄酃亍D梢詥为?dú)在https://www.wireshark.org/download/win32/all-versions 和 https://www.wireshark.org/download/win64/all-versions 下載。