wireshark工具使用
点击蓝字 关注我们
一
wireshark简介
Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
二
界面介绍
打开 Wireshark 后,会直接进入「网卡选择界面」,双击选择网卡,Wireshark就可以开始自动抓包,点击右上角【红色按钮】就可以停止捕获流量包,通过右上角【文件】-【保持】便可以生成保存有抓包数据的“pcapng”格式文件。
Wireshark 的主界面包含6个部分:
菜单栏:用于调试、配置
工具栏:常用功能的快捷方式
过滤栏:指定过滤条件,过滤数据包
数据包列表:核心区域,每一行就是一个数据包
数据包详情:数据包的详细数据
数据包字节:数据包对应的字节流,二进制
三
基础操作
1、调节界面大小:工具栏中的三个「放大镜」图标,可以调整主界面数据的大小。
2、设置显示列:添加、删除、修改显示的列
1)在数据列表中显示某一个字段,可以右键选中想要添加为列的字段,右键选择【应用为列】,添加为列的字段会在数据列表中显示
2)隐藏显示某一列,可在显示列的任意位置右键,取消列名的【勾选】,即可隐藏显示列。
3)删除某一列,可右键需要删除的列,点击最下方的【Remove this Column】
3、设置时间:点击工具栏的【视图】,选择【时间显示格式】,设置想要的格式。
4、标记数据包:对于某些比较重要的数据包,可以设置成高亮显示,以达到标记的目的。选中需要标记的数据包,右键选择最上面的【标记/取消标记】。
5、导出数据包
1)导出单个数据包:选中数据包,点击左上角的【文件】,点击【导出特定分组】,在「导出分组界面」,选择第二个 【Selected packets only】,只保存选中的数据包。
2)导出多个数据包:需要导出多个数据包时,可结合上述标记功能进行,将所需想导出数据包进行标记后,选择【导出特定分组】,在「导出分组界面」,选择第二个 【Marked packets only】便可导出想要保持的多个保存的数据包。
四
过滤操作
Wireshark提供了两个过滤器:抓包过滤器 和 显示过滤器。两个过滤器的过滤思路不同。
抓包过滤器:重点在动作,需要的包我才抓,不需要的我就不抓。
显示过滤器:重点在数据的展示,包已经抓了,只是不显示出来。
1、抓包过滤器:抓包过滤器在抓包前使用,它的过滤有一个基本的语法格式:BPF语法格式。
1)BPF语法
BPF(全称 Berkeley Packet Filter),中文叫伯克利封包过滤器,它有四个核心元素:类型、方向、协议 和 逻辑运算符。
类型Type:主机(host)、网段(net)、端口(port)
方向Dir:源地址(src)、目标地址(dst)
协议Proto:各种网络协议,比如:tcp、udp、http
逻辑运算符:与( && )、或( || )、非( !)
四个元素可以自由组合,比如:
src host 192.168.1.136:抓取源IP为 192.168.1.136 的数据包
tcp || udp:抓取 TCP 或者 UDP 协议的数据包
2)使用方式
方式一:使用抓包过滤器时,需要先停止抓包,设置完过滤规则后,再开始抓包。
方式二:停止抓包的前提下,点击【工具】-【捕获】,在弹出的捕获选项界面,最下方的输入框中输入过滤语句,点击开始即可抓包。
2、显示过滤器
显示过滤器在抓包后或者抓包的过程中使用。
1)语法结构
显示过滤器的语法包含5个核心元素:IP、端口、协议、比较运算符和逻辑运算符。
IP地址:ip.addr(过滤IP)、ip.src(过滤源IP)、ip.dst(过滤目的IP)
端口:tcp.port(过滤tcp协议端口)、tcp.srcport(过滤tcp协议源端口)、tcp.dstport(过滤tcp协议目的端口)
协议:tcp、udp、http
比较运算符:> < == >= <= !=
逻辑运算符:and、or、not、xor(有且仅有一个条件被满足)
5个核心元素可以自由组合,比如:
ip.addr == 192.168.32.121:显示IP地址为 192.168.32.121 的数据包
tcp.port == 80 :显示端口为 80 的数据包
2)使用方式
在过滤栏输入过滤语句,修改后立即生效。例如:
提示:过滤栏有自动纠错功能,绿色表示语法正确,红色表示语法错误。
五
其他——常用参考过滤条件
1、过滤IP
ip.addr eq 192.168.1.107
ip.src==192.168.0.106 #查看所有源地址为192.168.0.106的数据包
ip.dst==192.168.0.106 #查看所有目标地址为192.168.0.106的数据包
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
3、过滤协议
tcp
udp
arp
icmp
http
smtp
ftp
dns
msnms
ip
ssl
oicq
bootp
排除arp包,如!arp 或者 not arp
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
5、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:
6、关键字过滤
frame contains "xxx"
tcp contains "xxx"
http contains "xxx"
官网 / www.平衡信息.com
地址 / 南宁市新际路10号和德科创中心E4栋9层