Wireshark基本介紹和學習TCP三次握手

Wireshark基本介紹和學習TCP三次握手

原文:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html

wireshark介紹

wireshark的官方下載網站: http://www.wireshark.org/

wireshark是非常流行的網絡封包分析軟件,功能十分強大。可以截取各種網絡封包,顯示網絡封包的詳細信息。

wireshark是開源軟件,可以放心使用。 可以運行在Windows和Mac OS上。

?

使用wireshark的人必須了解網絡協議,否則就看不懂wireshark了。

Wireshark不能做的

為了安全考慮,wireshark只能查看封包,而不能修改封包的內容,或者發送封包。

?

Wireshark VS Fiddler

Fiddler是在windows上運行的程序,專門用來捕獲HTTP,HTTPS的。

wireshark能獲取HTTP,也能獲取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的內容

?

總結,如果是處理HTTP,HTTPS 還是用Fiddler,? 其他協議比如TCP,UDP 就用wireshark

同類的其他工具

微軟的network monitor

sniffer?

?

什么人會用到wireshark

1. 網絡管理員會使用wireshark來檢查網絡問題

2. 軟件測試工程師使用wireshark抓包,來分析自己測試的軟件

3. 從事socket編程的工程師會用wireshark來調試

4. 聽說,華為,中興的大部分工程師都會用到wireshark。

?

總之跟網絡相關的東西,都可能會用到wireshark.

wireshark 開始抓包

開始界面

wireshark是捕獲機器上的某一塊網卡的網絡包,當你的機器上有多塊網卡的時候,你需要選擇一個網卡。

點擊Caputre->Interfaces.. 出現下面對話框,選擇正確的網卡。然后點擊"Start"按鈕, 開始抓包

?

Wireshark 窗口介紹

?

WireShark 主要分為這幾個界面

1. Display Filter(顯示過濾器),? 用于過濾

2. Packet List Pane(封包列表), 顯示捕獲到的封包, 有源地址和目標地址,端口號。 顏色不同,代表

3. Packet Details Pane(封包詳細信息), 顯示封包中的字段

4. Dissector Pane(16進制數據)

5. Miscellanous(地址欄,雜項)

?

Wireshark 顯示過濾

使用過濾是非常重要的, 初學者使用wireshark時,將會得到大量的冗余信息,在幾千甚至幾萬條記錄中,以至于很難找到自己需要的部分。搞得暈頭轉向。

過濾器會幫助我們在大量的數據中迅速找到我們需要的信息。

過濾器有兩種,

一種是顯示過濾器,就是主界面上那個,用來在捕獲的記錄中找到所需要的記錄

一種是捕獲過濾器,用來過濾捕獲的封包,以免捕獲太多的記錄。 在Capture -> Capture Filters 中設置

?

保存過濾

在Filter欄上,填好Filter的表達式后,點擊Save按鈕, 取個名字。比如"Filter 102",

Filter欄上就多了個"Filter 102" 的按鈕。

過濾表達式的規則

表達式規則

?1. 協議過濾

比如TCP,只顯示TCP協議。

2. IP 過濾

比如 ip.src ==192.168.1.102 顯示源地址為192.168.1.102,

ip.dst==192.168.1.102, 目標地址為192.168.1.102

3. 端口過濾

tcp.port ==80,? 端口為80的

tcp.srcport == 80,? 只顯示TCP協議的愿端口為80的。

4. Http模式過濾

http.request.method=="GET",?? 只顯示HTTP GET方法的。

5. 邏輯運算符為 AND/ OR

常用的過濾表達式

過濾表達式用途
http只查看HTTP協議的記錄
ip.src ==192.168.1.102 or ip.dst==192.168.1.102?源地址或者目標地址是192.168.1.102
??
??

?

?

?

?

?

?

?

封包列表(Packet List Pane)

封包列表的面板中顯示,編號,時間戳,源地址,目標地址,協議,長度,以及封包信息。 你可以看到不同的協議用了不同的顏色顯示。

你也可以修改這些顯示顏色的規則,? View ->Coloring Rules.

?

封包詳細信息 (Packet Details Pane)

這個面板是我們最重要的,用來查看協議中的每一個字段。

各行信息分別為

Frame:?? 物理層的數據幀概況

