使用網絡分析軟件學習HTTP協議(精).doc_第1頁
使用網絡分析軟件學習HTTP協議(精).doc_第2頁
使用網絡分析軟件學習HTTP協議(精).doc_第3頁
使用網絡分析軟件學習HTTP協議(精).doc_第4頁
使用網絡分析軟件學習HTTP協議(精).doc_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

使用網絡分析軟件學習 HTTP 協議一、 目的學習網絡分析也有段時間了, 到現在也算是逐漸入門了吧, 想想自己以前剛接觸時, 不知道 從何入手。學習網絡分析,肯定要從協議入手,如果只看相關資料,這樣印象不深刻,而且 也沒什么實戰的經驗, 速度和效率都慢了很多。 后來有高人指點了我, 用網絡分析軟件來學 習協議比較好, 從此我開始了另外一種方法的學習。 呵呵, 自己作為一個初學者, 想把自己 學習的方法寫出來,和大家交流交流,個人認為方法是最重要的。TCP/IP協議族里的協議太多了,這個還的靠時間的積累:說了這么多廢話,嘿嘿!其實應用層協議是我們經常用到的協議,比如 HTTP , FTP 等等,下面我們就來談談 HTTP 協議(不看網頁不可能吧 -.-# ,學習其他協議時可以用類似的方法,靈活變通 。 o二、 試驗環境我們這里試驗的網絡環境很簡單,簡單描述一下:1. 網絡環境 :本人電腦通過代理服務器 ADSL 撥號上網,本機 IP=2;2. 操作系統 :本人電腦使用 Windows XP+SP2;3. 工具 (關鍵喲 :我接觸過 Sniffer , OmniPeek , ethereal ,科來網絡分析系統,個人相對 這幾種軟件用的稍微熟悉的還是 OmniPeek ,這里我就以 OmniPeek 為學習工具。三、 具體操作我試驗過程也很簡單, 訪問網頁大家都很清楚吧?我這里只是用更加深入的方式來了解訪問 網頁的種種過程及原理,具體操作如下:1. 打開 OminPeek 的設置, 在 Filers 里面設置 Address filer:2和 protocl filter選 擇 HTTP 協議,如圖 1,(圖 1 過濾器設置說明:通過設置圖 1的過濾器, 我們就可以只捕獲 2使用 HTTP 協議的通訊了: 2. 開始捕獲,使用主機 2訪問網頁 ,抓取數據包,如圖 2, (圖 2 抓取的數據包說明:呵呵,準備就緒,開始捕獲,我們訪問 http:論壇,捕獲到的數據包。 四、 原理知識使用網絡分析軟件進行對協議學習, 并不是叫我們都拋開那些資料, 那些理論原理, 我這里 所說的就是“結合” ,了解協議的結構,工作原理,相關特征是很重要的,這時我們在通過 網絡分析軟件來操作, 就會更加明確。 我們還是先介紹一下 HTTP 協議的工作原理吧 (不要 怪我羅嗦喲 。1. TCP/IP分層結構TCP/IP的層次結構和工作原理,我們就不詳細介紹了,這里就針對 HTTP 進行一下說明:簡單的說 HTTP 協議是應用層協議, 通過下層傳輸層的 TCP 進行可靠連接, 網絡層 IP 選路, 鏈路層 Ethernet II,最后在物理上以位(Bit 進行傳輸。應用層 -HTTP傳輸層 -TCP網絡層 -IP 鏈路層 -Ethernet II2. HTTP協議工作方式由于 HTTP 協議是基于請求/響應模式的(相當于客戶機/服務器。一個客戶機與服務器建立 連接后, 發送一個請求給服務器, 請求方式的格式為:統一資源標識符(URL、 協議版本號, 后邊是 MIME 信息包括請求修飾符、客戶機信息和可能的內容。服務器接到請求后,給予相 應的響應信息, 其格式為一個狀態行, 包括信息的協議版本號、 一個成功或錯誤的代碼, 后 邊是 MIME 信息包括服務器信息、實體信息和可能的內容。這個過程就好像我們打電話訂貨一樣, 我們可以打電話給商家, 告訴他我們需要什么規格的 商品, 然后商家再告訴我們什么商品有貨, 什么商品缺貨。 這些, 我們是通過電話線用電話 聯系(HTTP 是通過 TCP/IP。HTTP 協議的內部操作過程:基于 HTTP 協議的客戶/服務器模式的信息交換過程,它分四個 過程:建立連接、發送請求信息、發送響應信息、關閉連接。這就好像上面的例子,我們電 話訂貨的全過程。其實簡單說就是任何服務器除了包括 HTML 文件以外, 還有一個 HTTP 駐留程序, 用于響應用 戶請求。你的瀏覽器是 HTTP 客戶,向服務器發送請求,當瀏覽器中輸入了一個開始文件或 點擊了一個超級鏈接時, 瀏覽器就向服務器發送了 HTTP 請求, 此請求被送往由 IP 地址指定 的 URL。駐留程序接收到請求,在進行必要的操作后回送所要求的文件。在這一過程中,在 網絡上發送和接收的數據已經被分成一個或多個數據包(packet, 每個數據包包括:要傳送 的數據;控制信息,即告訴網絡怎樣處理數據包。TCP/IP 決定了每個數據包的格式。五、 數據包分析我們現在來分析剛剛抓取的數據包, 看看 HTTP 協議怎樣進行建立連接, 發送請求信息, 發 送響應信息,關閉連接的過程。1. 建立連接第 1.2.3個數據包是 HTTP 協議使用下層 TCP 協議通過三次握手原則建立連接的過程, 如圖 2所示, (圖 3 建立連接說明:圖 3中選中三個數據包描述的是 TCP 三次握手的過程。這樣我們可以知道, HTTP 通訊是發生在 TCP 協議之上,缺省端口是 TCP 的 80端口,所以 HTTP 是一個可靠的協議。至于三次握手原理,看解碼: 上面三個圖分別為前三個數據包中的 TCP 標記信息,反映了 TCP 的三次握手過程:客戶端 向 Web 服務器發送一個 SYN 同步連接請求, Web 服務器收到請求后向客戶端發送一個SYN/ACK 數據包,同意客戶端的連接請并向客端發起同步,客戶端收到該數據包后再次確 認,從而成功建立 TCP 連接。 2. 發送請求信息 接下來我們再來觀察第四個數據包, 這個是主機 2 發起的 HTTP 請求包, 如圖 4, (圖 4 發送請求信息) 圖 4 中,我們從數據包解碼中看到 HTTP 協議發送請求信息的一些特征。打開一個連接后, 客戶機把請求消息送到服務器的停留端口上,完成提出請求動作。 圖 中的 請求報文 l l l l l l l l l HTTP Command: /方法字段,說明其使用的是 GET 方法 URI: / /URL 字段,發送請求至保存該網站的服務器。 HTTP Version: /http 協議版本字段,用是的 http/1.1 版本 Accept: /指示可被接受的請求回應的介質類型范圍列表。 Accept-Language: /限制了請求回應中首選的語言為簡體中文,否則使用默認 值。 Accept-Encoding: /限制了回應中可接受的內容編碼值,指示附加內容解碼方式 為 gzip,deflate. User-Agent: /定義用戶代理,即發送請求的瀏覽器類型為 Mozilla/4.0 Host: rn Connection: Keep-Alivern /定義了目標所在的主機 /告訴服務器使用持久連接 3. 發送響應信息 第 6 個數據包是服務器的響應包信息,從圖 4 可以看出, (圖 5 分析解碼,我們可以知道這些內容: 響應報文 服務器在處理完客戶的請求之后,要向客戶機發送響應消息。 圖 中的 回應報文 l l l l l l l l l l l HTTP Version: HTTP/1.1 /服務器用的是 HTTP/1.1 版本 HTTP Status : 200 /請求成功,信息可以讀取,包含在響應的報文中 Date: /指服務器從文件系統中檢索到該對象,插入到響應報文,并發送該響應 報文的時間 Server: /表明刻報文是由一個 Apache/2.0.52 的服務器產生的 X-Powered-By: /表明是使用 PHP(版本)的動態網頁 Set- cookie: / Vary: / Content-Length: /表明實體的長度 Connection: /告訴客戶機在報文發送完畢后仍然保持連接 Content-Type: /表明實體中的對象是 html 文檔 Binary Data: /二進制數據 說明:在服務器給的回應請求中,我們可以從狀態碼中看到訪問的相關信息。 狀態碼表示響應類型,常用的有: l l l l l 保留 表示請求成功地接收 為完成請求客戶需進一步細化請求 客戶錯誤 服務器錯誤 在我們抓到的數據包中,狀態碼是 ,表明請求是成功接受請求。 關閉連接 最后 個數據包()就是通訊的關閉過程,建立一個連接需要進行三次握手, 而終止一個連接則需要經過 次握手。 這是由于 連接是全雙工的, 每個方向上都必須單 獨地進行關閉。 次握手實際上就是兩個方向上單獨關閉的過程。這里就不詳細說明了, 六、 小結 從上面的講解, 我想咱們對 HTTP 協議也了解了很多了吧,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論