小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

WireShark 抓包詳細(xì)教程

 囟味王 2023-05-23 發(fā)布于內(nèi)蒙古
Wireshark是網(wǎng)絡(luò)封包分析軟件利器,可以截取各種網(wǎng)絡(luò)數(shù)據(jù)包,并顯示數(shù)據(jù)包詳細(xì)信息。常用于開發(fā)測(cè)試運(yùn)維過程各種問題定位。
軟件下載:https://www./。
win10pcap兼容性安裝包下載:http://www./download/


Wireshark 抓包示例

首先介紹一個(gè)使用wireshark工具抓取ping命令數(shù)據(jù)包的操作示例,讓我們可以先感受一下抓包的具體過程。
1、打開wireshark ,主界面如下(已經(jīng)有中文版,對(duì)照著看既可):
圖片
2、選擇菜單欄上Capture -> Option,勾選網(wǎng)卡(這里需要根據(jù)各自電腦網(wǎng)卡使用情況選擇)。點(diǎn)擊Start啟動(dòng)抓包。
圖片
3、wireshark啟動(dòng)抓包后,就處于抓包狀態(tài)中。
圖片
4、執(zhí)行一個(gè)數(shù)據(jù)包操作,如ping www.baidu.com。
5、操作完成后相關(guān)數(shù)據(jù)包就抓取到了。為避免其他數(shù)據(jù)包影響分析,可在過濾欄設(shè)置過濾條件,過濾結(jié)果如下圖。
圖片


Wireshark抓包界面介紹

圖片
說明:數(shù)據(jù)包列表區(qū)中不同的協(xié)議使用了不同的顏色區(qū)分。協(xié)議顏色標(biāo)識(shí)定位在菜單欄View --> Coloring Rules。如下所示
圖片
WireShark 主要分為這幾個(gè)界面
1.Display Filter(顯示過濾器),  用于設(shè)置過濾條件進(jìn)行數(shù)據(jù)包列表過濾。菜單路徑:Analyze --> Display Filters。
圖片
2.Packet List Pane(數(shù)據(jù)包列表), 顯示捕獲到的數(shù)據(jù)包,每個(gè)數(shù)據(jù)包包含編號(hào),時(shí)間戳,源地址,目標(biāo)地址,協(xié)議,長度,以及數(shù)據(jù)包信息。不同協(xié)議的數(shù)據(jù)包使用了不同的顏色區(qū)分顯示。
圖片
3.Packet Details Pane(數(shù)據(jù)包詳細(xì)信息), 在數(shù)據(jù)包列表中選擇指定數(shù)據(jù)包,在數(shù)據(jù)包詳細(xì)信息中會(huì)顯示數(shù)據(jù)包的所有詳細(xì)信息內(nèi)容。數(shù)據(jù)包詳細(xì)信息面板是最重要的,用來查看協(xié)議中的每一個(gè)字段。各行信息分別為
(1)Frame:   物理層的數(shù)據(jù)幀概況
(2)Ethernet II: 數(shù)據(jù)鏈路層以太網(wǎng)幀頭部信息
(3)Internet Protocol Version 4: 互聯(lián)網(wǎng)層IP包頭部信息
(4)Transmission Control Protocol:  傳輸層T的數(shù)據(jù)段頭部信息,此處是TCP
(5)Hypertext Transfer Protocol:  應(yīng)用層的信息,此處是HTTP協(xié)議
圖片
TCP包的具體內(nèi)容:
從下圖可以看到wireshark捕獲到的TCP包中的每個(gè)字段。
圖片
4.Dissector Pane(數(shù)據(jù)包字節(jié)區(qū))。報(bào)文原始內(nèi)容。
圖片

Wireshark過濾器設(shè)置

