天天看點

《Wireshark網絡分析就這麼簡單》目錄—導讀

《Wireshark網絡分析就這麼簡單》目錄—導讀

内容提要

wireshark網絡分析就這麼簡單

wireshark可能是世界上最好的開源網絡包分析器,能在多種平台上(比如windows、linux和mac)抓取和分析網絡包,在it業界有着廣泛的應用。

本書采用诙諧風趣的手法,由淺入深地用wireshark分析了常見的網絡協定,讀者在學習wireshark的同時,也會在不知不覺中了解這些協定。作者還通過身邊發生的一些真實案例,分享了wireshark的實戰技巧。

本書不務虛,不注水,幾乎頁頁幹貨,篇篇精華,力求為讀者提供最佳閱讀體驗,使讀者在一個輕松愉悅的閱讀氛圍中,潛移默化地掌握wireshark的使用技巧和網絡知識,為你的工程師生涯加油助力。

無論你是技術支援工程師、系統管理者、現場工程師、公司it部門的老好人,還是高校網絡相關專業的教師,無論你是ccna、ccnp、ccie,還是mcse,本書都是迅速了解、掌握wireshark技巧的絕佳讀物。

關于作者

林沛滿,2005年畢業于上海交通大學,現任emc網絡存儲部門的主任工程師。多年來為多個産品團隊提供過技術咨詢,範圍包括網絡、作業系統、檔案系統和域等,這就是本書所涵蓋的協定如此五花八門的原因。每年臨近加薪的日子,他也會組織一些技術教育訓練來提醒上司。本書的部分内容就來自這些教育訓練資料。

平時他也寫一些技術部落格,你或許還能在it168或者chinaunix技術社群看到它們。本書也有少數内容來自這些部落格。

當林先生不在工作時,大部分時間都花在了園藝花卉上,尤其是歐洲月季。

緻謝

感謝很多人對本書的付出。

曆城路幼稚園的林小滿同學幾乎每次邀請爸爸捉迷藏時都失望而歸,因為寫作本書的時間都被安排在下班後。爸爸會一直記得你期待的眼神和失望時撅起的小嘴。

來自摩根的曹若沈女士幫我彌補了所有的親子時間,并且在百忙之中檢查了每篇草稿。我就算包攬下一年的洗碗工作也難以回報。

來自emc、微軟和思科等機關的多位朋友審閱了本書的大多數内容,尤其是我的同僚賴蘇成一個人完成了所有關于tcp的部分的審閱。賴先生是一位精通外文的網絡專家,在削球技術上也造詣頗深,有意結識這位青年才俊的妹子可以向我索取手機号碼。

最後,要感謝emc公司提供了最頂級的網絡、vmware和存儲空間,使我能夠快速地搭建本書所需要的實驗環境。

前言

幾個月前和老同學聚餐,席間有位經理說,“最近招了個不錯的工程師,居然懂wireshark。”我剛想科普一下wireshark是什麼,就聽見另一位表示羨慕,說自己也在尋覓這樣的人才。這時候我才意識到,原來wireshark的市場需求已經這麼大了。

當然,對我這樣的wireshark老粉絲來說,也不會感到很意外。随着網際網路的井噴式發展,現代人的生活越來越依賴于網絡,很多人開玩笑說wifi也要列入馬斯洛需求模型的最底層了。從事網絡工作的技術人員自然也承受着從未有過的壓力,比如每次促銷對于電商都是極大的考驗。而wireshark正好是解決網絡問題的利器,當我們透過它來看網絡時,看到的不再是沒有意義的“0”和“1”,而是人人都能了解的語句;由于它支援成百上千的協定,是以我們幾乎可以看到網絡上的一切,解決起問題自然也更得心應手。不久前我為一家電商做過系統調優,就是基于wireshark的分析結果。

這便是我決定寫作本書的原因,這麼好的工具應該為更多人所用。本書先帶你認識wireshark,學會使用它的技巧;然後利用wireshark剖析一些常用的網絡協定,相信有一些是你所需要的;最後分享了我用wireshark處理過的幾個經典案例,希望對你的工作有所幫助,能起到舉一反三的效果。

本書組織結構

有别于網絡教材,本書并不從tcp/ip的底層講到頂層,而是采用了從簡單到複雜的順序。全書共分為3部分。

