Wireshark的基本使用

基本界面介绍

点进去就是wireshark的主界面,包含主机上存在的流量文件和用于捕获流量的网卡

image-20240329215038242

工作界面

这里选用了以太网网卡捕获了一些流量进行演示

image-20240329215342258

一些菜单栏

  1. 文件菜单

    文件菜单主要负责打开已经抓取的数据包、最近打开的数据包合并数据包、导入导出特定数据包。

    image-20240329215454613

  2. 编辑菜单

    编辑菜单主要负责对数据包分类标记,以及在抓包过程中按照时间大小进行分包存储,还有整个软件的首选项也在编辑菜单中。

    image-20240329215539889

  3. 捕获菜单

    捕获菜单用于设置捕获规则,其中选项菜单可以设置捕获的网卡,还可以设置捕获规则

    image-20240329215720951

  4. 分析菜单

    分析菜单针对已经获取的数据包进行分析,通过制定相应的规则筛分数据包。

    image-20240329215812146

  5. 视图菜单

    视图菜单主要是针对软件中的视图显示进行设置,重点需要关注的是解析名称、列显示中的着色规则。

    image-20240329215931362

  6. 统计菜单

    统计菜单可以通过对已有数据进行图形化数据分析,这个功能对于分析大量数据是非常有帮助的。

    image-20240329220025304

数据包显示相关

数据包显示列信息

image-20240329220327142

  1. No:编号,根据抓取的数据包自动分配
  2. Time:时间,根据捕获时间设定该列
  3. Source:源地址信息,如果数据包包含源地址信息比如:IP、MAC等,会显示在该列中
  4. Destination:目的地址信息
  5. Protocol:协议信息
  6. Length:数据包长度信息
  7. Info:wireshark对数据包解读的信息

修改显示列信息

我们可以选择想要加入显示列的子项右击并选择应用为列,就可以在上面看到该列

image-20240329220847712

我们还可以删除已存在的显示列

我们还可以右击编辑列信息

image-20240329221320578

修改显示列时间

默认给出的时间格式不好阅读,我们也可以自己进行修改

我们可以单击视图选择想要的时间格式

image-20240329221446446

名字解析

默认情况下Wireshark只开启了mac地址解析,如果有需要我们可以开启解析网络名称、解析传输层名称。

点击捕获,在捕获选项中进行修改,比如传输层就会将能识别的端口号解析成对应的服务名称,解析不了就显示原始端口号

image-20240329221847219

数据包操作

获取数据包后用户可以对其进行标记、注释、合并、打印以及导出等操作,这里记录一些比较有用的操作

  1. 标记数据包

    标记数据包可以实现对比较重要的数据包进行标记,同时还可以修改数据包显示颜色。标记数据包的操作步骤如下:

    在需要标记的数据包右击选择“标记/取消标记”

    image-20240329222938030

    标记之后数据包就会高亮显示

  2. 添加注释操作

    Wireshark提供对数据包注释的功能,在实际操作中如果感觉这个数据包有问题或者比较重要,可以添加一段注释信息

    右击需要注释的数据包选择”分组注释”

    image-20240329223334679

    image-20240329223413212

  3. 打印数据包

    点击文件菜单选择打印

    image-20240329224124850

  4. 合并数据包

    在实际抓包过程中,如果网络流量比较大,不停止抓包操作,可能会出现抓包工具消耗掉所有内存,最终导致系统崩溃的状态。为解决这个问题,用户可以采取分段抓取,生成多个数据包文件,最后为了整体分析,再将这些分段数据包合并成一个包。

    点击文件菜单选择合并,然后选择要合并的流量文件即可

    image-20240329223855934

  5. 导出数据包

    Wireshark提供了数据包导出功能,用户可以进行筛选导出,还可以通过分类导出,还可以只导出选中数据包

    点击文件菜单选择导出特定分组

    image-20240329224400060

    还可以选择导出为不同格式

捕获选项

捕获选项主要针对抓取数据包使用的网卡、抓包前的过滤、抓包大小、抓包时长等进行设置。这个功能在抓包软件中也属于非常重要的一个设置。

数据包的过滤设置

Wireshark抓包过滤是基于libpcapWinpcap库实现的,所以遵循BPF(Berke-ley Packet Filter)语法,其中包括类型(Type)、方向(Dir)、协议(Proto)、逻辑运算符。

  • 类型:host、net、port
  • 方向:src、dst
  • 协议:ether、ip、tcp、udp、http、ftp等
  • 逻辑运算符:&&与、||或、!非

