目錄
- 一、簡介
- 二、安裝
- 三、抓包示例
- 四、Wireshark抓包分析TCP三次握手
- 五、Wireshark分析tcpdump抓包結果
一、簡介
Wireshark是一款非常流行的網路封包分析軟體,可以截取各種網路資料包,并顯示資料包詳細資訊,
為了安全考慮,wireshark只能查看封包,而不能修改封包的內容,或者發送封包,
wireshark能獲取HTTP,也能獲取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的內容
二、安裝
2.1、安裝地址
Wireshark開源地址:https://github.com/wireshark/wireshark
Wireshark下載地址:https://www.wireshark.org/download
安裝的話,就是傻瓜式的一步步點滑鼠安裝,沒什么可說的了,安裝步驟這里就省略了,
三、抓包示例
3.1、Wireshark抓包簡單流程
1)主界面

2)3.2、 選擇選單欄上【捕獲】 -> 【選項】,當然也可以點擊【捕獲選項】的圖示一步到位,勾選【WLAN】網卡(這里需要根據各自電腦網卡使用情況選擇,簡單的辦法可以看使用的IP對應的網卡),點擊【開始】,啟動抓包,

3)wireshark啟動后,wireshark處于抓包狀態中,

4)在window CMD命令列ping baidu.com

5)通過在過濾欄設定過濾條件進行資料包串列過濾,以免抓取無用包影響查看,這里就以ping baidu.com為例,只過濾百度的ip,設定如下:
ip.addr == 39.156.69.79 and icmp
表示只顯示ICPM協議且源主機IP或者目的主機IP為39.156.69.79的資料包,注意:協議名稱icmp要小寫,

關于Wireshark抓包流程就是如上步驟,
3.2、Wireshark抓包界面介紹

說明:資料包串列區中不同的協議使用了不同的顏色區分,協議顏色標識定位在選單欄【視圖】-> 【著色規則】,如下所示:

WireShark 主要分為這幾個界面:
1)Display Filter(顯示過濾器), 用于設定過濾條件進行資料包串列過濾,選單路徑:【分析】-> 【Display Filters】,

2)Packet List Pane(資料包串列), 顯示捕獲到的資料包,每個資料包包含編號,時間戳,源地址,目標地址,協議,長度,以及資料包資訊, 不同協議的資料包使用了不同的顏色區分顯示,

3)Packet Details Pane(資料包詳細資訊), 在資料包串列中選擇指定資料包,在資料包詳細資訊中會顯示資料包的所有詳細資訊內容,資料包詳細資訊面板是最重要的,用來查看協議中的每一個欄位,各行資訊分別為:
(1)Frame: 【物理層】的資料幀概況
(2)Ethernet II: 【資料鏈路層】以太網幀頭部資訊
(3)Internet Protocol Version 4: 互聯網層IP包頭部資訊,屬于【網路層】
(4)Transmission Control Protocol: 【傳輸層】T的資料段頭部資訊,此處是TCP
(5)Hypertext Transfer Protocol: 【應用層】的資訊,此處是HTTP協議
TCP包的具體內容

4)Dissector Pane(資料包位元組區),
3.3、Wireshark過濾器設定
wireshark工具中自帶了兩種型別的過濾器,學會使用這兩種過濾器會幫助我們在大量的資料中迅速找到我們需要的資訊,
1)抓包過濾器
捕獲過濾器的選單欄路徑為【捕獲】 -> 【捕獲過濾器】,用于在抓取資料包前設定,

如何使用?可以在抓取資料包前設定如下:

ip host www.baidu.com表示只捕獲主機host為www.baidu.com的ICMP資料包,獲取結果如下:

2)顯示過濾器
顯示過濾器是用于在抓取資料包后設定過濾條件進行過濾資料包,通常是在抓取資料包時設定條件相對寬泛或者沒有設定導致抓取的資料包內容較多時使用顯示過濾器設定條件過濾以方便分析,

然后可以通過設定顯示幕過濾條件進行提取分析資訊,ip.addr == 183.232.231.174 and icmp,并進行過濾,

