Wireshark的抓包及过滤规则实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Wireshark的抓包及过滤规则实验
Wireshark是世界上最流行的网络分析工具。
这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。
与很多其他网络工具一样,Wireshark也使用pcap network library来进行封包捕捉。
Wireshark的优势:
- 安装方便。
- 简单易用的界面。
- 提供丰富的功能。
Wireshark的原名是Ethereal,新名字是2006年起用的。
当时Ethereal的主要开发者决定离开他原来供职的公司,并继续开发这个软件。
但由于Ethereal这个名称的使用权已经被原来那个公司注册,Wireshark这个新名字也就应运而生了。
实验一抓ARP包
一:安装并运行wireshark开始捕获数据包,如图所示点击第二行的start开始捕获数据包。
二:几分钟后就捕获到许多的数据包了,主界面如图所示:
如上图所示,可看到很多捕获的数据。
第一列是捕获数据的编号;
第二列是捕获数据的相对时间,从开始捕获算为0.000秒;
第三列是源地址,第四列是目的地址;
第五列是数据包的信息。
选中第一个数据帧,然后从整体上看看Wireshark的窗口,主要被分成三部分。
上面部分是所有数据帧的列表;中间部分是数据帧的描述信息;下面部分是帧里面的数据
三:开始分析数据
在下图中Filter后面的编辑框中输入:arp(注意是小写),然后回车或者点击“Apply”按钮
截图(替换掉该图)
现在只有ARP协议了,其他的协议数据包都被过滤掉了。
注意到中间部分的三行前面都有一个“+”,点击它,这一行就会被展开。
如下图所示:
截图(替换掉该图)
现在展开第一行。
看到的结果如下:
截图(替换掉该图)
在上图中我们看到这个帧的一些基本信息:
帧的编号:
帧的大小:
帧被捕获的日期和时间:
帧距离前一个帧的捕获时间差:
帧距离第一个帧的捕获时间差:
帧装载的协议:
现在展开第二行:
截图(替换掉该图)
我们可以看到:
目的地址(Destination):
源地址(Source):
帧中封装的协议类型:
Trailer:是协议中填充的数据,为了保证帧最少有64字节。
展开第三行:
地址解析协议
硬件类型:
协议类型:
硬件大小:
协议大小:
发送方MAC地址:
发送方IP地址:
目的MAC地址:
目的IP地址:
实验二捕获过滤器的使用
WireShark 捕获过滤语法
1. 过滤IP,如来源IP或者目标IP等于某个IP
例子:
ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107
或者
ip.addr eq 192.168.1.107 // 都能显示来源IP和目标IP 实验:设置源IP并(或)目的IP的过滤语法并截图
截图并说明过滤语法是什么
2. 过滤端口
例子:
tcp.port eq 80 // 不管端口是来源的还是目标的都显示tcp.port == 80
tcp.port eq 2722
tcp.port eq 80 or udp.port eq 80
tcp.dstport == 80 // 只显tcp协议的目标端口80
tcp.srcport == 80 // 只显tcp协议的来源端口80
udp.port eq 15000
过滤端口范围
tcp.port >= 1 and tcp.port <= 80
实验:设置源端口并(或)目的端口的过滤语法(TCP或UDP)并截图
截图并说明过滤语法是什么
3. 过滤协议例子:
tcp
udp
arp
icmp
http smtp
ftp
dns msnms
ip
ssl
oicq bootp
等等
排除arp包,如!arp 或者not arp
实验:设置DNS和HTTP的过滤语法并截图
截图并说明过滤语法是什么
4. 过滤MAC
太以网头过滤
eth.dst == A0:00:00:04:C5:84 // 过滤目标mac
eth.src eq A0:00:00:04:C5:84 // 过滤来源mac
eth.dst==A0:00:00:04:C5:84
eth.dst==A0-00-00-04-C5-84
eth.addr eq A0:00:00:04:C5:84 // 过滤来源MAC和目标MAC都等于A0:00:00:04:C5:84的
实验:设置源MAC并(或)目的MAC的过滤语法并截图
截图并说明过滤语法是什么
5. 包长度过滤
less than 小于< lt
小于等于le
等于eq
大于等于ge
不等ne
例子:
udp.length == 26 这个长度是指udp本身固定长度8加上udp下面那块数据包之和tcp.len >= 7 指的是ip数据包(tcp下面那块数据),不包括tcp本身
ip.len == 94 除了以太网头固定长度14,其它都算是ip.len,即从ip本身到最后frame.len == 119 整个数据包长度,从eth开始到最后
eth ---> ip or arp ---> tcp or udp ---> data
实验:设置包长度过滤语法(采用大于等于ge和小于等于le)并截图
截图并说明过滤语法是什么
6. http模式过滤
例子:
http.request.method == "GET"
http.request.method == "POST"
http.request.uri == "/img/logo-edu.gif"
http contains "GET"
http contains "HTTP/1."
// 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.1 200 OK" && http contains "Content-Type: " http contains "HTTP/1.0 200 OK" && http contains "Content-Type: " 一定包含如下
Content-Type:
实验:设置HTTP协议的GET包和POST包的过滤语法并截图
截图并说明过滤语法是什么
7. TCP参数过滤
tcp.flags 显示包含TCP标志的封包。
tcp.flags.syn == 0x02显示包含TCP SYN标志的封包。
tcp.window_size == 0 && tcp.flags.reset != 1
实验:设置tcp标识位的过滤语法并截取tcp三次握手的图
截图并说明过滤语法是什么。