首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tcprewrite数据包错误

tcprewrite数据包错误
EN

Stack Overflow用户
提问于 2015-02-09 01:29:50
回答 1查看 5.2K关注 0票数 1

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

代码语言:javascript
复制
sudo tcprewrite --infile=xxx.pcap --dlt=enet --outfile=yyy.pcap --enet-dmac=00:00:00:03 --enet-smac=00:00:00:1f 

误差

代码语言:javascript
复制
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,错误上升是因为数据包从一开始就没有被捕获。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-09 07:40:53

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将任何最大数据包长度< 65535视为“不试图捕获整个数据包”,但是警告65534是有点愚蠢的。

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

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

所以,不要担心它,但也不要显式地指定65000的快照长度--只有当您只想捕获包的一部分或者有一个默认为68或96个字节的旧tcpdump (或 well )时,显式快照长度才是有用的,在后一种情况下,您最好使用一个值>= 65535。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28401509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档