3.4、以上兩者間的語法以及它們的區別
1、wireshark過濾器運算式的規則
1)抓包過濾器語法和實體
抓包過濾器型別Type(host、net、port)、方向Dir(src、dst)、協議Proto(ether、ip、tcp、udp、http、icmp、ftp等)、邏輯運算子(&& 與、|| 或、!非)
2)協議過濾
比較簡單,直接在抓包過濾框中直接輸入協議名即可,
tcp,只顯示TCP協議的資料包串列
http,只查看HTTP協議的資料包串列
icmp,只顯示ICMP協議的資料包串列
3)IP過濾
host 192.168.182.104
src host 192.168.182.104
dst host 192.168.182.104
4)埠過濾
port 80
src port 80
dst port 80
5)邏輯運算子&& 與、|| 或、!非
src host 192.168.182.104 && dst port 80 抓取主機地址為192.168.182.80、目的埠為80的資料包
host 192.168.182.104 || host 192.168.182.102 抓取主機為192.168.182.104或者192.168.182.102的資料包
!broadcast 不抓取廣播資料包
2、顯示過濾器語法和實體
1)比較運算子
比較運算子有== 等于、!= 不等于、> 大于、< 小于、>= 大于等于、<=小于等于,
2)協議過濾
比較簡單,直接在Filter框中直接輸入協議名即可,注意:協議名稱需要輸入小寫,
tcp,只顯示TCP協議的資料包串列
http,只查看HTTP協議的資料包串列
icmp,只顯示ICMP協議的資料包串列
3)ip過濾
ip.src =https://www.cnblogs.com/liugp/p/=192.168.182.104 顯示源地址為192.168.182.104的資料包串列
ip.dst==192.168.182.104, 顯示目標地址為192.168.182.104的資料包串列
ip.addr == 192.168.182.104 顯示源IP地址或目標IP地址為192.168.182.104的資料包串列
4)埠過濾
tcp.port ==80, 顯示源主機或者目的主機埠為80的資料包串列,
tcp.srcport == 80, 只顯示TCP協議的源主機埠為80的資料包串列,
tcp.dstport == 80,只顯示TCP協議的目的主機埠為80的資料包串列,
4)Http模式過濾
http.request.method=="GET", 只顯示HTTP GET方法的,
5)邏輯運算子為 and/or/not
過濾多個條件組合時,使用and/or,比如獲取IP地址為183.232.231.174的ICMP資料包運算式為ip.addr == 183.232.231.174 and icmp
四、Wireshark抓包分析TCP三次握手

1)TCP三次握手連接建立程序:
- Step1:客戶端發送一個SYN=1,ACK=0標志的資料包給服務端,請求進行連接,這是第一次握手;
- Step2:服務端收到請求并且允許連接的話,就會發送一個SYN=1,ACK=1標志的資料包給發送端,告訴它,可以通訊了,并且讓客戶端發送一個確認資料包,這是第二次握手;
- Step3:服務端發送一個SYN=0,ACK=1的資料包給客戶端端,告訴它連接已被確認,這就是第三次握手,TCP連接建立,開始通訊,
2)wireshark抓包獲取訪問指定服務端資料包
- Step1:啟動wireshark抓包,打開瀏覽器輸入www.huawei.com,
- Step2:使用ping www.huawei.com獲取IP,

- Step3:輸入過濾條件獲取待分析資料包串列ip.addr == 120.240.100.48 and tcp,這里只抓取tcp的包,要不然其它資訊有點多不好看,

圖中可以看到wireshark截獲到了三次握手的三個資料包,但是從上圖看不止一個三次握手;其實還有一個重要的資訊,如果眼尖的同學,會發現后面還有兩次TLS的握手,沒錯,因為是通過https去發請求的,三次握手后就是TLS的握手了,雖然上面是通過http訪問,但是會跳到https,流程圖大致如下:

以下就是TLS握手程序

五、Wireshark分析tcpdump抓包結果
【檔案】->【打開】選擇要決議的檔案,最后點擊右邊的箭頭開始決議,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/488920.html
標籤:其他
上一篇:Django登錄表單,使用Bootstrap進行樣式化無濟于事
下一篇:攻防世界pwn題:forgot
