快速学习多协议抓包利器Wireshark

2020-10-23 15:49:54 浏览数 (1)

你知道常用的抓包工具有哪些?Fiddler、charles、Wireshark,我们常接触的无非这几种,前面介绍过fiddler,它跟charles一样,简单易用,协议数据清晰可视。对于常见抓包场景Fiddler、charles已经够用了。 为啥还要学习Wireshark?

因为Fiddler、charles采用是web代理的方式捕获数据包,无法完成如下这两个场景:

  • 抓取非HTTP、HTTPS协议的数据,
  • 抓取服务端的数据。

Wireshark是什么?

Wireshark 当前应用最广泛的网络协议分析工具,它是一个多协议的网络分析工具,不仅仅支持http、https,而是支持常见的所有协议,并且支持多平台,Windows、linux、mac都不在话下。

Wireshark这么强大,我们一般用它来做什么?

用户通常使用Wireshark来学习各种网络协议,定位分析网络问题,分析应用程序使用何种协议进行工作。

1.下载安装

官方下载地址:https://www.Wireshark.org/download.html

下载后直接双击安装即可。

2.界面基本介绍

启动Wireshark后,首先加载的是网卡接口选择界面。根据需要选择监听的网卡。

选择网卡之后,Wireshark开始自动捕获协议数据,整个窗口布局如下:

Wireshark抓取的数据包与七层OSI模型的关系

3.过滤器

由于Wireshark直接捕获底层网络数据包,导致其捕获的数据包数量通常较大。为了便于筛选数据包,去除冗余的信息,Wireshark提供了两种好用的过滤器,便于我们有针对性的对数据包进行筛选分析。

过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。

两种过滤器:捕获过滤器,显示过滤器。

1、捕获过滤器:提前设置需要抓取的数据包规则,减小报文的体积。

操作路径:Capture(捕获)-->Options(选项)-->Capture Filter(捕获过滤器)

进入捕获>捕获过滤器,wireshark已经提供了一些常见的过滤规则。

语法规则: 语法:<**Protocol><Direction><Host(s)><Value><LogicalOperations><Otherexpression>**

常用捕获过滤语句举例:

  • 只显示目的TCP端口为8080的数据包: tcp dst port8080
  • 只显示来源IP地址为192.168.171.201的数据包: ip src host192.168.171.201
  • 只显示目的P地址为192.168.5.231的数据包: ip dst host192.168.5.231
  • 只捕获主机192.168.5.001的http流量: host192.168.5.001andport80andhttp
2、显示过滤器:对已经抓取的报文进行筛选过滤,可以在捕获过程中或者捕获后随时更改,比捕获过滤器功能更强大。

语法规则: 语法:<**Protocol><String1><String2><Comparisonoperator><Value><LogicalOperations><Otherexpression>**

直接过滤框中输入过滤规则

常用显示过滤语句举例:

筛选含有IP地址192.168.0.1的数据包

ip.addr==192.168.0.1

筛选源地址是192.168.171.1的数据包

ip.src==192.168.171.1

筛选目的地址是192.168.171.1的数据包

ip.dst==192.168.0.1

只显示含有80端口的数据包

tcp.port==80

所有的HTTP POST请求

http.request.method=="POST"

URL中包含baidu的http请求

http.request.uri contains"baidu"

关于Wireshark几个好用的技巧 技巧1:直接选中具体的数据摘要或者详情信息,右键选择作为过滤器。

技巧2:在过滤规则输入框右侧点击表达式,根据需要使用的规则、关系、值进行组合。

技巧3:选择需要具体分析的数据包,然后右键选择“追踪流”,选择协议,就可以看到与这对ip和端口以及协议相同的全部通信。

Wireshark还有强大的数据包分析功能,大家可以自行百度学习。

0 人点赞