Wireshark是非常流行的网络封包分析软件,可以截取各种网络数据包,并显示数据包详细信息。
一、Wireshark安装
软件下载路径:wireshark官网。按照系统版本选择下载,下载完成后,按照软件提示一路Next安装。
说明:如果你是Win10系统,安装完成后,选择抓包但是不显示网卡,下载win10pcap兼容性安装包。下载路径:win10pcap兼容性安装包
二、Wireshark简单示例
这里我安装的版本是3.4.4,打开后有很多过滤器
点击捕获按钮,看到WLAN那个对应的是本机的IP地址,就选它了,然后点开始即可。
执行需要抓包的操作,如在cmd窗口下执行ping www.baidu.com。
目标主机是119.75.217.26,所以过滤条件是ip.addr == 119.75.217.26 and icmp 。
这表示只显示ICPM协议且源主机IP或者目的主机IP为119.75.217.26的数据包。说明:协议名称icmp要小写。
三、Wireshark过滤器
初学者使用wireshark时,将会得到大量的冗余数据包列表,以至于很难找到自己需要抓取的数据包部分。wireshark工具中自带了两种类型的过滤器,学会使用这两种过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。
过滤器包含两种类型,一种是抓包过滤器,就是抓取前设置过滤规则。另外一种是显示过滤器,就是在数据包分析时进行过滤数据使用。通过过滤器可以筛选出想要分析的内容。包括按照协议过滤、端口和主机名过滤、数据包内容过滤。
1.抓包过滤器
可以在菜单中的捕获->捕获过滤器,新加一个过滤条件,比如ip.addr == 119.75.217.26 and icmp。然后在新的捕获开始前,把这个条件加入,然后点击最右方的浅蓝色箭头按钮应用即可。
2.显示过滤器
显示过滤器是用于在抓取数据包后设置过滤条件进行过滤数据包。通常是在抓取数据包时设置条件相对宽泛或者没有设置导致抓取的数据包内容较多时使用显示过滤器设置条件过滤以方便分析。规则同上,比如ip.addr == 119.75.217.26 and icmp。
3.协议过滤
比较简单,直接在Filter框中直接输入协议名即可。注意:协议名称需要输入小写。
- tcp,只显示TCP协议的数据包列表
- http,只查看HTTP协议的数据包列表
- icmp,只显示ICMP协议的数据包列表
4. ip过滤
- ip.src ==192.168.1.104 显示源地址为192.168.1.104的数据包列表
- ip.dst==192.168.1.104, 显示目标地址为192.168.1.104的数据包列表
- ip.addr == 192.168.1.104 显示源IP地址或目标IP地址为192.168.1.104的数据包列表
5. 端口过滤
- tcp.port ==80, 显示源主机或者目的主机端口为80的数据包列表。
- tcp.srcport == 80, 只显示TCP协议的源主机端口为80的数据包列表。
- tcp.dstport == 80,只显示TCP协议的目的主机端口为80的数据包列表。
6.Http模式过滤
http.request.method=="GET", 只显示HTTP GET方法的。
7.逻辑运算符为 and/or/not
过滤多个条件组合时,使用and/or。比如获取IP地址为192.168.1.104的ICMP数据包表达式为ip.addr == 192.168.1.104 and icmp
8.按照数据包内容过滤
假设我要以IMCP层中的内容进行过滤,可以单击选中界面中的码流,在下方进行选中数据。如下
选中Select后在过滤器中显示如下
后面条件表达式就需要自己填写。如下我想过滤出data数据包中包含"abcd"内容的数据流。包含的关键词是contains 后面跟上内容。