网络流量洞察:高级Wireshark应用技巧
Sanbora 发表于 湖南 安全工具 3231浏览 · 2024-05-26 05:51

高级Wireshark应用技巧

规则配置文件

在wireshark的右下角可以管新建、删除、管理配置文件,配置文件保存了wireshark的设置信息,例如:着色器、过滤规则等。

页面布局

总体布局

在Windows中,选择菜单中的编辑,选择首选项,选择布局,即可设置页面的布局。

packet diagram 则表示使用 数据包图标 的方式来展示信息。

数据包图标

在 数据包图标 中选中,在分组详情中也会选中对应的。

默认情况下,数据包图标不会显示具体的参数信息,在数据包图标右击,选择"show field values"即可显示

列信息

在编辑,首选项,外观,列。在这里可以设置列的名称,以及所显示的信息。

可以启用,关闭列。添加,删除列。

着色器

单击此处,即可快速开启或者关闭着色器。

单机菜单中的"视图",选中"着色器规则",即可打开着色器规则的对话框

可以为添加、删除,启用、关闭着色器规则。

设置规则的前景色和背景色。

最上方的优先级最高,最下方的优先级最低。

例如:这样的两条规则

如果一个数据包的ack为1,那么这个数据包肯定也是一个tcp数据包。

此时,前景色会显示为红色,因为tck.ack == 1规则的优先级高于tcp

快速新增列

在分组详情中选中一个字段,右击选中"应用为列"。

就会快速新增一个列,显示该字段的名称

设置前

新增一个列,显示的信息为tcp包中源端口的信息

设置后(两图所选的包不同)

多了一个列,source port。显示tcp端口中的源端口。

快速设置过滤器

在分组详情中选中一个字段,右击选中"作为过滤器应用"中的"选中",即可快速添加一个过滤器规则,进行筛选。

这样就会筛选目标IP为172.16.1.104的数据包了。

如果这条过滤规则是一条经常会用到的规则。

单击左边的"+",为这条过滤器设置一个名称,单击确定。

"+"号后面就多了一个按钮,按钮名称就是设置的标签,单击按钮就可以应用这条过滤规则。

接口捕获设置

在"wireshark捕获选项"对话框中,单击"管理接口",即可对本地接口进行设置,是否启用该接口。

建议为所有的接口启用混杂模式,这样wireshark不仅会捕获往返于自身的流量,还捕获彼此之间单播流量的其他机器

在输出选项中,可以设置捕获流量保存的文件位置。

可以设置单个文件的最大字节数,这里设置为500MB

如果一个文件到达500MB,则会创建一个新的文件,来保存后续捕获的数据。

设置为10表示最多有10个500MB的文件,如果到达了10个文件,将会删除第一个文件,循环往复。

Dumpcap 捕获数据包

描述

Dumpcap是一个捕获网络流量的工具,它允许实时捕获网络数据包并将数据包写入文件。默认的文件格式为pcapng,当指定-P选项时,将使用pcap文件格式格式。

如果没有指定网络接口,将从第一个可用网络接口捕获流量,并将接收到的原始数据包和及数据包的时间戳写入文件。

如果没有使用-w参数指定文件存放位置,将创建新的文件,文件名称随机

数据包捕获是使用 pcap 库执行的。捕获过滤器语法遵循 pcap 库的规则。

选项

-P

将文件另存为 pcap 而不是默认的 pcapng。在需要 pcapng 的情况下,例如从多个接口捕获,此选项将被覆盖。

-a|--autostop <自动停止条件>

指定何时停止捕获网络流量。标准的形式为 test:value,其中 test 是以下之一:

  • duration:value
    • 经过 value 秒后停止捕获。允许使用浮点值(例如 0.5)
  • files:value
    • 捕获 value 个文件后停止捕获
  • filesize:value
    • 在文件大小达到 value kB 后停止捕获。
    • 如果此选项与 -b 选项一起使用,达到文件大小时将停止写入当前文件,并切换到下一个文件写入。
  • packet:value
    • 当捕获的数据包达到 value 个时停止写入。作用与 -c <捕获数据包计数> 相同。

-c <捕获数据包计数>

设置捕获 value 个文件后停止捕获。。作用与 -a packet:value 相同。

-b|--ring-buffer <捕获环形缓冲区选项>

每个 -b 参数仅指定一个子参数;要指定两个子参数,必须要有两个 -b 参数。

-b duration:3600 -b files:100

将捕获的数据包写入多个文件。当第一个文件填满时,将切换写入下一个文件,依此类推。

创建的文件,文件名基于 -w 选项给出的文件名、文件编号以及创建日期和时间。

outfile_00001_20230714120117.pcapng
outfile_00002_20230714120523.pcapng
outfile_00003_20230714120853.pcapng
......

标准的形式为 key:value,其中 key 是以下之一:

  • duration:value
    • 经过 value 秒后停止当前文件的保存,切换到下一个文件保存数据包,即使当前文件未完全填满(未达到指定的文件大小)。允许使用浮点值(例如 0.5)。
  • files:value
    • 指定文件最大数量。在写入 value 个文件后从第一个文件重新开始(形成环形缓冲区)。该值必须小于 100000。
    • 使用大量文件时应小心:某些文件系统不能很好地处理单个目录中的多个文件。
    • 文件标准要求指定持续时间、间隔或文件大小来控制何时转到下一个文件。
  • filesize:value
    • 指定单个文件的大小,在达到 value kB 大小后切换到下一个文件。
    • 文件大小的最大值限制为 2 GiB(2048 MiB = 2,097,152 KiB)。
  • interval:value
    • 经过 value 秒后切换到下一个文件。
    • 例如:-b interval:value ,一个小时切换一次文件
  • packet:value
    • 在文件捕获 value 个数据包后,切换到下一个文件