第1部分“初試鋒芒”,先從一道經典的面試題講起,帶你體驗wireshark的魅力。接下來兩篇是簡單的應用執行個體,分析了伺服器失去連接配接的原因,以及excel程式儲存檔案的過程。再往下就是該部分最有價值的文章——“你一定會喜歡的技巧”,分享了很多實用竅門。最後的兩篇小文章無關技術,分别講述了wireshark的前世今生和一位網絡高手的故事。這一部分内容相對簡單,可以較快閱讀。

第2部分“庖丁解牛”,用wireshark剖析了很多協定,比如dns、tcp、ftp、http和nfs等。有些協定非常複雜,比如用于身份認證的kerberos,建議讀者學習此類内容時放慢閱讀速度,仔細領略其分析技巧。好在應用層協定相對獨立,是以當你遇到一個不感興趣的協定時,直接跳過也無妨。也有些協定相對簡單,比如dns,可能書中的内容你本來就懂了。不過再簡單的協定也有值得研究之處,比如你之前可能沒有意識到,dns查詢在基于tcp時效率有多低。這一部分還介紹了linux和windows上的一些小bug,它們居然在最流行的作業系統上存在了多年而沒有被發現。總體而言,這一部分的内容龐雜繁複,需要讀者花費最多的時間來閱讀。

第3部分“舉重若輕”,分享了一些用wireshark解決的真實案例,其中大部分是關于性能的,因為性能問題最為棘手。研究這些案例不一定對工作有直接幫助,因為遇到相同症狀的機率不高,但是用wireshark解決問題的思路都是相通的,相信讀者可以起到觸類旁通的效果。我們也許可以在幾個小時裡學會使用wireshark軟體,在幾天裡學會一個協定,但是思路的養成卻需要經年累月的鍛煉。最隐蔽的問題往往在網絡包中看不到蛛絲馬迹,我們不得不用推理、聯想甚至發散的思維來尋找原因。希望通過這些案例,有助于讀者們形成這種思維習慣。

本書每部分的結尾都有一篇非技術文章,它或者是行業趣聞,或者是本人的工作感觸,希望能增加讀者的閱讀樂趣。

你想知道的一些問題

1.wireshark是什麼?

wireshark是最流行的網絡嗅探器之一,能在多種平台上抓取和分析網絡包,比如windows、linux和mac等。它的圖形界面非常友好,但如果你覺得滑鼠操作不夠有腔調,也可以使用它的指令行形式——tshark。

2.學習wireshark有何意義?

很顯然,wireshark并不能幫我們變成網絡新貴,但它對技術上有所追求的工程師來說,有着金錢難以衡量的價值。用它來輔助學習,可以更深入地了解網絡協定;用它來排查故障,可以更快地發現問題。假如你是團隊中唯一掌握wireshark的網絡工程師,這個看家本領非常有助于你保持大牛地位。在同僚們手足無措時,你可以用最快的速度擺平,然後平靜地說一句:“問題解決了,我先去泡杯咖啡。”接下來就可以離開座位,讓他們一臉崇拜地研究你滿是tshark指令的螢幕了。

3.為什麼要寫作本書?

wireshark本身是免費的,在我們心存感激的同時,也注意到一些需要花大錢的地方——wireshark university的5天教育訓練費為3395美金,而且沒有在中國開課。對于大多數中國工程師來說,唯一的途徑就是自學,這便是我寫作本書的原因。

與其他網絡圖書不同,本書舍棄了公式和協定的條條框框,借助wireshark直覺地顯示網絡細節,讓原本拒人千裡的協定鮮活地呈現出來。你隻需稍加思考,相信很多原來的難點都可以迎刃而解。書中用wireshark解決的幾個問題,也全部源于真實案例,很可能會在工作中遇到。

4.本書适合哪些讀者?

如果你是公司it門部的老好人,常常有同僚咨詢各種疑難雜症,那你适合閱讀本書。從ping不通主機到通路不了共享目錄,都有活生生的例子,比如第1部分的《從一道面試題開始說起》和《初試牛刀:一個簡單的應用執行個體》。

如果你是技術支援工程師,每天被客戶當作出氣筒,本書簡直就是為你而作。下次就發個wireshark截屏給客戶,“看,明明是你們自己的vlan配錯了,當然連不上!”

如果你是資料中心的管理者,不時要跟習慣推卸責任的網管吵架,也請閱讀本書。它将示範如何通過抓到的包推出網絡狀況,甚至算出tcp擁塞視窗。如果那些網管員問你是怎麼算的,你隻需低調地掏出本書,讓他們看到發黃的紙張和印着咖啡漬的封面即可。