例如想要抓取源地址为192.168.0.100目的端口为80的流量,过滤语句为

src host 192.168.0.100 && dst port 80

想要抓取ip为192.168.0.100和192.168.0.101的流量,过滤语句为

host 192.168.0.100 || host 192.168.0.101

想要抓取除广播外的所有包,过滤语句为

! broadcast

image-20240329234755443

常用的过滤器写法

  1. 过滤mac地址

    ether host <需要过滤的MAC地址>
    ether src host <MAC地址>
    ether dst host <MAC地址>
  2. 过滤IP地址

    host <需过滤的IP地址>
    src host<IP地址>
    dst host<P地址>
  3. 过滤端口

    prot 80
    ! prot 80
    dst port 80
    srcport 80

抓包过滤一旦设置后将只抓取符合规则的数据包,这样会过滤掉大量干扰数据包,从而提高抓包数据的准确率。

过滤数据包

过滤数据包时抓取完之后使用显示过滤器来进行过滤,显示出所需要的数据包

语法规则如下

  • 比较操作符:==等于、!=不等于、>大于、<小于、>=大于等于、<=小于等于。
  • 逻辑操作:and 与操作、or或操作、xor异或操作、not非操作。
  • IP地址:ip.addr、ip.src、ip.dst。
  • 过滤端口:tcp.port、tcp.srcport、tcp.dstport、tep.flags.syn、 tep.flags.ack。
  • 过滤协议:arp、ip、icmp、udp、tcp、bootp、dns等

例如想要过滤指定ip的数据包

ip.addr==192.168.1.1
ip.src==192.168.1.1
ip.dst==192.168.1.1

image-20240330000207628

wireshark也会自带补全,类似代码补全提示的那样

更多语法可以参考这篇文章:https://cloud.tencent.com/developer/article/1442007

数据包分析

数据追踪

正常通信中如TCP、UDP、SSL等数据包都是以分片的形发送的,如果在整个数据包中分片查看数据包不便于分析,使用数据流追踪可以将TCP、UDP、SSL等数据流进行重组,以一个完整的形式呈现出来。

开启追踪流的方式有两种:

  1. 在数据流显示列表中选中要追踪的数据流,右击然后选择追踪流菜单命令。
  2. 选择”分析”菜单,然后选择追踪流。

比如我这里选择追踪一个http流,他就会显示有关这个这个数据前后相关的整个通信过程

image-20240330002214560

红色是发送请求,服务器返回的结果是蓝色

然后我们还能看到该http请求之前的tcp三次握手的过程

image-20240330002406512

后面则是传输完成后的四次挥手

image-20240330002541147

顺便说明这个数据包的具体结构,拿这个http请求为例

image-20240330002653500

上面从上到下对应着计算机网络中的五层模型:物理层、数据链路层、网络层、传输层、应用层;如果只是tcp协议的话他就只有前四层

image-20240330002805666

统计数据包

通过对数据包的统计分析,可以查看更为详细的数据信息,进而分析网络中是否存在安全问题。

  1. 选择统计菜单中的”捕获文件属性”,在其中可以查看文件、事件、捕获、接口等信息

    image-20240330003100727

  2. 选择统计菜单中的”协议分级”,可以统计出每一种协议在整个数据包中的占有率

    image-20240330003233495

  3. 选择统计菜单中的”会话”,其中包括以太网、IPv4、IPv6、TCP、UDP等不同协议会话信息展示。

    image-20240330003457780

  4. 选择统计菜单中的”端点”,其中包含以太网和各种协议选项。

    image-20240330003730343

  5. 选择统计菜单中的”分组长度”,可以对不同大小的数据包进行统计

    image-20240330003838451

  6. 选择统计菜单中的”I/O图表”,其中包括一个坐标轴显示的图表,下方可以添加任意的协议,也可以选择协议显示的颜色,还可以调整坐标轴的刻度。

    image-20240330004032643

  7. 选择统计菜单中的”流量图”,其中包括通信时间、通信地址、端口以及通信过程中的协议功能

    image-20240330004146063

  8. 选择统计菜单中的”TCP流型图”,在其中可以根据实际需要设置相应的显示,还可以切换数据包的方向。

    image-20240330004340761

常见漏洞流量分析

这里采用dvwa靶场来进行流量分析

SQL注入流量分析