如何查看網(wǎng)站語(yǔ)言百度一下首頁(yè)官網(wǎng)下載
大家覺(jué)得有用記得關(guān)注和點(diǎn)贊




,謝謝。
一、Wireshark介紹
Wireshark(前身是Ethereal)是一個(gè)網(wǎng)絡(luò)封包分析軟件,目前是全球使用最廣泛的開源抓包軟件,別名小鯊魚或者鯊魚鰭。
網(wǎng)絡(luò)封包分析軟件的功能是截取網(wǎng)卡進(jìn)出的網(wǎng)絡(luò)封包,并盡可能顯示出最為詳細(xì)的網(wǎng)絡(luò)封包資料,它能夠檢測(cè)并解析各種協(xié)議,包括以太網(wǎng)、WIFI、TCP/IP和HTTP協(xié)議等等。
Wireshark使用LibPCAP、WinPCAP(現(xiàn)在普遍使用的是Npcap)作為驅(qū)動(dòng)程序,他們提供了通用的抓包接口,直接與網(wǎng)卡進(jìn)行數(shù)據(jù)報(bào)文交換,WinPCAP本身就是抓包分析工具,Wireshark通過(guò)對(duì)他進(jìn)行整合加工豐富出來(lái)的產(chǎn)物,所以安裝Wireshark的時(shí)候會(huì)提示我們安裝WinPCAP。
二、結(jié)構(gòu)介紹
1、數(shù)據(jù)包列表
NO:包的編號(hào),通常按照順序排列
Time: 數(shù)據(jù)包進(jìn)出的當(dāng)時(shí)時(shí)間
Source: 源ip地址
Destination: 目標(biāo)ip地址
Protocol:協(xié)議
Length:數(shù)據(jù)包長(zhǎng)度
Info: 數(shù)據(jù)包的一個(gè)簡(jiǎn)要描述,不能看到具體數(shù)據(jù)
對(duì)列可以進(jìn)行增加、修改、刪除、隱藏等操作,但是默認(rèn)的這幾列就夠用
2、數(shù)據(jù)包的各層協(xié)議的詳細(xì)數(shù)據(jù)
3、數(shù)據(jù)包對(duì)應(yīng)的16進(jìn)制表示和ascii類型數(shù)據(jù)顯示
選中任何一行,雙擊,彈出如下如圖
4、數(shù)據(jù)結(jié)構(gòu)包的詳細(xì)解析
解釋IP數(shù)據(jù)報(bào)的首部
4.1、數(shù)據(jù)鏈路層
內(nèi)容 | 說(shuō)明 | ? ? ? ? ? ?備注 |
Ethernet II | 以太網(wǎng)協(xié)議版本 II | |
Source: Apple_de:1f:24 | 廠名:序號(hào) | |
(64:c7:53: de:1f:24) | 網(wǎng)卡地址 | |
Type: IPv4 (0x0800) | 協(xié)議類型 |
4.2、網(wǎng)絡(luò)層
內(nèi)容 | 說(shuō)明 | ? ? 備注 |
Src: 10.22.35.213, | 源地址 | |
Dst: 220.181.38.251 | 目的地址 | |
Version: 4 | 互聯(lián)網(wǎng)協(xié)議版本 | |
… 0101 = Header Length: 20 bytes (5) | 幀頭部長(zhǎng)度 | |
Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT) | 差分服務(wù)字段(服務(wù)類型) | |
Total Length: 84 | 幀的總長(zhǎng)度 | |
Identification: 0x4117 (16663) | 標(biāo)識(shí)字段 | |
Flags: 0x00 | 標(biāo)識(shí)字段 | |
Don’t Fragment? Not set | 0允許分片,1為不允許分片 | 大于MTU制之后就丟棄報(bào)文 |
More Fragments? set | 大于MTU值 1代表后面還有分片包 0代表最后一個(gè)分片包 小于等于MTU值 0代表后面還有分片包 0代表最后一個(gè)分片包 | |
Fragment? Offset? 0 | 分片偏移量 | 第一片為0,第二片開始有偏移量,通常與More Fragments? set組合使用 |
Total Length | 數(shù)據(jù)長(zhǎng)度 | |
Seq | 序列號(hào) | 用來(lái)定位丟包,通常序列號(hào)順序連續(xù) |
Identification | 同一個(gè)包的不同分片的標(biāo)識(shí) | |
Fragment Offset: 0 | 分段偏移量 | |
Time to Live: 64 | 生存期 ITL | |
Protocol: ICMP (1) | 上層協(xié)議 | |
Header Checksum: 0x9383 [validation disabled] | 頭部數(shù)據(jù)的校驗(yàn)和 | |
[Header checksum status: Unverified] | 頭部數(shù)據(jù)的校驗(yàn)和狀態(tài) | |
Source Address: 10.22.35.213 | 源IP 地址 | |
Destination Address: 220.181.38.251 | 目的IP 地址 |
1)在設(shè)計(jì)以太網(wǎng)時(shí),人為規(guī)定了每個(gè)幀的最大長(zhǎng)度1500字節(jié) (即除去以太網(wǎng)幀首部的數(shù)據(jù)部分),作為每次數(shù)據(jù)傳輸單元(即MTU)。
2)物理層會(huì)限制每次發(fā)送數(shù)據(jù)幀的最大長(zhǎng)度,當(dāng)網(wǎng)絡(luò)層收到一份待發(fā)送的IP數(shù)據(jù)報(bào)時(shí),會(huì)進(jìn)行選路(選擇出接口),并查詢?cè)摻涌贛TU值。
3)如果IP數(shù)據(jù)報(bào)中的數(shù)據(jù)長(zhǎng)度大于該接口MTU值,會(huì)發(fā)兩種情況:丟包或分片。當(dāng)IP數(shù)據(jù)報(bào)開啟允許分片功能,則會(huì)進(jìn)行分片,否則就丟包。
例如分析IP分片數(shù)據(jù)包分析
4)IP分片數(shù)據(jù)包
由于以太網(wǎng)數(shù)據(jù)報(bào)的“數(shù)據(jù)”部分最長(zhǎng)只有1500字節(jié),因此如果IP數(shù)據(jù)報(bào)超過(guò)了1500字節(jié),就需要分割成多個(gè)以太網(wǎng)數(shù)據(jù)包分開發(fā)送。
在使用ping命令時(shí),默認(rèn)是不會(huì)超過(guò)1500字節(jié)的,所以如果想要獲取IP分片包,需要指定發(fā)送的ICMP包大大小。
比如: ping?? 192.168.0.1? -l? 3000? 指定獲取包的大小為3000
5)分析IP分片數(shù)據(jù)包分析
在該獲取文件中,123幀和678幀是一個(gè)完整的ping包,其中123是一個(gè)請(qǐng)求包,678是響應(yīng)包。
???? 1》分析 第1幀數(shù)據(jù)包
2》分析第2幀數(shù)據(jù)包
3》分析第3幀數(shù)據(jù)包
5、過(guò)濾條件-抓獲過(guò)濾器
5.1、對(duì)源地址及目的地址過(guò)濾
ip.src == ip地址
ip.dst == ip地址
5.2、對(duì)源地址或者目的地址過(guò)濾
ip.addr == ip地址
5.3、對(duì)源地址或者目的端口過(guò)濾
tcp.port == 80
5.4、大于某個(gè)端口的過(guò)濾
tcp.port >= 60000
5.5、協(xié)議過(guò)濾
協(xié)議過(guò)濾 直接在filter框中輸入?yún)f(xié)議名,如過(guò)濾HTTP協(xié)議,則http
5.6、http協(xié)議相關(guān)過(guò)濾 過(guò)濾出請(qǐng)求地址中包含“user”的請(qǐng)求?
http.request.uri contains User
5.7、過(guò)濾域名
http.host == www.baidu.com
5.8、模糊過(guò)濾域名
http.host contains baidu
5.9、過(guò)濾請(qǐng)求的content_type類型
http.content_type == 'text/html'?
5.10、過(guò)濾http響應(yīng)狀態(tài)碼
http.response.code == 200
5.11、過(guò)濾含有指定cookie的http數(shù)據(jù)包
http.cookie contains userid
5.12、捕獲多端口的數(shù)據(jù)包,可以使用and來(lái)連接
udp.port >= 2048
5.13、針對(duì)長(zhǎng)度和內(nèi)容的過(guò)濾
udp.length < 20 ??
http.content_length <=30
5.14、針對(duì)uri 內(nèi)容的過(guò)濾
http.request.uri matches "user" (請(qǐng)求的uri中包含“user”關(guān)鍵字的)??matches 后的關(guān)鍵字是不區(qū)分大小寫的。
http.request.uri contains "User" (請(qǐng)求的uri中包含“user”關(guān)鍵字的)
5.15、過(guò)濾出請(qǐng)求地址中包含“user”的請(qǐng)求,不包括域名
http.request.uri contains "User"
5.16、精確過(guò)濾域名
http.host==baidu.com
5.17、模糊過(guò)濾域名
http.host contains "baidu"
5.18、過(guò)濾請(qǐng)求的content_type類型
http.content_type =="text/html"
5.19、過(guò)濾http請(qǐng)求方法
http.request.method=="POST"
http.request.method=="GET"
5.20、過(guò)濾tcp端口
tcp.port==80
http && tcp.port==80 or tcp.port==5566
5.21、過(guò)濾http響應(yīng)狀態(tài)碼
http.response.code==302
5.22、過(guò)濾含有指定cookie的http數(shù)據(jù)包
http.cookie contains "userid"
5.23、比較符號(hào)
與:&&或者and
或:||或者or
非:!或者not
5.24、常用表達(dá)式實(shí)例
src www.baidu.com?
dst www.baidu.com
5.25、過(guò)濾出源mac地址的數(shù)據(jù)包
src ether host 98:1a:35:98:09:6f?
5.26、不抓取廣播包
!broadcast?
5.27、通過(guò)mac地址過(guò)濾
ether host 98:1a:35:98:09:6f
6、報(bào)文分片說(shuō)明
如果當(dāng)傳輸數(shù)據(jù)量超過(guò)設(shè)置的MTU時(shí),IP就會(huì)將數(shù)據(jù)報(bào)進(jìn)行分片,將一個(gè)超過(guò)MTU的數(shù)據(jù)報(bào)分為多個(gè)不大于MTU的數(shù)據(jù)報(bào)進(jìn)行發(fā)送。接收端收到后再進(jìn)行組裝,形成完整的數(shù)據(jù)報(bào)。在進(jìn)行分片時(shí),IP通過(guò)設(shè)置MF標(biāo)志位為1作為標(biāo)識(shí)是否為最后一個(gè)分片。
mtu 設(shè)置當(dāng)前接口的最大傳輸單元限制MTU
第一個(gè)包的MF字段被設(shè)置成1,說(shuō)明還有其他分片,而最后一個(gè)包的MF字段為0,標(biāo)志著這是最后一個(gè)分片
6.1 有分片說(shuō)明
6.2 沒(méi)有分片說(shuō)明