一、工具界面簡介
Wireshark(前稱Ethereal)是一個網絡封包分析軟件。網絡抓包軟件的功能是截取網絡封包,並儘可能顯示出最爲詳細的網絡封包 。Wireshark使用WinPCAP作爲接口,直接與網卡進行數據報文交換。
官網地址:http://www.wireshark.org/
友情提示:如果要想更進一步學習Wireshark,可在百度輸入“Wireshark抓包全集(85種協議、類別的抓包文件)”,下載網友抓獲的所有協議包全集。
下圖如有看不清,可進行點擊圖片放大或者放大當前網頁顯示。
二、Wireshark過濾規則
1.IP過濾
ip.src addr == 192.168.1.10 或者ip.src addr eq 192.168.1.10 顯示源IP
將ip.src改爲ip.dst即爲顯示目標IP
2.端口過濾
tcp.port == 80 或者tcp.port eq 80 顯示端口爲80的tcp連接
udp.srcport == 80 只顯示來源端口爲udp協議的連接
tcp.port >= 1 and tcp.port <= 80 過濾端口範圍
3.協議過濾
tcp、udp、arp、icmp、http、smtp、ftp、dns、ssl等
排除協議: !ssl 或者 not ssl
4.包長過濾
tcp.length >= 7
5.http模式過濾
http.request.method == “GET”
http contains “GET”
//GET包
http.request.method == “GET” && http contains “Host: ”
http.request.method == “GET” && http contains “User-Agent: ”
//POST包
http.request.method == “POST” && http contains “Host: ”
http.request.method == “POST” && http contains “User-Agent: ”
//響應包
http contains “HTTP/1.0 200 OK” && http contains “Content-Type: ”
http contains “HTTP/1.1 200 OK” && http contains “Content-Type: ”
6.連接符
and、or
7.表達式
!(arp.src == 192.168.1.10)and !(arp.dst.proto_ipv4 == 192.168.1.200)
三、監視HTTP連接過程:
以下是由網友:老王整理,具體博客地址不詳。
註釋:ClientIP:211.100.209.50 Server IP:66.249.89.147
1.瀏覽器向服務器發出連接請求; SYN
2.服務器迴應了瀏覽器的請求,並要求確認; SYN,ACK
3.瀏覽器迴應了服務器的確認,連接成功; ACK
前3條也正是TCP三次握手過程。
4.瀏覽器發出一個頁面HTTP請求;
5.服務器確認;
6.服務器發送數據;
7.客戶端確認;
8.服務器響應了一個200狀態,表示成功;
9.客戶端發出一個圖片HTTP請求;
10.服務器響應了一個304 HTTP頭,告訴瀏覽器別打擾它,直接用緩存;
11.客戶端又發出一個圖片HTTP請求;
12.服務器還是響應了一個304 HTTP頭;
13.瀏覽器確認;
14.服務器準備關閉連接,並要求確認; FIN,ACK
15.瀏覽器確認; ACK
16.瀏覽器準備關閉連接,並要求確認; FIN,ACK
17.服務器確認。 ACK