Wireshark 提示和技巧 | 如何合并多个捕获文件

背景

想到介绍合并捕获文件这个事情,源自于朋友的一个问题,虽然我用到的场景不是很多,但是可能会有更多的同学需要,就简单说说我知道的几个方法。

示例

测试的捕获文件主要信息如下,其中 test.pcapng 文件数据包数量 3 个,为 TCP 三次握手数据包,分拆成两个数据包文件,No.1 SYN 和 No.3 ACK 为 test01.pcpang,No.2 SYN/ACK 为 test02.pcapng。

λ capinfos test.pcapng
File name:           test.pcapng
File type:           Wireshark/... - pcapng
File encapsulation:  Ethernet
File timestamp precision:  microseconds (6)
Packet size limit:   file hdr: (not set)
Number of packets:   3
File size:           600 bytes
Data size:           186 bytes
Capture duration:    0.001654 seconds
First packet time:   2021-07-19 13:17:07.172339
Last packet time:    2021-07-19 13:17:07.173993
Data byte rate:      112 kBps
Data bit rate:       899 kbps
Average packet size: 62.00 bytes
Average packet rate: 1813 packets/s
SHA256:              5f618074fa1fbc83fbb113b42ae6fa3e0b7fdb86441b930d0d71842e96b4b521
RIPEMD160:           922b130ccc3bda159bfa399b494da089ef2e50fe
SHA1:                c0d507e9ff122135a3e20e3920649bce636c8726
Strict time order:   True
Capture application: Sanitized by TraceWrangler v0.6.8 build 949
Capture comment:     Sanitized by TraceWrangler v0.6.8 build 949
Number of interfaces in file: 1
Interface #0 info:
                     Name = \Device\NPF_{B1071A54-24CE-477D-A23D-93223A1A3721}
                     Description = Ethernet0
                     Encapsulation = Ethernet (1 - ether)
                     Capture length = 262144
                     Time precision = microseconds (6)
                     Time ticks per second = 1000000
                     Time resolution = 0x06
                     Operating system = 64-bit Windows 10 (1809), build 17763
                     Number of stat entries = 0
                     Number of packets = 3
                         

λ capinfos test0*.pcapng
File name:           test01.pcapng
File type:           Wireshark/... - pcapng
File encapsulation:  Ethernet
File timestamp precision:  microseconds (6)
Packet size limit:   file hdr: (not set)
Number of packets:   2
File size:           488 bytes
Data size:           120 bytes
Capture duration:    0.001654 seconds
First packet time:   2021-07-19 13:17:07.172339
Last packet time:    2021-07-19 13:17:07.173993
Data byte rate:      72 kBps
Data bit rate:       580 kbps
Average packet size: 60.00 bytes
Average packet rate: 1209 packets/s
SHA256:              7f73fa4cee113507fb13bfea6c3d588d16ce62455dba84967b6c7e9ff5f119f9
RIPEMD160:           99c63e7b258156ca52332607170060514a05374c
SHA1:                0e73dc6d560a1ed7a94ba3639d04e268ed58e8a9
Strict time order:   True
Capture application: Sanitized by TraceWrangler v0.6.8 build 949
Capture comment:     Sanitized by TraceWrangler v0.6.8 build 949
Number of interfaces in file: 1
Interface #0 info:
                     Name = \Device\NPF_{B1071A54-24CE-477D-A23D-93223A1A3721}
                     Description = Ethernet0
                     Encapsulation = Ethernet (1 - ether)
                     Capture length = 262144
                     Time precision = microseconds (6)
                     Time ticks per second = 1000000
                     Time resolution = 0x06
                     Operating system = 64-bit Windows 10 (1809), build 17763
                     Number of stat entries = 0
                     Number of packets = 2

