首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用原始ip封装生成tcpdump

使用原始ip封装生成tcpdump
EN

Stack Overflow用户
提问于 2012-06-24 05:55:45
回答 1查看 1.4K关注 0票数 0

我正在从事Eddie Kohler为我的研究创建的Click快速原型路由器api。我在使用原始IP ENCAP生成tcpdump文件时遇到困难。我知道我的链接类型不允许捕获原始IP链接类型,因为在输入tcpdump -i (接口) -L时列出的唯一链接类型是EN10MB。

这并没有打动我的心。是否有方法在tcpdump或tshark中捕获原始IP数据包(转储数据包应从IP报头开始并跳过链路级别报头)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-24 09:28:36

tcpdump和tshark都不能任意选择设备的链路层报头类型,因为设备和libpcap/WinPcap都不允许选择任意的链路层报头类型(正如tcpdump -i {interface} -L通知您的那样)。

大多数网络接口不支持"raw IP“作为链路层报头类型;我不确定哪些接口支持。如果您希望捕获文件中包含带有该封装的数据包,最简单的方法可能是编写一个程序从接口捕获,丢弃所有非IP数据包,并剥离IP数据包的链路层报头并将其写出。例如,如果在DLT_值为DLT_EN10MB (以太网)的设备上进行捕获,则只需丢弃以太网类型值不是0x0800或0x86DD的所有数据包,并剥离具有这些以太网类型值的数据包的前14个字节,然后将生成的数据包写入DLT_值为DLT_RAW的pcap文件中。

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

https://stackoverflow.com/questions/11173292

复制
相关文章

相似问题

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