Ethernet II: 數據鏈路層以太網幀頭部信息

Internet Protocol Version 4: 互聯網層IP包頭部信息

Transmission Control Protocol:? 傳輸層T的數據段頭部信息,此處是TCP

Hypertext Transfer Protocol:? 應用層的信息,此處是HTTP協議

?

wireshark與對應的OSI七層模型

TCP包的具體內容

?從下圖可以看到wireshark捕獲到的TCP包中的每個字段。

?

?

實例分析TCP三次握手過程

看到這, 基本上對wireshak有了初步了解, 現在我們看一個TCP三次握手的實例

?

?三次握手過程為

?

這圖我都看過很多遍了, 這次我們用wireshark實際分析下三次握手的過程。

打開wireshark, 打開瀏覽器輸入 http://www.cnblogs.com/tankxiao

在wireshark中輸入http過濾, 然后選中GET /tankxiao HTTP/1.1的那條記錄,右鍵然后點擊"Follow TCP Stream",

這樣做的目的是為了得到與瀏覽器打開網站相關的數據包,將得到如下圖

圖中可以看到wireshark截獲到了三次握手的三個數據包。第四個包才是HTTP的, 這說明HTTP的確是使用TCP建立連接的。

?

第一次握手數據包

客戶端發送一個TCP,標志位為SYN,序列號為0, 代表客戶端請求建立連接。 如下圖

第二次握手的數據包

服務器發回確認包, 標志位為 SYN,ACK. 將確認序號(Acknowledgement Number)設置為客戶的I S N加1以.即0+1=1, 如下圖

第三次握手的數據包

客戶端再次發送確認包(ACK) SYN標志位為0,ACK標志位為1.并且把服務器發來ACK的序號字段+1,放在確定字段中發送給對方.并且在數據段放寫ISN的+1, 如下圖:

?就這樣通過了TCP三次握手,建立了連接

posted on 2015-01-21 16:12 Ethon 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/wakey/p/4239176.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/273438.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/273438.shtml
英文地址,請注明出處:http://en.pswp.cn/news/273438.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

“_”通配符

6.5.3 “_”通配符 “_”通配符的功能與“%”通配符基本相同,只是它只表示任意一個字符的匹配。當然,要表示兩個字符的匹配,就需要使用兩個“_”通配符,即寫成“__”。 只有在用戶確定所要查詢的字符串的個數,只是不…

“[]”通配符

6.5.4 “[]”通配符 “[]”通配符用于指定一系列的字符,只要滿足這些字符其中之一,且位置出現在“[]”通配符的位置的字符串就滿足查詢條件。 當然,各種通配符也可以組合使用。組合使用各種通配符時,一定要弄清其表示的匹配條…

QT分頁控件,開源,供大家使用

下載地址:http://files.cnblogs.com/dragonsuc/qt5.rar 轉載于:https://www.cnblogs.com/dragonsuc/p/4242342.html

使用ESCAPE定義轉義符

