一、工具界面简介
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