tcpip-tcp包时间戳usec与sec之间怎么配合

问题描述

tcp包时间戳usec与sec之间怎么配合

我写自己的pcap文件,第一个tcp包时间戳sec和usec都是0,之后usec递增1,可是
写出来的pcap文件里,包的时间是这样的:

usec是32bit的,它的哪一位对应时间的哪一位呀?怎样可以让tcp包的时间逐渐增加呢?

解决方案

  1. 首先,pcap文件有个24字节的文件头。
  2. 每个pcap包,可以认为有4个无符号整型(4字节),共16字节。
  3. 分别是 sec,usec,caplen,pktlen
  4. 这四个字节都是小端写入pcap文件的,什么意思呢?
  5. 比如 文件中读出来是:0x 0102 0304,则实际上是 0x 0403 0201
  6. 所以,如果你想递增写包,则每个包的sec 和 usec 应该这样写:
    0x 0000 0000 0100 0000
    0x 0000 0000 0200 0000
    ......
    下面截图是我手动修改一个pcap时间之后,得到的:
时间: 2025-01-11 12:16:42

tcpip-tcp包时间戳usec与sec之间怎么配合的相关文章

tcpip-写一个包含十个tcp包的pcap文件,出现多余的malformed packet:ethernet

问题描述 写一个包含十个tcp包的pcap文件,出现多余的malformed packet:ethernet pcap文件头没有写错的:然后就是一个接一个的packet,每个packet我是这样写的:timestamp+以太网报头+IP报头+TCP报头+22个空字节(这22个空字节也是我试了很多次才试出来的,写多或者写少时,wireshark都会报错,并且只会显示一个包,而不是10个),具体些每个packet的代码如下: for (int i = 0; i < 10; i++){ myPacke

tcp-为什么我编的抓包程序抓的TCP包源地址都是本机地址啊,下面是源码,新手求大神指点!!

问题描述 为什么我编的抓包程序抓的TCP包源地址都是本机地址啊,下面是源码,新手求大神指点!! #include #include #include using namespace std; #define SIO_RCVALL _WSAIOW(IOC_VENDOR, 1) #define MAXLEN 65535 //定义IP报头 typedef struct _iph { unsigned char ver_len; unsigned char ser; unsigned short dat

winpcap+libnids解析tcp包求助

问题描述 我用winpcap+libnids解析tcp包.现在用wpcap捕获帧没有问题.但是换作libnids后,编译运行都没有错误,就是抓不到tcp的包,这可能是什么原因呢?(我用的是libnids1.19中的例子程序).............voidsniff_callback(structtcp_stream*a_tcp,void**this_time_not_needed){.............}intmain(){pcap_if_t*alldevs;pcap_if_t*d;i

tcpdump抓的tcp包超过了mtu并且和ack帧序列号不同步的原因

最近在用tcpdump对tcp的相关参数进行学习和分析,linux下的抓包结果起初让我感到奇怪,我手边的ubuntu和debian都出现了相同的现象. 具体的就是抓到的发送方的tcp的数据段的长度经常性地发生变化,并且接收方回复的接收帧的序列号和发送方不同步,例如发送方发送了序列号为25:7265,接收方回复的ack里却有序列号是2921的.并且ack后确认的序列号是按照等差的规律递增. 找了一段时候,还是在stackoverflowhttp://stackoverflow.com/a/2351

JS获取时间的相关函数及时间戳与时间日期之间的转换_javascript技巧

时间戳和时间日期的转换是常见的操作,下面就通过代码实例介绍一下如何实现它们之间的相互转换. 在没学习本文之前先给大家介绍下javascript中Date()构造函数参数: 关于Date对象大家想必一定不陌生,使用Date()构造函数创建一个时间对象是最基本的操作了,例如: var theDate=new Date(); theDate.getDate(); 使用以上代码可以获取当前日期的天. 上面是对于Date()构造函数最简单的应用了,Date对象具有多种构造函数,下面简单列举如下: new

java tcp 包扔出去以后,服务器收到了包体前被加了21个字节是为什么?

问题描述 客户端 通过 socket 长连接发送消息给服务器后,服务器收到的包体前面有21个字节,不是我包体的一部份,是不是java底层做了什么?当然,这个问题并不妨碍我正常开发,就是想知道这个是为什么?如有哪位朋友知道此解,请不吝指教,谢谢! 问题补充:andilyliao 写道 解决方案 这21个字节使用sniffer抓到的吗??如果是看看是不是报头呀 java本身不可能给你添加这21个字节的 而且java也没有办法解析tcp报头.

如何使 TCP包和 UDP包穿透网络防火墙

通过Http Tunnel(Http 隧道)技术同时逃过防火墙屏蔽以及系统追踪的试验,我们可以看到网络安全仅仅依靠某种或某几种手段是不可靠的,同时对安全系统的盲目性依赖往往会造成巨大的安全隐患.希望通过本文能引起管理员对网络安全防护系统的思考. 什么是Http暗藏通道 什么是局域网安全,系统管理员怎样才能保障局域网的安全?这是一个不断变化的安全概念,很长的一个时期以来,在局域网与外界互联处放置一个防火墙,严格控制开放的端口,就能在很大程度上掌握安全的主动权,方便的控制网内外用户所能使用的服务.比

如何使tcp包和udp包穿透网络防火墙

通过本文的httptunnel 技术同时逃过了防火墙的屏蔽以及系统的追踪试验,我们可以看到网络安全仅仅依靠某种或某几种手段是不可靠的,同时对安全系统的盲目性依赖往往会造成巨大的安全隐患.希望通过本文能引起管理员对网络安全防护系统的思考. 什么是http暗藏通道 什么是局域网安全,系统管理员怎样才能保障局域网的安全?这是一个不断变化的安全概念,很长的一个时期以来,在局域网与外界互联处放置一个防火墙,严格控制开放的端口,就能在很大程度上掌握安全的主动权,方便的控制网内外用户所能使用的服务.比如,在防

如何使tcp包和udp包穿透防火墙

通过本文的httptunnel 技术同时逃过了防火墙的屏蔽以及系统的追踪试验,我们可以看到网络安全仅仅依靠某种或某几种手段是不可靠的,同时对安全系统的盲目性依赖往往会造成巨大的安全隐患.希望通过本文能引起管理员对网络安全防护系统的思考. 什么是http暗藏通道 什么是局域网安全,系统管理员怎样才能保障局域网的安全?这是一个不断变化的安全概念,很长的一个时期以来,在局域网与外界互联处放置一个防火墙,严格控制开放的端口,就能在很大程度上掌握安全的主动权,方便的控制网内外用户所能使用的服务.比如,在防