初學(xué)者使用wireshark時(shí),將會(huì)得到大量的冗余數(shù)據(jù)包列表,以至于很難找到自己需要抓取的數(shù)據(jù)包部分。wireshark工具中自帶了兩種類型的過濾器,學(xué)會(huì)使用這兩種過濾器會(huì)幫助我們?cè)诖罅康臄?shù)據(jù)中迅速找到我們需要的信息。
(1)捕獲過濾器
捕獲過濾器的菜單欄路徑為Capture --> Capture Filters。用于在抓取數(shù)據(jù)包前設(shè)置。
圖片
可以在抓取數(shù)據(jù)包前設(shè)置如下。
圖片
ip host 60.207.246.216 and icmp表示只捕獲主機(jī)IP為60.207.246.216的ICMP數(shù)據(jù)包。獲取結(jié)果如下:
圖片
(2)顯示過濾器
顯示過濾器是用于在抓取數(shù)據(jù)包后設(shè)置過濾條件進(jìn)行過濾數(shù)據(jù)包。通常是在抓取數(shù)據(jù)包時(shí)設(shè)置條件相對(duì)寬泛或者沒有設(shè)置導(dǎo)致抓取的數(shù)據(jù)包內(nèi)容較多時(shí)使用顯示過濾器設(shè)置條件過濾以方便分析。同樣上述場(chǎng)景,在捕獲時(shí)未設(shè)置抓包過濾規(guī)則直接通過網(wǎng)卡進(jìn)行抓取所有數(shù)據(jù)包,如下
圖片
執(zhí)行ping www.huawei.com獲取的數(shù)據(jù)包列表如下
圖片
觀察上述獲取的數(shù)據(jù)包列表,含有大量的無效數(shù)據(jù)。這時(shí)可以通過設(shè)置顯示器過濾條件進(jìn)行提取分析信息。ip.addr == 211.162.2.183 and icmp。并進(jìn)行過濾。
圖片
上述介紹了抓包過濾器和顯示過濾器的基本使用方法。在組網(wǎng)不復(fù)雜或者流量不大情況下,使用顯示器過濾器進(jìn)行抓包后處理就可以滿足我們使用。


Wireshark過濾器表達(dá)式的規(guī)則

1、捕獲過濾器

捕獲過濾器表達(dá)式?jīng)]有像顯示過濾器表達(dá)式那樣明顯的規(guī)律,但寫法不多所以也不難;而且除非全部捕獲要占用的磁盤空間實(shí)現(xiàn)太大,且你非常明確過濾掉的數(shù)據(jù)包是你不需要的,不然一般都不用捕獲過濾器表達(dá)式。
圖片
①語法結(jié)構(gòu):
語法
Protocol
(協(xié)議)
Direction
(方向)
Host(s)Value(主機(jī)及數(shù)值)
Logical Operations(邏輯運(yùn)算符)
Other expression
包含

tcp,udp,ether,ip,arp,icmp,decnet,lat,sca,moprc,mopdl等

src,

dst,

src and dst,

src or dst


net(10.0.0.0/8), 

host(10.1.1.1),

port(80), 

portrange(200-10000)

and(&&),

or(||),

not(!),

xor(^^)

如tcp dst 10.2.2.2 3128

捕獲過濾表達(dá)式可以由Protocol、Direction、Host(s)Value、Logical Operations 4個(gè)核心元素自由組合。
②示例:

(host 10.4.1.12 or src net 10.6.0.0/16) and tcp dst portrange 200-10000 and dst net 10.0.0.0/8
捕捉IP為10.4.1.12或者源IP位于網(wǎng)絡(luò)10.6.0.0/16,目的IP的TCP端口號(hào)在200至10000之間,并且目的IP位于網(wǎng)絡(luò) 10.0.0.0/8內(nèi)的所有封包。

2、顯示過濾器

①語法結(jié)構(gòu):

顯示過濾器的語法包含5個(gè)核心元素:IP地址、端口、協(xié)議、比較運(yùn)算符和邏輯運(yùn)算符。
顯示過濾表達(dá)式可以由5個(gè)核心元素自由組合,比如:
   ip.addr == 192.168.32.121 and tcp  顯示IP地址為 192.168.32.121 的tcp數(shù)據(jù)包
   tcp.port == 80  顯示端口為 80 的數(shù)據(jù)包


IP地址:ip.addr、ip.src、ip.dst

端口:tcp.port、tcp.srcport、tcp.dstport

協(xié)議:tcp、udp、http、eth、ip、telnet、ftp、icmp、snmp等等

比較運(yùn)算符:

圖片

邏輯運(yùn)算符:
圖片

②常見實(shí)例