File name:           test02.pcapng
File type:           Wireshark/... - pcapng
File encapsulation:  Ethernet
File timestamp precision:  microseconds (6)
Packet size limit:   file hdr: (not set)
Number of packets:   1
File size:           388 bytes
Data size:           66 bytes
Capture duration:    0.000000 seconds
First packet time:   2021-07-19 13:17:07.173872
Last packet time:    2021-07-19 13:17:07.173872
Data byte rate:      0 bytes/s
Data bit rate:       0 bits/s
Average packet size: 66.00 bytes
Average packet rate: 0 packets/s
SHA256:              6c52de6c914bfcefab0f06773fffa2e3a6d6e29be580cf857a7af03cfac12a64
RIPEMD160:           0d1daa946a757cd6f57a3a97c87753f93a88bbf3
SHA1:                623955ea30d52e85dce3e92b963c1440a11b7ed6
Strict time order:   True
Capture application: Sanitized by TraceWrangler v0.6.8 build 949
Capture comment:     Sanitized by TraceWrangler v0.6.8 build 949
Number of interfaces in file: 1
Interface #0 info:
                     Name = \Device\NPF_{B1071A54-24CE-477D-A23D-93223A1A3721}
                     Description = Ethernet0
                     Encapsulation = Ethernet (1 - ether)
                     Capture length = 262144
                     Time precision = microseconds (6)
                     Time ticks per second = 1000000
                     Time resolution = 0x06
                     Operating system = 64-bit Windows 10 (1809), build 17763
                     Number of stat entries = 0
                     Number of packets = 1


                      
λ tshark -r test.pcapng
    1   0.000000  192.168.0.110.10.10.1   TCP 66 5376980 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 WS=256 SACK_PERM
    2   0.001533   10.10.10.1192.168.0.1  TCP 66 8053769 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM
    3   0.001654  192.168.0.110.10.10.1   TCP 54 5376980 [ACK] Seq=1 Ack=1 Win=262656 Len=0
                         
λ tshark -r test01.pcapng
    1   0.000000  192.168.0.110.10.10.1   TCP 66 5376980 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 WS=256 SACK_PERM
    2   0.001654  192.168.0.110.10.10.1   TCP 54 5376980 [ACK] Seq=1 Ack=1 Win=262656 Len=0

λ tshark -r test02.pcapng
    1   0.000000   10.10.10.1192.168.0.1  TCP 66 8053769 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM

Mergecap

Mergecap 是 Wireshark 程序安装时附带的可选工具之一,用于合并数据包文件的命令行工具。以下仅做一些基础命令的展示,对于这个工具,我还专门详细写过一篇文章《Wireshark CLI | Mergecap 篇》,有兴趣的可以瞅瞅。

默认合并方式是基于数据帧的时间戳。示例中合并 test01 和 test02 后即与 test 相同。
λ mergecap -w merge.pcapng test01.pcapng test02.pcapng
λ tshark -r merge.pcapng
    1   0.000000  192.168.0.1 → 10.10.10.1   TCP 66 53769 → 80 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 WS=256 SACK_PERM
    2   0.001533   10.10.10.1 → 192.168.0.1  TCP 66 80 → 53769 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM
    3   0.001654  192.168.0.1 → 10.10.10.1   TCP 54 53769 → 80 [ACK] Seq=1 Ack=1 Win=262656 Len=0


-a 选项,连接而不是合并文件。
λ mergecap -a -w merge.pcapng test01.pcapng test02.pcapng
λ tshark -r merge.pcapng
    1   0.000000  192.168.0.1 → 10.10.10.1   TCP 66 53769 → 80 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 WS=256 SACK_PERM
    2   0.001654  192.168.0.1 → 10.10.10.1   TCP 54 53769 → 80 [ACK] Seq=1 Ack=1 Win=262656 Len=0
    3   0.001533   10.10.10.1 → 192.168.0.1  TCP 66 80 → 53769 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM

Wireshark

对于 Mergecap 命令行所实现的基本功能,实际上 Wireshark 主界面的文件菜单上既有相对应的功能选项。
File -> Merge ,使用方式是先打开一个捕获文件,譬如 test01.pcapng,在文件菜单中再选择合并,选择需要再加载的一个捕获文件,譬如 test02.pcapng,打开即可。