6.5.5 使用ESCAPE定義轉義符 在使用LIKE關鍵字進行模糊查詢時,“%”、“_”和“[]”單獨出現時,會被認為是通配符。為了在字符數據類型的列中查詢是否存在百分號(%)、下劃線(_)或者方括號([]&…

STL學習小結

STL就是Standard Template Library,標準模板庫。這可能是一個歷史上最令人興奮的工具的最無聊的術語。從根本上說,STL是一些“容器”的集合,這些“容器”有list, vector,set,map等,STL也是算法和其它一些組件的集合。這里的“容器…

內連接(INNER JOIN)

9.3.3 內連接(INNER JOIN) 內連接也稱為等同連接,返回的結果集是兩個表中所有相匹配的數據,而舍棄不匹配的數據。也就是說,在這種查詢中,DBMS只返回來自源表中的相關的行,即查詢的結果表包含的…

幾個 PHP 的“魔術常量”

PHP 向它運行的任何腳本提供了大量的預定義常量。不過很多常量都是由不同的擴展庫定義的,只有在加載了這些擴展庫時才會出現,或者動態加載后,或者在編譯時已經包括進去了。 有八個魔術常量它們的值隨著它們在代碼中的位置改變而改變。例如 __…

外連接(OUTER JOIN)

9.3.4 外連接(OUTER JOIN) 不管是內連接還是帶WHERE子句的多表查詢,都組合自多個表,并生成結果表。換句話說,如果任何一個源表中的行在另一個源表中沒有匹配,DBMS將不把該行放在最后的結果表中。 而外連…

Android應用切換皮膚功能實現

原文地址:http://www.eoeandroid.com/thread-318159-1-1.html 現在大多數android應用都支持切換皮膚的功能。比如千千靜聽,墨跡天氣等等。本文介紹兩種切換皮膚的方法。1.第一種是通過安裝皮膚apk的方式。當安裝了皮膚apk包之后,主程序只需要…

交叉連接(CROSS JOIN)

9.3.5 交叉連接(CROSS JOIN) 除了在FROM子句中使用逗號間隔連接的表外,SQL還支持另一種被稱為交叉連接的操作,它們都返回被連接的兩個表所有數據行的笛卡爾積,返回到的數據行數等于第一個表中符合查詢條件的數據行數…

[BZOJ 1046] [HAOI2007] 上升序列 【DP】

題目鏈接:BZOJ - 1046 題目分析 先倒著做最長下降子序列,求出 f[i],即以 i 為起點向后的最長上升子序列長度。 注意題目要求的是 xi 的字典序最小,不是數值! 如果輸入的 l 大于最長上升子序列長度,輸出 Imp…

UNION運算符

9.4.2 UNION運算符 在SQL中,UNION運算符用于執行集合并的運算。關于UNION運算符的使用,這里通過實例來說明。 實例16 使用UNION運算符執行集合并的運算 在STUDENT表中,查詢選修了1號或者10號課程的學生的學號、姓名、所在系信息。實例代…

「OC」類的深入研究、description方法和sel

一、類的深入研究 (一)類的本質 類本身也是一個對象,是class類型的對象,簡稱“類對象”。 Class類型的定義: Typedef struct obj class *class; 類名就代表著類對象,每個類只有一個類對象。 利用class 創建…

UNION JOIN 連接表

9.4.5 UNION JOIN 連接表 使用UNION JOIN進行多表連接,與9.3節介紹的各種表的連接類型不同,它并不對表中的數據進行任何匹配處理,而只是把來自一個源表中的行與另一個源表中的行聯合起來,生成的結果表中包括第一個表中的所有行和…

如何從一個對話框彈出單文檔視圖

如何從一個對話框彈出單文檔視圖 分類: Visual C2006-06-01 20:02 9323人閱讀 評論(19) 收藏 舉報文檔initializationmfctemplatesvalidationcommand朱金燦 相信不少人進行數據庫編程都有這樣的問題,如何設置一個登陸框,通過登陸框來…

獲取網址中參數的方式

1: $c$_GET[c]; 獲取這種形式的參數http://127.0.0.1/?c1 2: example.com/class/function/ID。 id是function函數的參數,這樣function函數可以獲取到ID的值當作函數的參數傳遞進自己。3:$_GET數組是超全局變量數組,…

js為下拉列表賦值

function addItemmonth() { var tOption document.createElement("Option");tOption.text "月明顯";tOption.selected true;tOption.value document.all("DropDownList3").options.length 1;document.all("DropDownList3").add(t…

[原創]html5游戲_五線譜打音符

html5手機游戲—五線譜打音符 1.[用五線譜打唱名] 2.[用唱名打五線譜] 3.[無限練習模式] 用來熟悉五線譜上音符的位置 代碼不難,這回注釋還是有認真寫的[只是廢代碼沒有全部刪除。。。] 效果圖: --- 在線地址: http://wangxinsheng.herokuapp.com/staffg…

C#文件操作基礎之File類和FileInfo類

文件和I/O流的差異: 文件是一些具有永久存儲及特定順序的字節組成的一個有序的、具有名稱的集合。因此對于文件,我們經常想到文件夾路徑,磁盤存儲,文件和文件夾名等方面。I/O流提供一種后備存儲寫入字節和從后備存儲讀取字節的方式…

poj 2051 Argus(優先隊列)

題目鏈接: http://poj.org/problem?id2051 思路分析: 優先級問題,使用優先隊列求解;當執行某個任務后,再增加一個任務到隊列中, 該任務的優先級為執行任務的時間加上其時間間隔,如此反復直到求出前K個執行任務。 代碼&#xff1a…