1)數(shù)據(jù)鏈路層:
篩選目標(biāo)mac地址為04:f9:38:ad:13:26的數(shù)據(jù)包----eth.dst == 04:f9:38:ad:13:26
篩選源mac地址為04:f9:38:ad:13:26的數(shù)據(jù)包----eth.src == 04:f9:38:ad:13:26
2)網(wǎng)絡(luò)層:
篩選ip地址為192.168.1.1的數(shù)據(jù)包----ip.addr == 192.168.1.1
篩選192.168.1.0網(wǎng)段的數(shù)據(jù)---- ip contains '192.168.1'
篩選192.168.1.1和192.168.1.2之間的數(shù)據(jù)包----ip.addr == 192.168.1.1 && ip.addr == 192.168.1.2
篩選從192.168.1.1到192.168.1.2的數(shù)據(jù)包----ip.src == 192.168.1.1 && ip.dst == 192.168.1.2
3)傳輸層:
篩選tcp協(xié)議的數(shù)據(jù)包----tcp
篩選除tcp協(xié)議以外的數(shù)據(jù)包----!tcp
篩選端口為80的數(shù)據(jù)包----tcp.port == 80
篩選12345端口和80端口之間的數(shù)據(jù)包----tcp.port == 12345 && tcp.port == 80
篩選從12345端口到80端口的數(shù)據(jù)包----tcp.srcport == 12345 && tcp.dstport == 80
4)應(yīng)用層:
特別說明----http中http.request表示請(qǐng)求頭中的第一行(如GET index.jsp HTTP/1.1),http.response表示響應(yīng)頭中的第一行(如HTTP/1.1 200 OK),其他頭部都用http.header_name形式。
篩選url中包含.php的http數(shù)據(jù)包----http.request.uri contains '.php'
篩選內(nèi)容包含username的http數(shù)據(jù)包----http contains 'username'
顯示post請(qǐng)求方式的http封包---http.request.method== 'POST'
顯示請(qǐng)求的域名為tracker.1ting.com的http封包---http.host == 'tracker.1ting.com'
5)按照數(shù)據(jù)包內(nèi)容過濾。假設(shè)我要以IMCP層中的Data字段進(jìn)行過濾,可以單擊選中界面中的碼流,在下方選中Data,右鍵單擊選中后出現(xiàn)如下界面,如下
圖片
選中Select后在過濾器中顯示如下
圖片
后面條件表達(dá)式就需要自己填寫。如下我想過濾出data數(shù)據(jù)包中包含'abcd'內(nèi)容的數(shù)據(jù)流。包含的關(guān)鍵詞是**contains **后面跟上內(nèi)容。
圖片
看到這, 基本上對(duì)wireshak有了初步了解。

Wireshark抓包分析TCP三次握手

(1)TCP三次握手連接建立過程
Step1:客戶端發(fā)送一個(gè)標(biāo)志位SYN=1,ACK=0,發(fā)送序列號(hào)

Sequence Number=X的數(shù)據(jù)包給服務(wù)端,請(qǐng)求進(jìn)行連接,這是第一次握手;

Step2:服務(wù)端收到請(qǐng)求并且允許連接的話,就會(huì)發(fā)送一個(gè)標(biāo)志位SYN=1,ACK=1,確認(rèn)序列號(hào)Acknowledgment Number=X+1,發(fā)送序列號(hào)Sequence Number=Y的數(shù)據(jù)包給客戶端,告訴它可以通訊了,并且讓客戶端發(fā)送一個(gè)確認(rèn)數(shù)據(jù)包,這是第二次握手;
Step3:客戶端收到數(shù)據(jù)包后發(fā)送一個(gè)標(biāo)志位SYN=0,ACK=1,確認(rèn)序列號(hào)Acknowledgment Number=Y+1,發(fā)送序列號(hào)Sequence Number=X+1的數(shù)據(jù)包給客戶端,告訴它連接已被確認(rèn),這就是第三次握手。TCP連接建立,開始通訊。

發(fā)送序列號(hào)為當(dāng)前端成功發(fā)送的數(shù)據(jù)位數(shù),確認(rèn)序列號(hào)為當(dāng)前端成功接收的數(shù)據(jù)位數(shù)。

舉例說明:
圖片

