【问题标题】:tcprewrite - truncated packet errortcprewrite - 截断数据包错误
【发布时间】:2015-02-09 15:40:53
【问题描述】:

我使用 tcprewrite 从 CAIDA 数据集中重写我的原始 pcap 文件(更改 MAC 地址,然后更改 IP)。我遇到了这个问题。 命令用法如下:

sudo tcprewrite --infile=xxx.pcap --dlt=enet --outfile=yyy.pcap --enet-dmac=00:00:00:03 --enet-smac=00:00:00:1f 

错误

pcap was captured using a snaplen of 65000 bytes.  This may mean you have truncated packets.

我试图从网上搜索解决方案,但不幸的是我无法解决它。根据这个线程 http://sourceforge.net/p/tcpreplay/mailman/tcpreplay-users/?viewmonth=201201 由于从一开始就没有捕获数据包导致的错误上升。

有人知道如何解决这个问题吗?

【问题讨论】:

    标签: pcap tcpreplay


    【解决方案1】:

    pcap was captured using a snaplen of 65000 bytes. This may mean you have truncated packets.

    或者它可能没有,事实上,它可能意味着你已经截断了数据包。

    某些系统上的数据包捕获机制要求指定一些最大数据包长度,但它可能足够大,在实践中,没有数据包会大于最大值,因此没有数据包将被截断。

    65535 经常被用作这样的最大值——Wireshark 甚至在它被重命名为 Wireshark 之前就这样做了,并且首先更改了 tcpdump,以便“-s 0”将使用 65535,然后更改为默认值 65535。tcpreplay 正在处理任何最大值packet length

    Tcpdump 和 Wireshark 最近将限制提高到 262144 以处理一些 USB 捕获。

    (选择的限制不要太大 - pcap 和 pcap-ng 文件格式最多允许 2^32-1,但某些软件可能会在读取此类文件时尝试分配一个 2^32-1 字节的缓冲区并失败。)

    所以,不用担心,但也不要显式指定 65000 的快照长度 - 显式快照长度仅在您想要仅捕获数据包的一部分或如果您有一个默认为 68 或 96 字节的旧 tcpdump(或 ANCIENT Ethereal),在后一种情况下,您最好使用 >= 65535 的值.

    【讨论】:

      猜你喜欢
      • 2020-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-03
      • 2011-02-16
      • 2019-03-23
      • 2016-02-21
      • 2020-07-26
      相关资源
      最近更新 更多