1、数据包格式

两种数据包格式,pcap和pcapng两种。pcapng为升级版,时间戳细粒度更高。

2、时间戳位置(arrival time)

时间戳在数据包中表现为物理层的arrival time

a、pcap格式

打开包找到arrival time下面的Epoch Time根据时间戳计算十六进制(在线工具:https://tool.oschina.net/hexconvert/),打开二进制工具搜索十六进制直接修改。数据包中每帧都包含有一个时间戳,且不在包本身的内容里,需要查看二进制数据才能找到。

b、pcapng格式

pcapng格式修改时间较为复杂,需要通过复杂的计算出对应的时间。可以使用010 editer的格式工具查看pcapng包能够读到时间戳如下:

时间是根据Timestamp (High) 和 Timestamp (Low)计算出的,计算公式(算法内容pcapng文档有解释说明)取自010的模版:

local uint8 tsresol_base = 10; // 10 or 2
local uint8 tsresol = 6;
local int64 tsoffset = 0;
local double tsscale = Pow(tsresol_base, -tsresol); string Read_TimeStamp(TimeStamp &ts) {
local string res;
local double seconds = (((int64)ts.timestamp_high * (int64)0xFFFFFFFF + ts.timestamp_low) + tsoffset) * tsscale;
local time_t timet = (time_t) seconds;
local double rem = seconds - (uint32)timet;
// NOTE: This is fragile. TimeToString wants time_t which is 32 bits
SPrintf(res, "%s + %.9lf UTC", TimeTToString(timet, "yyyy-MM-dd hh:mm:ss"), rem);
return res;
}

读取方法为找到8位时间戳,分前后4位后分别以小端存储方式读取。

定位到算法后还是不明白为什么时间戳在新版的数据包中要使用如此复杂的方式进行计算存储,希望看到的前辈给予指导。

格式参考文档:https://pcapng.github.io/pcapng/

wireshark数据包时间戳修改的更多相关文章

  1. python3+pyshark读取wireshark数据包并追踪telnet数据流

    一.程序说明 本程序有两个要点,第一个要点是读取wireshark数据包(当然也可以从网卡直接捕获改个函数就行),这个使用pyshark实现.pyshark是tshark的一个python封装,至于t ...

  2. 《Wireshark数据包分析实战》 - http背后,tcp/ip抓包分析

    作为网络开发人员,使用fiddler无疑是最好的选择,方便易用功能强. 但是什么作为爱学习的同学,是不应该止步于http协议的,学习wireshark则可以满足这方面的需求.wireshark作为抓取 ...

  3. WireShark数据包分析数据封装

    WireShark数据包分析数据封装 数据封装(Data Encapsulation)是指将协议数据单元(PDU)封装在一组协议头和尾中的过程.在OSI七层参考模型中,每层主要负责与其它机器上的对等层 ...

  4. Wireshark数据包分析入门

    Wireshark数据包分析(一)——使用入门   Wireshark简介: Wireshark是一款最流行和强大的开源数据包抓包与分析工具,没有之一.在SecTools安全社区里颇受欢迎,曾一度超越 ...

  5. wireshark数据包分析

    最近有不少同事开始学习Wireshark,他们遇到的第一个困难就是理解不了主界面上的提示信息,于是跑来问我.问的人多了,我也总结成一篇文章,希望对大家有所帮助.Wireshark的提示可是其最有价值之 ...

  6. Wireshark数据包分析(一)——使用入门

    Wireshark简介: Wireshark是一款最流行和强大的开源数据包抓包与分析工具,没有之一.在SecTools安全社区里颇受欢迎,曾一度超越Metasploit.Nessus.Aircrack ...

  7. wireshark数据包分析实战 第三、四章

    1,wireshark支持的协议上千种,开源的. 2,wireshark需要winpcap驱动支持.winpcap驱动的作用通过操作系统捕捉原始数据包.应用过滤器.将网卡切换为混杂模式. 3,捕获文件 ...

  8. wireshark数据包分析实战 第一章

    1,数据包分析工具:tcpdump.wireshark.前者是命令行的,后者是图形界面的. 分析过程:收集数据.转换数据(二进制数据转换为可读形式).分析数据.tcpdump不提供分析数据,只将最原始 ...

  9. WireShark数据包分析一:认识WireShark

    一.认识WireShark WireShark是一款抓包软件,官方网址:WireShark.org 官网如下图: 选择Download,在官网下载安装WireShark即可. WireShark可用来 ...

  10. wireshark数据包分析实战 第二章

    1,监听网络线路:即嗅探器的位置确定. 2,混杂模式:将网卡设置成混杂模式,网卡可以接受经过网卡的所有数据报,包括目的地址不是本网卡的数据报.这些数据都会发送给cpu处理,这样,wireshark就能 ...

随机推荐

  1. 渲染路径 - Deferred Texturing

    目录 Deferred Texturing 为什么需要 Deferred Texturing? 光栅化的 Helper Lane 开销 Draw Call 更容易合批 利用 V-Buffer 可以做更 ...

  2. AutoreleasePool 的总结

    1.创建和释放时机问题 App启动后,苹果在主线程 RunLoop 里注册了两个 Observer,其回调都是 _wrapRunLoopWithAutoreleasePoolHandler(). 第一 ...

  3. Asp-Net-Core学习笔记:单元测试和集成测试

    前言 我在使用 AspNetCore 的这段时间内,看了很多开源项目和博客,发现各种 .Net 体系的新技术很多人都有关注和使用,但却很少有人关注测试. 测试是软件生命周期中的一个非常重要的阶段,对于 ...

  4. springboot下使用rabbitMQ之开发配置方式(一)

    springboot下使用rabbitMQ之开发配置方式(一) 距离上次发布博客已经小一年了,这次...嗯,没错,我又回来啦... 本次结合着B站某MQ视频以及最近在MQ上的实践聊一聊个人在使用rab ...

  5. 正确处理 CSV 文件的引号和逗号

    CSV(Comma-Separated Values,逗号分割值),就是用纯文本的形式存储表格数据,最大的特点就是方便. 作为开发,我们经常面临导数据的问题,特别是后台系统,产品或者运营的同事常常会提 ...

  6. RAT蓝队自动化测试框架

    RAT蓝队自动化测试框架 介绍 RAT 是根据 MITRE ATT&CK 战术矩阵测试蓝队检测能力的脚本框架,由 python2.7 编写,共有 50 多种不同 ATT&CK 技术点和 ...

  7. 一些不错的VSCode设置和插件

    设置 同步设置 我们做的各项设置,不希望再到其他机器的时候还得再重新配置一次.VSCode中我们可以登陆微软账号或者GitHub账号,登陆后我们可以开启同步设置.开启设置同步,根据提示登陆即可. 允许 ...

  8. Flutter系列文章-实战项目

    在本篇文章中,我们将通过一个实际的 Flutter 应用来综合运用最近学到的知识,包括保存到数据库.进行 HTTP 请求等.我们将开发一个简单的天气应用,可以根据用户输入的城市名获取该城市的天气信息, ...

  9. Hugging News #0814: Llama 2 学习资源大汇总 🦙

    每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新.社区活动.学习资源和内容更新.开源库和模型更新等,我们将其称之为「Hugging Ne ...

  10. module.exports和exports,应该用哪个

    在 Node.js 编程中,模块是独立的功能单元,可以在项目间共享和重用.作为开发人员,模块让我们的生活更轻松,因为我们可以使用模块来增强应用程序的功能,而无需亲自编写.它们还允许我们组织和解耦代码, ...