1、工具界面簡介
瀏覽器
Wireshark(前稱Ethereal)是一個網絡封包分析軟件。網絡抓包軟件的功能是截取網絡封包,並儘量顯示出最爲詳細的網絡封包 。Wireshark使用WinPCAP做爲接口,直接與網卡進行數據報文交換。緩存
官網地址:http://www.wireshark.org/服務器
友情提示:若是要想更進一步學習Wireshark,可在百度輸入「Wireshark抓包全集(85種協議、類別的抓包文件)」,下載網友抓獲的全部協議包全集。網絡
下圖若有看不清,可進行點擊圖片放大或者放大當前網頁顯示。tcp
2、Wireshark過濾規則ide
1.IP過濾工具
ip.src addr == 192.168.1.10 或者ip.src addr eq 192.168.1.10 顯示源IP學習
將ip.src改成ip.dst即爲顯示目標IPspa
2.端口過濾blog
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)
3、監視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