【我的Android進階之旅】Wireshark的下載安裝與使用教程

以碼爲劍,面對疾風


如果你還沒有安裝wireshark的話,請點擊這裏

[wireshark百度網盤下載地址](https://pan.baidu.com/s/1pOwzv5WzmlSE_GK2vcKKqA)

打開Wireshark抓包工具開始抓包會看到如下展開內容:
這裏我是對wlan進行抓包,192.168.2.112是我當前wifi的ip地址。

這裏寫圖片描述

點擊某個包,可以查看具體內容,差不多剛好對於五層協議:

  • Frame:物理層的數據幀概況。
  • Ethernet II:數據鏈路層以太網幀頭部信息。
  • Internet Protocol Version 4:互聯網層IP包頭部信息。
  • Transmission Control Protocol:傳輸層的數據段頭部信息,此處是TCP協議。
    User Datagram Protocol:UDP協議
  • Hypertext Transfer Protocol:應用層的信息,此處是HTTP協議。

一、各層分析:

將上訴Frame ,Ethernet || 等展開可看到具體傳輸信息:

1、物理層Frame

-Frame 5: 66 bytes on wire (528 bits), 66 bytes captured(捕獲) (528 bits) on interface 0   //5號幀,對方發送66字節,實際收到66字節

-Interface id: 0 (\Device\NPF_{37239901-4A63-419C-9693-97957A8232CD})     //接口id爲0 

-Encapsulation type: Ethernet (1)  //封裝類型

-Arrival Time: Jul  5, 2017 15:14:31.865685000 //捕獲日期和時間(中國標準時間)

-[Time shift for this packet: 0.000000000 seconds]
-Epoch Time: 1499238871.865685000 seconds
-[Time delta from previous captured frame: 0.006861000 seconds]  //與前一包時間間隔
-[Time delta from previous displayed frame: 0.006861000 seconds]
-[Time since reference or first frame: 0.613985000 seconds] //#此包與第一幀的時間間隔

-Frame Number: 5                      //幀序號
-Frame Length: 66 bytes (528 bits)    //幀長度
-Capture Length: 66 bytes (528 bits)  //捕獲字節長度 
-[Frame is marked: False]             //是否做了標記
-[Frame is ignored: False]            //是否被忽略
-[Protocols in frame: eth:ethertype:ip:tcp] //幀內封裝的協議層次結構
-[Coloring Rule Name: HTTP]  //着色標記的協議名稱
-[Coloring Rule String: http || tcp.port == 80 || http2] //着色規則顯示的字符串
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

2、數據鏈路層以太網幀頭部信息:

-Ethernet II, Src: Tp-LinkT_f5:3e:62 (c0:61:18:f5:3e:62), Dst: IntelCor_09:65:a5 (58:fb:84:09:65:a5)

- Destination: IntelCor_09:65:a5 (58:fb:84:09:65:a5) //目的MAC地址   
- Source: Tp-LinkT_f5:3e:62 (c0:61:18:f5:3e:62) //源MAC地址(就是我電腦的MAC地址)
- Type: IPv4 (0x0800)   //0x0800表示使用IP協議
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

這裏寫圖片描述


3、互聯網層IP包頭部信息:

Internet Protocol Version 4, Src: 192.168.2.112, Dst: 116.211.185.142
    0100 .... = Version: 4                   //IPV4協議
    .... 0101 = Header Length: 20 bytes (5)  //包頭長度

-Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)                               //差分服務字段
-Total Length: 52                      //IP包總長度
-Identification: 0x3849 (14409)        //標誌字段
-Flags: 0x02 (Don't Fragment)          //標記字段
-Fragment offset: 0                    //分的偏移量
-Time to live: 128                     //生存期TTL
-Protocol: TCP (6)                     //此包內封裝的上層協議爲TCP
-Header checksum: 0xd100 [validation disabled] //頭部數據的校驗和
-[Header checksum status: Unverified] //頭部數據校驗狀態
-Source: 192.168.2.112                //源IP地址
-Destination: 116.211.185.142         //目的IP地址
-[Source GeoIP: Unknown]              //基於地理位置的IP
-[Destination GeoIP: Unknown]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

這裏寫圖片描述

這裏寫圖片描述


4、傳輸層TCP數據段頭部信息:

這裏寫圖片描述

這裏寫圖片描述

Transmission Control Protocol, Src Port: 60606, Dst Port: 80, Seq: 0, Len: 0

-Source Port: 60606       //源端口號(ecbe)
-Destination Port: 80     //目的端口號(0050)
-[Stream index: 0]        
-[TCP Segment Len: 0]
-Sequence number: 0    (relative sequence number)  //序列號(相對序列號)(四個字節fd 3e dd a2)
-Acknowledgment number: 0   //確認號(四個字節00 00 00 00)
-Header Length: 32 bytes    //頭部長度(0x80)
-Flags: 0x002 (SYN)         //TCP標記字段
-Window size value: 8192    //流量控制的窗口大小(20 00)
-[Calculated window size: 8192] 
-Checksum: 0x97ad [unverified]   //數據段的校驗和(97 ad)
-[Checksum Status: Unverified]
-Urgent pointer: 0      //緊急指針(00 00)
-Options: (12 bytes), Maximum segment size, No-Operation (NOP), Window scale, No-Operation (NOP), No-Operation (NOP), SACK permitted  //選項(可變長度)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

UDP數據段首部:

這裏寫圖片描述

這裏寫圖片描述

User Datagram Protocol, Src Port: 7273, Dst Port: 15030
-Source Port: 7273               //源端口(1c 69)
-Destination Port: 15030         //目的端口(3a 6b)
-Length: 1410                    //長度(05 82)
-Checksum: 0xd729 [unverified]   //校驗和(d7 29)
-[Checksum Status: Unverified]
-[Stream index: 6335]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

怎麼查看我們的有效負載data:

![這裏寫圖片描述](https://img-blog.csdn.net/20180913114630199?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d6eTkwMTIxMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

如上所示,我們的data 都是以16進制的ASCII碼顯示,需要按照以下方法來查看

這裏寫圖片描述

右鍵單擊我們的data,選擇顯示分組字符,就能看到我們熟悉的字符串格式包體內容了

二、Wireshark分析數據包:

1、在過濾器中添加過濾器獲得訪問百度時的相關信息:

Protocol(協議):
可能的值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp.
如果沒有特別指明是什麼協議,則默認使用所有支持的協議。

Direction(方向):
可能的值: src, dst, src and dst, src or dst
如果沒有特別指明來源或目的地,則默認使用 “src or dst” 作爲關鍵字。
例如,”host 10.2.2.2”與”src or dst host 10.2.2.2”是一樣的。
Host(s):
可能的值: net, port, host, portrange.
如果沒有指定此值,則默認使用”host”關鍵字。
例如,”src 10.1.1.1”與”src host 10.1.1.1”相同。

Logical Operations(邏輯運算):
可能的值:not, and, or.
否(“not”)具有最高的優先級。或(“or”)和與(“and”)具有相同的優先級,運算時從左至右進行。
例如:
“not tcp port 3128 and tcp port 23”與”(not tcp port 3128) and tcp port 23”相同。
“not tcp port 3128 and tcp port 23”與”not (tcp port 3128 and tcp port 23)”不同。

格式爲:

ip.addr == www.baidu.com

這裏寫圖片描述

Wireshark的常見幾種過濾方法

這裏寫圖片描述
然後可以獲得百度的IP地址等信息。

2、過濾出dns信息

在顯示過濾框輸入dns,過濾出所有dns信息:
這裏寫圖片描述

在該界面220,234幀,是DNS將www.baidu.com解析爲一個IP地址的數據包(被稱爲一個“A”記錄)。238幀表示返回一個與主機名相關的IP地址的DNS響應包。如果客戶端支持IPv4和IPv6,在該界面將會看到查找一個IPv6地址(被稱爲“AAAA”記錄)。此時,DNS服務器將響應一個IPv6地址或混雜的信息。

說明:238幀是客戶端請求百度,通過DNS服務器解析IP地址的過程。標識爲“A”記錄。


3、過濾出tcp包分析:

在顯示過濾框輸入:ip.dst==180.97.33.108 or ip.src==180.97.33.108

這裏寫圖片描述

TCP通信流程大致如下:
客戶端和服務器之間TCP三次握手(4941、4942、4943幀)—->客戶端請求的GET主頁面(4944幀)—>服務器收到請求(4945幀)—>發送響應包(4946幀)。

說明:

  • 客戶端向服務器發送TCP請求建立連接。標識爲SYN

  • 服務器得到請求後向客戶端迴應確認包的過程。標識爲SYN,ACK

  • 客戶端迴應服務器發送確認包的過程,將於服務器建立連接。標識爲ACK

  • 客戶端向服務器發送HTTP請求內容的過程。標識爲GET

  • 服務器相應客戶端請求的過程,收到請求。標識爲ACK

  • 4946幀幀是服務器向客戶端迴應內容的過程。


參考博客:https://my.oschina.net/u/1585857/blog/479306

Wireshark的常見幾種過濾方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章