加深對網絡協議的理解一般能夠經過觀察協議的運行和不斷調試協議來大大加深,具體而言,就是觀察兩個協議實體之間交換的報文序列,深刻了解協議操做的細節,執行某些動做,而後觀察這些動做產生的結果。這能夠在仿真環境中或在諸如因特網的真實網絡環境中完成。您將在本課程中進行這些Wireshark實驗,您將使用本身的電腦在不一樣的場景下運行各類網絡應用程序(若是您沒法h得到計算機,或沒法安裝/運行Wireshark,您能夠借用朋友的電腦)。您將觀察您的計算機中網絡協議與Internet其餘主機的協議實體進行交換消息的動做。所以,您和您的計算機將是這些「實時」實驗室的一部分。你會經過動手實踐觀察到並學習到許多。html
在第一個Wireshark實驗中,你會熟悉Wireshark,並作一些簡單的抓包和觀察。 用於觀察執行協議實體之間交換的消息的基本工具稱爲分組嗅探器(packet sniffer)。顧名思義,分組嗅探器捕獲(「嗅探」)從計算機發送/接收的消息; 它還將存儲並顯示這些捕獲的消息中各類協議字段的內容。分組嗅探器自己是被動的。它只是觀察有計算機上運行的應用程序和協議發送和接收的消息,但自己不會發送分組。相似地,接收的分組也不會直接到達分組嗅探器。相反,分組嗅探器接收一份從您的機器中的應用程序和協議發送/接收的分組的副本。 圖1顯示了分組嗅探器的結構。在圖1的右側一般是在您計算機上運行的協議(在這種狀況下爲Internet協議)和應用程序(如Web瀏覽器或ftp客戶端)。圖1中虛線框中顯示的分組嗅探器是計算機中一種進階的常規軟件,而且包含兩部分。分組捕獲庫接收從計算機發送或接收的每一個鏈路層幀的副本。回顧書中第1.5節的討論(圖1-24),較高層協議(如HTTP,FTP,TCP,UDP,DNS或IP)交換的消息最終將被封裝在經過物理介質傳輸的鏈路層幀中,例如以太網電纜。在圖1中,假設的物理介質是以太網,所以全部上層協議最終被封裝在以太網幀中。捕獲全部鏈路層幀可讓您從計算機中得到全部協議和應用程序發送/接收的消息。 圖1-分組嗅探器結構 分組嗅探器的第二個組件是分組分析器(packet analyzer),顯示協議消息中全部字段的內容。爲了作到這一點,分組分析器必須「理解」協議交換的全部消息的結構。 例如,假設咱們有興趣在圖1中的HTTP協議交換的消息中顯示各類字段。分組分析器瞭解以太網幀的格式,所以能夠識別以太網幀中的IP數據報。它還能夠理解IP數據報格式,從而能夠提取IP數據報中的TCP段。 最後,它理解TCP段結構,所以能夠提取TCP段中包含的HTTP消息。 最終,它還理解HTTP協議,所以,就能夠知道HTTP消息的第一部分將包含字符串「GET」,「POST」或「HEAD」,如書中的圖2-8所示。 咱們將使用Wireshark分組嗅探器( www.wireshark.org/ )進行這些實驗,從而顯示在協議棧不一樣級別的協議發送/接收的消息的內容。(從技術上講,Wireshark是一個使用計算機中的分組捕獲庫的分組分析器)。 Wireshark是一種免費的網絡協議分析器,可在Windows,Mac和Linux / Unix計算機上運行。 它是咱們實驗室的理想分組分析器 - 由於它穩定,具備龐大的用戶基礎和文檔支持,包括用戶指南( www.wireshark.org/docs/wsug_h… ),手冊( www.wireshark.org/docs/man-pa… )和常見問題細節( www.wireshark.org/faq.html ),豐富的功能,包括分析數百種協議,以及精心設計的用戶界面。 它能夠運行在使用以太網,串行(PPP和SLIP),802.11無線局域網和許多其餘鏈路層技術的計算機上(若是操做系統支持Wireshark這樣作)。git
直接去官網下載便可 按照步驟提示一步步安裝,並不須要配置什麼東西。github
若是找不到軟件的圖標,就在開始欄打開便可, 注意:必須以管理員模式打開,不然會彈出警告的界面(可能不一樣的電腦有不一樣的設置)。 打開以後就是這個樣子: 下面來測試下Wireshark的抓包功能(這裏我點擊的是WLAN,注意:這裏須要點擊後面有波動的接口), 點擊開始,就會開始抓包,好比,我這裏進入的網站是:http://www.51Nod.com
(注意:該軟件不能捕獲https協議,由於那是加密的),並且我在過濾器中輸入的是http
,也就是隻會顯示http
協議的內容。瀏覽器
這是捕獲到的結果,具體怎麼分析各類抓取的信息,我也不太知道,還在學習中。 若是要保存結果,首先得暫停抓包,而後另存爲便可。markdown