wireshark介紹
wireshark是非常流行的網絡封包分析軟體,功能十分強大。可以截取各種網絡封包,顯示網絡封包的詳細資訊。使用wireshark的人必須了解網絡協定,否則就看不懂wireshark了。
為了安全考慮,wireshark隻能檢視封包,而不能修改封包的内容,或者發送封包。
wireshark能擷取HTTP,也能擷取HTTPS,但是不能解密HTTPS,是以wireshark看不懂HTTPS中的内容,總結,如果是處理HTTP,HTTPS 還是用Fiddler, 其他協定比如TCP,UDP 就用wireshark.
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL3NGVOVzZE1UMRpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL2IDNzUDMzgTMyIjMwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
我們打開其中的一個HTTP包,這個包是浏覽網頁,伺服器向我的電腦發動網頁的一個包
- Frame: 實體層的資料幀概況
- EthernetII:資料鍊路層以太網幀頭部資訊。
- Internet Protocol Version 4:網際網路層IP標頭部資訊。
-
Transmission Control Protocol:傳輸層的資料段頭部資訊,此處是TCP協定。
User Datagram Protocol:UDP協定
- Hypertext Transfer Protocol:應用層的資訊,此處是HTTP協定
各層分析
一、實體層Frame
Frame 1450: 502 bytes on wire (4016 bits), 502 bytes captured (4016 bits) on interface \Device\NPF_{91DBDD20-B182-47CE-BEAC-334B9C63ED80}, id 0//1460号幀,對方發送502位元組,實際收到502位元組
Interface id: 0 (\Device\NPF_{91DBDD20-B182-47CE-BEAC-334B9C63ED80}) //接口id為0
Encapsulation type: Ethernet (1) //封裝類型
Arrival Time: Feb 22, 2020 18:26:16.399174000 中國标準時間 //捕獲日期和時間(中國标椎時間)
[Time shift for this packet: 0.000000000 seconds]
Epoch Time: 1582367176.399174000 seconds
[Time delta from previous captured frame: 0.000952000 seconds]
[Time delta from previous displayed frame: 0.035791000 seconds] //與前一包時間間隔
[Time since reference or first frame: 27.050737000 seconds] //此包與第一幀的時間間隔
Frame Number: 1450 //幀序号
Frame Length: 502 bytes (4016 bits) //幀長度
Capture Length: 502 bytes (4016 bits) //捕獲位元組長度
[Frame is marked: False] //是否做了标記
[Frame is ignored: False] //是否被忽略
[Protocols in frame: eth:ethertype:ip:tcp:http:data-text-lines] //幀内封裝的協定層次結構
[Coloring Rule Name: HTTP] //着色标記的協定名稱
[Coloring Rule String: http || tcp.port == 80 || http2] //着色規則顯示的字元串
二、資料鍊路層以太網幀頭部資訊
Ethernet II, Src: Shenzhen_5e:d3:fe (d4:83:04:5e:d3:fe), Dst: IntelCor_ce:90:78 (70:1c:e7:ce:90:78) //源MAC位址,目的MAC位址
Type:IPv4(0x0800) //0x0800表示使用IP協定
三、網絡層IP報頭部資訊
Internet Protocol Version 4, Src: 94.191.59.45, Dst: 192.168.11.104
0100 .... = Version: 4 //IPv4協定
.... 0101 = Header Length: 20 bytes (5) //報頭長度
Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
Total Length: 488 //IP包總長度
Identification: 0xe8c2 (59586) //标記字段
Flags: 0x4000, Don't fragment //标記字段
...0 0000 0000 0000 = Fragment offset: 0 //分段偏移量
Time to live: 49 //生存期TTL
Protocol: TCP (6) //此包内封裝的上層協定為TCP
Header checksum: 0xf950 [validation disabled] //頭部資料的校驗和
[Header checksum status: Unverified] //頭部資料校驗狀态
Source: 94.191.59.45 //源IP位址 (伺服器的IP)
Destination: 192.168.11.104 //目的IP(我自己電腦的IP)
四、傳輸層TCP資料段頭部資訊
Transmission Control Protocol, Src Port: http (80), Dst Port: 54655 (54655), Seq: 1, Ack: 539, Len: 448
Source Port: http (80) //源端口号 從這裡可以看出應該是http服務,伺服器向我們的電腦發送了一個網頁
Destination Port: 54655 (54655)//目的端口号 使我們電腦提供的一個端口從來接收伺服器向我們發送的網頁等内容
[Stream index: 8]
[TCP Segment Len: 448]
Sequence number: 1 (relative sequence number)
Sequence number (raw): 1149943088
[Next sequence number: 449 (relative sequence number)] //序列号
Acknowledgment number: 539 (relative ack number) //确認号
Acknowledgment number (raw): 46531115
0101 .... = Header Length: 20 bytes (5) //頭部長度(0x80)
Flags: 0x018 (PSH, ACK) //TCP标記長度(0x80)
Window size value: 237 //控制流量的視窗大小 237個位元組
[Calculated window size: 30336]
[Window size scaling factor: 128]
Checksum: 0x184b [unverified] //資料段的校驗和
[Checksum Status: Unverified]
Urgent pointer: 0 //緊急指針(00 00)
[SEQ/ACK analysis]
[Timestamps]
TCP payload (448 bytes) //可變長度
五、HTTP頭部資訊
Hypertext Transfer Protocol
HTTP/1.1 200 OK\r\n //響應狀态
Date: Sat, 22 Feb 2020 10:26:17 GMT\r\n //時間
Server: Apache\r\n //伺服器類型 (apache)
Upgrade: h2\r\n
Connection: Upgrade, close\r\n //連接配接狀态
Last-Modified: Thu, 28 Nov 2019 10:59:14 GMT\r\n
ETag: "9f-5986600fa8d19-gzip"\r\n
Accept-Ranges: bytes\r\n
Vary: Accept-Encoding\r\n
Content-Encoding: gzip\r\n
Content-Length: 143\r\n
Content-Type: text/html\r\n //檔案類型
\r\n
[HTTP response 1/1]
[Time since request: 0.035791000 seconds]
[Request in frame: 1436]
[Request URI: http://www.class184.cn/]
Content-encoded entity body (gzip): 143 bytes -> 159 bytes
File Data: 159 bytes //檔案的大小(位元組)
六、網頁的内容
也就是伺服器向我們電腦浏覽器發動的網頁的内容,這是我們浏覽器也就是應用層接收到的資料
Line-based text data: text/html (8 lines)
<html>\n
\t<meta charset="utf-8">\n
\t<body>\n
\t\t<center><h1>這裡是網絡18卓越班</h1></center>\n
\t\t<center>網站正在建設中.....</center>\n
\t\t\n
\t</body>\n
</html>
浏覽器上顯示:
如果網頁内容很多的話,伺服器向我們電腦發包會被切片分割發送給我們。因為内容很少,是以一次性發給我們了,這個網頁是我自己寫的測試的,大家也自己寫一個網頁自己抓包,這樣對于我們分析網絡資料包很有幫助。
參考文章:
https://blog.csdn.net/swpu_ocean/article/details/80030727