如果你在現場實施項目,常被好客的甲方挽留到深夜,請攜帶本書。本岀第3部分的幾篇現場調優案例,說不定會給你帶來共鳴。

如果你是高校網絡相關專業的一名偉大的人民教師,常因準備課件而發愁,也建議參考本書。上課時打開wireshark,也許比精美的課件更受學生歡迎。

其他職業的讀者請酌情參考上面内容。但如果你是一名神秘的黑客,我不得不直言相告:雖然wireshark能解析網絡包,卻不能幫你在殭屍電腦上抓包,是以本書作用有限。雖然《首席資訊安全官必須知道的五大黑客工具》之類的高大上文章會把wireshark列進黑客軟體,但是衆所周知,頭銜上包含“首席”二字的人已經不會親自使用這些工具。

5.閱讀本書需要什麼基礎?

要想閱讀本書,你需要具備基本的網絡知識,比如在學校裡上過網絡課,或者學習過ccna的教育訓練資料。對于缺乏網絡基礎的wireshark使用者,建議先閱讀一本較成系統的教材,個人推薦richard stevens的《tcp/ip詳解卷1:協定》。搭上《頸椎病防治一本通》也許還能免運費,前一本有助于你更快地學會wireshark,後一本則能在學會wireshark之後治療職業病。

由于本書涵蓋了很多協定,是以每位讀者都可能會遇到完全陌生的内容。好在大多協定都相對獨立,是以實在看不懂的部分也可以跳過。舉個例子,假如你的工作與kerberos毫無關系,那麼看不懂也沒必要強求,畢竟學起來頗費心血。

6.對閱讀本書有何建議?

本書有别于大部頭的網絡百科全書,是以無論你在車上還是如廁時皆可輕松閱讀。但有部分内容可能需要你放慢速度,甚至多讀幾遍才能了解。有個實驗環境是最好的,可以自己抓些網絡包對照學習。技術類知識就是這樣,如果你從最簡單的地方開始動手操作,接下來就如魚得水;如果從一開始隻依靠冥想,到後面就會走火入魔。

7.還有什麼要對讀者說的?

我心目中一本好的技術圖書應該是内容準确,表達通俗,容易了解的,本書也盡量追求這幾點(相信本書也做到了)。

為了保證内容的準确性,我邀請了一位windows技術支援、一位網絡存儲工程師、兩位經驗豐富的ccie審閱了初稿的大部分文章。如此興師動衆,是因為同時精通nfs、kerberos和tcp等協定的工程師并不多見。即便這樣,本書仍可能存在纰漏。如果你在閱讀過程中發現了任何問題,歡迎回報到本人郵箱[email protected]

在通俗與精确之間,本書選擇了前者。比如“抓包(packet)”一詞本身就不夠精确,wireshark抓到的應該是幀(frame)。但是出于表達習慣,我并沒有改成“抓幀”。又比如對同一個網絡分層的稱呼,工程師們也有不同的習慣,希望讀者能夠接受這些“混亂”。

容易了解是最難做到的一點。傳說白居易寫完一首詩,必定先請不識字的老太婆品鑒,一直要修改到老太婆聽懂為止。本書的初稿也邀請了我家的“老太婆”進行試讀,基本上她看懂後才敢交稿。當然我家這位“老太婆”在大學階段學習過網絡課程。我有時會在書中用圖表、類比和wireshark等方式來反複解釋同一知識點,就是為了輔助了解。如果讓部分讀者感到啰嗦,先在此表示歉意。

目錄

初試鋒芒

<a href="https://yq.aliyun.com/articles/100441">從一道面試題開始說起</a>

<a href="https://yq.aliyun.com/articles/100445">小試牛刀:一個簡單的應用執行個體</a>

<a href="https://yq.aliyun.com/articles/100462">excel檔案的儲存過程</a>

<a href="https://yq.aliyun.com/articles/100476">你一定會喜歡的技巧</a>

patrick的故事

wireshark的前世今生

庖丁解牛

nfs協定的解析

從wireshark看網絡分層

tcp的連接配接啟蒙

快遞員的工作政策—tcp視窗

重傳的講究

延遲确認與nagle算法

百家争鳴

簡單的代價—udp

剖析cifs協定

網絡江湖

dns小科普

一個古老的協定—ftp

上網的學問—http

無懈可擊的kerberos

tcp/ip的故事

舉重若輕

“一小時内給你答複”

午夜鈴聲

深藏功與名

棋逢對手

學無止境

一個技術男的自白

繼續閱讀