(2)wireshark抓包獲取訪問指定服務(wù)端數(shù)據(jù)包
Step1:?jiǎn)?dòng)wireshark抓包,打開瀏覽器輸入www.huawei.com。
Step2:使用ping www.huawei.com獲取IP。
Step3:輸入過濾條件獲取待分析數(shù)據(jù)包列表 ip.addr == 211.162.2.183
圖片
圖片
圖中可以看到wireshark截獲到了三次握手的三個(gè)數(shù)據(jù)包。第四個(gè)包才是HTTP的, 這說明HTTP的確是使用TCP建立連接的。
第一次握手?jǐn)?shù)據(jù)包
客戶端發(fā)送一個(gè)TCP,標(biāo)志位為SYN,序列號(hào)為0, 代表客戶端請(qǐng)求建立連接。如下圖。
圖片
數(shù)據(jù)包的關(guān)鍵屬性如下:
SYN :標(biāo)志位,表示請(qǐng)求建立連接
Seq = 0 :初始建立連接值為0,數(shù)據(jù)包的相對(duì)序列號(hào)從0開始,表示當(dāng)前還沒有發(fā)送數(shù)據(jù)
Ack =0:初始建立連接值為0,已經(jīng)收到包的數(shù)量,表示當(dāng)前沒有接收到數(shù)據(jù)
第二次握手的數(shù)據(jù)包
服務(wù)器發(fā)回確認(rèn)包, 標(biāo)志位為 SYN,ACK. 將確認(rèn)序號(hào)(Acknowledgement Number)設(shè)置為客戶的I S N加1即0+1=1, 如下圖
圖片
數(shù)據(jù)包的關(guān)鍵屬性如下:
Seq = 0 :初始建立值為0,表示當(dāng)前還沒有發(fā)送數(shù)據(jù)
Ack = 1:表示當(dāng)前端成功接收的數(shù)據(jù)位數(shù),雖然客戶端沒有發(fā)送任何有效數(shù)據(jù),確認(rèn)號(hào)還是被加1,因?yàn)榘琒YN或FIN標(biāo)志位。(并不會(huì)對(duì)有效數(shù)據(jù)的計(jì)數(shù)產(chǎn)生影響,因?yàn)楹蠸YN或FIN標(biāo)志位的包并不攜帶有效數(shù)據(jù))
第三次握手的數(shù)據(jù)包
客戶端再次發(fā)送確認(rèn)包(ACK) SYN標(biāo)志位為0,ACK標(biāo)志位為1.并且把服務(wù)器發(fā)來ACK的序號(hào)字段+1,放在確定字段中發(fā)送給對(duì)方.并且在數(shù)據(jù)段放寫ISN的+1, 如下圖:
圖片
數(shù)據(jù)包的關(guān)鍵屬性如下:
ACK :標(biāo)志位,表示已經(jīng)收到記錄
Seq = 1 :表示當(dāng)前已經(jīng)發(fā)送1個(gè)數(shù)據(jù)
Ack = 1 : 表示當(dāng)前端成功接收的數(shù)據(jù)位數(shù),雖然服務(wù)端沒有發(fā)送任何有效數(shù)據(jù),確認(rèn)號(hào)還是被加1,因?yàn)榘琒YN或FIN標(biāo)志位(并不會(huì)對(duì)有效數(shù)據(jù)的計(jì)數(shù)產(chǎn)生影響,因?yàn)楹蠸YN或FIN標(biāo)志位的包并不攜帶有效數(shù)據(jù))。
就這樣通過了TCP三次握手,建立了連接。開始進(jìn)行數(shù)據(jù)交互
圖片
下面針對(duì)數(shù)據(jù)交互過程的數(shù)據(jù)包進(jìn)行一些說明:
圖片
數(shù)據(jù)包的關(guān)鍵屬性說明
Seq: 1
Ack: 1: 說明現(xiàn)在共收到1字節(jié)數(shù)據(jù)
圖片
Seq: 1
Ack: 951: 說明現(xiàn)在服務(wù)端共收到951字節(jié)數(shù)據(jù)
在TCP層,有個(gè)FLAGS字段,這個(gè)字段有以下幾個(gè)標(biāo)識(shí):SYN, FIN, ACK, PSH, RST, URG。如下
圖片
其中,對(duì)于我們?nèi)粘5姆治鲇杏玫木褪乔懊娴奈鍌€(gè)字段。
它們的含義是:
FIN表示關(guān)閉連接,
SYN表示建立連接,
RST表示連接重置,
PSH表示有DATA數(shù)據(jù)傳輸,
ACK表示響應(yīng)。
本文參考文檔:https://blog.csdn.net/zzwwhhpp/article/details/113077747

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多