image.png

image.png

上图左下角,默认第二个选项,也就是基于数据帧的时间戳合并,如下合并成一个新创建的临时文件,保存即可。

image.png
另外第一个选项,是将第二个文件的数据包加载到第一个文件的数据包之前,如下合并成一个新创建的临时文件,保存即可。

image.png

第三个选项,是将第二个文件的数据包加载到第一个文件的数据包之后,如下合并成一个新创建的临时文件,保存即可。

image.png

还是 Wireshark

实际上还有一个更简单的方式,直接使用拖放就可以在主窗口上合并多个文件。Wireshark 仍将会按照时间戳顺序将选中的多个文件数据包合并到一个新创建的临时文件中,保存即可。

test04.gif

总结

  1. Mergecap 功能更强大,命令行操作也方便;
  2. Wireshark 自带的 Merge 相对功能弱些,而且也没法一次性合并多个文件;
  3. 如果仅是按照时间戳顺序合并,拖放方式最为简单。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/633421.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

遍历列表

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 遍历列表中的所有元素是常用的一种操作,在遍历的过程中可以完成查询、处理等功能。在生活中,如果想要去商场买一件衣服&#…

Sui主网升级至V1.25.1版本

其他升级要点如下所示: 协议 #17335 在DeepBook上交易时,lot_size代表min_size,表示交易所需的最小数量。quantity_min_tick(一个常数,1000)现在是lot_size。交易数量现在必须是quantity_min_tick的倍数…

数据访问层设计_6.连接对象管理设计

1.数据库连接管理 在基于JDBC的数据库应用开发中,数据库连接的管理是一个难点,因为它是决定该应用性能的一个重要因素。 对于共享资源,有一个很著名的设计模式——资源池。该模式正是为了解决资源频繁分配、释放所造成的问题。把该模式应用到…

nss刷题(关于ssti)

1、[HNCTF 2022 WEEK2]ez_SSTI 首先是注入${7*7}没有回显出49的情况,再次注入{{7*7}}如果还是没有回显49就代表这里没有模板注入;如果注入{{7*7}}回显了49代表执行成功,继续往下走注入{{7*7}},如果执行成功回显7777777…

基于深度学习OCR文本识别

第一步:概要 基于深度学习OCR文本识别分为两个模块:DBNet和CRNN。 DBNet是基于分割的文本检测算法,算法将可微分二值化模块(Differentiable Binarization)引入了分割模型,使得模型能够通过自适应的阈值图进行二值化,并…

复制即用!纯htmlcss写的炫酷input输入框

一般我们写css样式都要用样式库,但是嫌麻烦,如果能找到现成的内容复制上去就很香了,下文是笔者觉得好看的纯html&css写的样式,可以直接复制到Vue等内,十分方便。 input组件 1) 下面这个很推荐&#…

微信小程序抓取数据包(Proxifier联动burpsuite)

1、打开bp,确保开启127.0.0.1:8080监听地址。 2、点击setting--proxy,点击impor CA certificate,生成bp的证书。 保存到桌面为1.cer,文件后缀为cer就OK了,前缀任意 3、安装证书,双击打开刚刚生成…

js的算法-选择排序(简单选择排序)

选择排序 每一趟(如第i趟)在后面n-i1(i1,2,……n-1)个待排序元素中选取关键字最小的元素,作为有序子序列的第i 个元素,直到第i个元素,直到第n-1趟做完,待排序元素只剩下1个,就不用再选了。 快…

C - Sigma Problem(AtCoder Beginner Contest 353)

题目的链接: C - Sigma Problem (atcoder.jp) 题目: 样例: 题目大致含意: 给你n个数,让你对这n个数进行操作,比如当前是第i个,那么让a[i] 和 后面的每个数进行相加, 例如a[i] a[i 1] 注意的是a[i] a[i 1]的结果…

GPIO模拟IIC通信测量环境光

