Wireshark模塊介紹
一.窗口簡介
二.過濾器使用
1.捕獲過濾器
概念:當進行數(shù)據(jù)包捕獲時岗屏,只有那些滿足給定的包含/排除表達式的數(shù)據(jù)包或被捕獲暇藏。
如何打開捕獲過濾器:
(1)打開Wireshark時
(2)使用Wireshark過程中扛拨,點擊設(shè)置按鈕权逗,也可打開捕獲過濾器界面罐呼。
操作實例一:
捕獲過濾器中輸入表達式 host www.163.com and port 80(80 等效于http)
點擊start按鈕開始
瀏覽器訪問www.163.com
Wireshark進行抓包凰萨,顯示如下:
2.顯示過濾器
概念:該過濾器根據(jù)指定的表達式用于在一個已捕獲的數(shù)據(jù)包集合中继控,隱藏不想顯示的數(shù)據(jù)包,或者只顯示那些需要的數(shù)據(jù)包沟蔑。
操作實例一:
捕獲過濾器中篩選了滿足 host www.163.com and port 80 表達式的數(shù)據(jù)包湿诊。
在顯示過濾器中輸入表達式 tcp.stream eq 0 篩選出第一個TCP流(包含完整的一次TCP連接:三次握手和四次握手)
三次握手抓包
TCP三次握手
什么是三次握手(Three-way Handshake)
三次握手,是指建立一個TCP連接時瘦材,需要客戶端和服務(wù)器總共發(fā)三個包厅须。三次握手的目的是連接服務(wù)器指定端口,建立TCP連接食棕,并同步連接雙方的序列號和確認號并交換TCP窗口大小信息朗和。
第一次握手:客戶端發(fā)送syn包(syn=x)的數(shù)據(jù)包到服務(wù)器错沽,并進入SYN_SEND狀態(tài),等待服務(wù)器確認眶拉;
第二次握手:服務(wù)器收到syn包千埃,必須確認客戶的SYN(ack=x+1),同時自己也發(fā)送一個SYN包(syn=y)忆植,即SYN+ACK包放可,此時服務(wù)器進入SYN_RECV狀態(tài);
第三次握手:客戶端收到服務(wù)器的SYN+ACK包朝刊,向服務(wù)器發(fā)送確認包ACK(ack=y+1)耀里,此包發(fā)送完畢,客戶端和服務(wù)器進入ESTABLISHED狀態(tài)拾氓,完成三次握手冯挎。
握手過程中傳送的包里不包含數(shù)據(jù),三次握手完畢后咙鞍,客戶端與服務(wù)器才正式開始傳送數(shù)據(jù)房官。理想狀態(tài)下,TCP連接一旦建立续滋,在通信雙方中的任何一方主動關(guān)閉連接之前翰守,TCP連接都將被一直保持下去。
Wireshark三次握手過程:
(1)第一次握手數(shù)據(jù)包
客戶端發(fā)送一個TCP疲酌,標志位為SYN(syn=0)潦俺,序列號為0,代表客戶端請求建立連接徐勃。
(2)第二次握手數(shù)據(jù)包
服務(wù)器收到SYN包后事示,確認客戶端的SYN,ack=x+1僻肖,同時向客戶端發(fā)送自己的SYN(syn=y)包肖爵,即最后會向客戶端發(fā)送SYN+ACK包。
(3)第三次握手數(shù)據(jù)包
客戶端收到SYN+ACK包后臀脏,向服務(wù)器發(fā)送確認包ACK(ack=y+1)劝堪。
三.封包
什么是封包
計算機只能識別二進制的數(shù)據(jù),數(shù)據(jù)也是用二進制的方式存儲在計算機中揉稚。要想實現(xiàn)多臺計算機之間的通信秒啦,就要依賴一定的通信協(xié)議,如TCP/IP//HTTP等網(wǎng)絡(luò)協(xié)議搀玖。為了區(qū)分每個協(xié)議余境,數(shù)據(jù)在傳輸過程中,會被用到的協(xié)議加上指定的格式。也可以理解為對數(shù)據(jù)的打包發(fā)送芳来。例如:快遞人員要把你購買的東西送到你家含末,就要先包裝好,然后加上你的個人信息即舌,最后送到你手中佣盒,整個過程稱為封包。
Wireshark封包
點擊Wireshark? 按鈕顽聂,開始抓包肥惭。
1.封包詳細信息(Packet Details Pane)
顯示封包中的字段
Frame(幀):物理層的數(shù)據(jù)幀概況(對應(yīng)OSI七層模型中的物理層)。Frame 494指的是要發(fā)送的數(shù)據(jù)塊紊搪,494為所抓幀的序號务豺,捕獲字節(jié)數(shù)等于傳送字節(jié)數(shù):62 bytes。
Ethernet II(以太網(wǎng)):數(shù)據(jù)鏈路層以太網(wǎng)幀頭部信息(對應(yīng)OSI七層模型中的數(shù)據(jù)鏈路層)嗦明。源Mac地址:2a:31:66:39:90:27; 目標Mac地址:38:f9:d3:84:41:e4
Internet Protocal Version 4(IPV4協(xié)議,也稱網(wǎng)際協(xié)議):互聯(lián)網(wǎng)層IP包頭部信息(對應(yīng)OSI七層模型中的網(wǎng)絡(luò)層)蚪燕。源IP地址:203.119.129.47; 目標IP地址:192.168.43.91
Transmission Control Protocol(TCP協(xié)議):傳輸層的數(shù)據(jù)段頭部信息(對應(yīng)OSI七層模型中的傳輸層)娶牌。 源端口:443;目標端口:51610馆纳;序列號:143诗良; ACP: 是TCP數(shù)據(jù)包首部中的確認標志,對已接收到的TCP報文進行確認鲁驶,值為1:確認號有效鉴裹; 長度為0。
Hypertext Transfer Protocol(HTTP協(xié)議):應(yīng)用層信息(對應(yīng)OSI七層模型中的應(yīng)用層)钥弯。
[后續(xù)補充]
2.每層封包詳細含義
物理層的數(shù)據(jù)幀概況
數(shù)據(jù)鏈路層以太網(wǎng)幀頭部信息
互聯(lián)網(wǎng)層IP包頭部信息
傳輸層TCP數(shù)據(jù)段頭部信息
TCP頭格式
Wireshark過濾規(guī)則
使用過濾器
1.過濾IP
來源IP或者目標IP等于某個IP
ip.src eq 192.168.43.91? (來源)
ip.dst eq 192.168.43.91? (目標)
ip.addr eq 192.168.43.91? (來源径荔、目標同時顯示)
2.過濾端口
顯示來源端口和目標端口同時滿足條件
tcp.port eq 80
tcp.port == 80
tcp.port eq 80 or udp.port eq 80
顯示目標端口滿足條件
tcp.dstport == 80
顯示來源端口滿足條件
tcp.srcport == 80
過濾端口范圍
tcp.port >=1 and tcp.port <= 80
協(xié)議過濾
比如TCP,只顯示TCP協(xié)議脆霎。
IP 過濾
比如 ip.src ==192.168.1.102 顯示源地址為192.168.1.102总处,
ip.dst==192.168.1.102, 目標地址為192.168.1.102
端口過濾
tcp.port ==80,? 端口為80的
tcp.srcport == 80,? 只顯示TCP協(xié)議的愿端口為80的欠气。
Http模式過濾
http.request.method=="GET",?? 只顯示HTTP GET方法的洼专。
邏輯運算符為 AND/ OR
晌该。