Time

DataPack

  • Time表示从开始捕获的数据包中,第一个数据包到当前数据包所经过的时间。
  • Delate表示上个一个数据包,到当前数据包所经过的时间。

"frame.time_delta"和"frame.time_delta_displayed"这两个字段的区别:

假设有四个帧,帧1、帧2、帧3和帧4。如果你没有应用显示过滤器,则两个字段的值是一样的。

如果应用了显示过滤器,只显示帧1和帧3

"frame.time_delta" 帧3的Delta显示的是,帧2(上一帧)到帧3(当前帧)所经过的时间,即使帧2被过滤了。

"frame.time_delta_displayed"帧3的Delta显示的是,帧1到帧3(当前帧)所经过的时间,因为帧2被过滤了。

设置Time布局样式

视图菜单—>时间显示格式

这里选择为"时间(xxxxxxxx)"

TCP Stram Time

TCP流(TCP Stream)是指在TCP协议中,它将数据以字节流的形式发送出去,接收者也以字节流的形式接收数据。这种方式被称为流,因为在传输过程中,它保持了数据流的连续性。

在具体的网络报文层面,一个TCP流对应的就是一个五元组:传输协议类型、源IP、源端口、目的IP、目的端口。或者说相同的五元组构成一个TCP流。

这五个元素都包含在IP报文中,所以在解析抓包文件时,Wireshark可以通过五元组知道每个报文所属的TCP流。这也是为什么我们可以在Wireshark里,用Follow TCP Stream的方法,找到报文所在的TCP流。

  • "Time since first frame in this TCP stream"表示从TCP流的第一帧开始到当前帧的时间差。这个值是Wireshark基于当前帧和第一帧的时间计算出来的。
  • "Time since previous frame in this TCP stream"表示从TCP流的上一帧到当前帧的时间差。这个值是Wireshark基于当前帧和上一帧的时间计算出来的。

统计

Wireshark中有一个统计功能,可以对当前文件的所有数据包进行一个详细的统计。

"统计"菜单中选择绘画,即可打开统计选项卡

数据链路层视角

  • 整个网络中只有两台主机进行通信。
  • 主机A的MAC地址:08:00:27:01:39:F0
  • 主机B的MAC地址:52:54:00:12:35:02

其他信息:两台主机发送数据包的总数(以及互相发数据包的数量)、两台主机发送的数据总字节数(以及互相发送字节数的数量)、两台主机通讯持续时间。

网络层视角IPv4/IPv6

由于IPv4与IPv6内容基本相同,此处仅介绍IPv4部分

  • 源IP地址与目的IP地址
  • 数据包数量
  • 流量字节数
  • 持续时间

通过图标的方式更准确的了解互相通讯的开始时间、持续时间

通过对字节数的逆序排序,可以迅速查找出传输字节数在网络中大的会话,很有可能是在传输文件

TCP传输层视角

  • 源IP地址与目的IP地址
  • 源端口与目的端口
  • 数据流ID
  • 数据包数量
  • 流量字节数
  • 持续时间

在传输层视图中进行分析,很容易可以找到网络中是否存在端口扫描等内网渗透攻击。

快速过滤

可以在会话对话框中快速的进行数据包显示过滤。

IPv4

仅显示指定的两个IP地址互相发送的数据包。

TCP Stream

仅显示指定的两个IP地址(指令的两个端口,TCP数据流)发送的数据包。

启用TCP重组

在传输层中的TCP协议中,一个数据包的大小可能无法一次性全部传输,这涉及到TCP分段和TCP重组,WireShark中默认开启了TCP重组,也就是说WireShark会将同一个TCP Stream中由于分段产生的数据包组合成一个数据包进行显示。

在"分组详情"中右击Transmission Control Protocol,勾选/取消"Allow subdissector to reassemble TCP streams",可以开启/关闭,WiresShark重组TCP数据包(默认开启)。

关闭重组TCP数据包

开启重组TCP数据包

提取网络中传输的文件

WireShark可以提取部分协议中传输的问题,通过分析数据包发现网络中通过HTTP协议传输了一个PNG格式的图片文件。

在文件菜单中,选择""导出对象",在选择"HTTP"

选中想要到导出的文件,单击"保存"按钮即可导出。

文本视图查看TCP Stream

选中TCP Stream数据包,右击选中"追踪流"中的"TCP Stream"

以文本方式查看TCP Stream中传输的数据,通过此方式导出二进制数据,使用其他的工具进行分析,从而提取出Wire Shark不支持导出的文件。

GeoIP

为WireShark中的IP获取地理位置信息,即可以方便的统计IP所在的地区。

文件下载链接:

下载后效果

解压三个压缩包,将文件保存到同一个文件夹中

在WireShark中添加该文件夹路径,保存退出,重启WireShark

数据包查看地址

在数据包中已经可以查看地址了

统计

在统计"菜单"的,"端点"选项中,也可以查看位置信息。

MAP

在浏览器中更加直观的查看位置信息。

0 条评论
某人
表情
可输入 255