目录 iic.h iic.c ap3216c.h ap3216.c main.c 实验效果 iic.h #ifndef __IIC_H__ #define __IIC_H__#include "stm32mp1xx_gpio.h" #include "stm32mp1xx_rcc.h" //SDA 数据线为PF15 //SCL 时钟线为PF14//配置PF15为输出模式 #define SET_SDA_OUT d…

医药进出口交易|基于SSM+vue的医药进出口交易系统的设计与实现(源码+数据库+文档)

医药进出口交易系统 目录 基于SSM+vue的医药进出口交易系统的设计与实现 一、前言 二、系统设计 三、系统功能设计 5.1系统登录 5.2管理员功能模块 5.3仓储部门功能模块 5.4业务部门功能模块 5.5供应部门功能模块 5.6财务部功能模块 5.7客户功能模块 …

【BUG】流式响应requests得到: ping - 和时间戳

前情提要 运行Langchain-Chatchat项目,使用自定义请求访问API Server流式输出 报错展示 b: ping - 2024-05-22 00:46:04.83252000:00\r\n\r\n报错原因 这通常是由于 Server-Sent Events (SSE) 实现中使用的“心跳”机制,以确保连接保持活跃。一些 SSE…

反序列化漏洞(JBoss、apache log4、apache Shiro、JWT)Weblogic未授权访问、代码执行、任意上传

1.1什么是反序列化 就是把一个对象变成可以传输的字符串,目的就是为了方便传输。假设,我们写了一个class,这个class里面存有一些变量。当这个class被实例化了之后,在使用过程中里面的一些变量值发生了改变。以后在某些时候还会用到…

附代码:策略常用-正余弦优化算法

正余弦优化算法作为群智能优化算法的一种, 正弦余弦算法 (sine cosine algorithm, SCA) 是 2016 年由 Mirjalili 提出的一种新型仿自然优化算法, 通过创建多个随机候选解, 利用正余弦函数的数学性质来平衡算法在搜系过程中的全局探索和局部开发能力。该算法具有结构简单、参数少…

鸿蒙开发接口应用程序包管理:【ApplicationInfo】

ApplicationInfo 说明: 本模块首批接口从API version 7 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 开发前请熟悉鸿蒙开发指导文档: gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。…

ARTS Week 29

Algorithm 本周的算法题为 2413. 最小偶倍数 给你一个正整数 n ,返回 2 和 n 的最小公倍数(正整数)。 示例 1:输入:n 5输出:10解释:5 和 2 的最小公倍数是 10 。 实现代码如下: con…

P6【力扣144,94,145】【数据结构】【二叉树遍历】C++版

【144】二叉树的前序遍历 1、递归法&#xff1a; class Solution { public:void preorder(TreeNode* root, vector<int> &res){if(root nullptr){return;}res.push_back(root->val);preorder(root->left, res);preorder(root->right, res);}vector<in…

AI--构建检索增强生成 (RAG) 应用程序

LLM 所实现的最强大的应用之一是复杂的问答 (Q&A) 聊天机器人。这些应用程序可以回答有关特定源信息的问题。这些应用程序使用一种称为检索增强生成 (RAG) 的技术。 典型的 RAG 应用程序有两个主要组件 索引&#xff1a;从源中提取数据并对其进行索引的管道。这通常在线下…

递增链表去重

题目描述&#xff1a; 题目思路&#xff1a; 1.链表内的val是递增的&#xff0c;所以相同的值只会连续重复地出现。 2.设置三个指针&#xff1a; ①指向头结点指针&#xff0c;用于返回链表 ②指向返回链表链尾的指针&#xff0c;用于在新链表添加结点 ③遍历旧链表结点的…

基于地理坐标的高阶几何编辑工具算法(5)——合并相交面

文章目录 工具步骤应用场景算法输入算法输出算法示意图算法原理 工具步骤 选中一个面&#xff0c;点击“合并相交面”工具&#xff0c;选择其他相邻面&#xff0c;空格执行合并。 应用场景 用于将相邻或相交的同类型几何面进行合并&#xff0c;达到综合效果。 算法输入 待…