Wireshark介绍
Wireshark的使用比较灵活,打开wireshark后可以看到一个完整的开始界面,如下:
Wireshark首页
Wireshark工具栏
1.1、选取抓包网卡
在开始之前需要确定要在哪个网卡接口上抓包,有两种方式:
1)、可以在首页中的“接口列表”选择
2)、在快捷工具栏中点击红色框中的第一个按钮选择网卡接口。
选择工作网卡界面如下图:
1.2、设置抓包过滤条件
如果只选择网卡就开始抓包,则抓取的是经过该网卡的所有数据流,这样不利于我们对数据分析。所以我们可以在网卡开始之前选择过滤条件,也有两种方式选择:
1)、在wireshark首页中,点击“抓包参数”进行设置过滤条件
2)、在工具栏中点击红色框中的第二个按钮,进行设置过滤条件
过滤条件设置界面如下图:
设置好过滤条件后,wireshark抓包时,只抓取满足过滤规则的包,这样可以减少我们找需要的数据包的速度。
1.3、开始和停止抓包介绍
设置好条件后,开始抓包分析。单击“OK”按钮开始抓包,系统显示出接收的不同数据包的统计信息,单击“Stop”按钮停止抓包后,所抓包的分析结果显示在面板中,如下图所示:
1.4、wireshark窗口组成部分
wireshark的抓包结果整个窗口被分成三部分:最上面为数据包列表,用来显示截获的每个数据包的总结性信息;中间为协议树,用来显示选定的数据包所属的协议信息;最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式,如下图对wireshark界面的详细介绍。
1.5、常见显示过滤规则
使用wireshark可以很方便地对截获的数据包进行分析,包括该数据包的源地址、目的地址、所属协议等。下面列举一些常用显示过滤语法规则:
1)、二层数据包过滤:
- eth.addr == 00:d0:f8:b5:14 过滤源或目标MAC
- eth.src == 00:d0:f8:b5:14 过滤源MAC
- eth.dst == 00:d0:f8:b5:14 过滤目标MAC2)、三层数据包过滤:
- ip.addr == 00:d0:f8:b5:14 过滤IP
- ip.src == 00:d0:f8:b5:14 过滤源IP
- ip.dst == 00:d0:f8:b5:14 过滤目标IP 3)、四层数据包过滤
- tcp/udp.port == 80 过滤源或目的端口
- tcp/udp.srcport == 80 过滤源端口
- tcp/udp.dstport == 80 过滤目的端口4)、包长度过滤:
- tcp.len >= 7 指的是ip数据包(tcp下面那块数据),不包括tcp本身
- ip.len == 94 除了以太网头固定长度14,其它都算是ip.len,即从ip本身到最后 frame.len == 119 整个数据包长度,从eth开始到最后 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: ” // 响应包
6)、连接符 and / or
7)、表达式:!(arp.src==192.168.1.1) and !(arp.dst.proto_ipv4==192.168.1.243)