【问题标题】:Generate tcpdump with raw ip encap使用原始 ip encap 生成 tcpdump
【发布时间】:2013-04-14 05:22:36
【问题描述】:

我正在研究由 Eddie Kohler 创建的 Click 快速原型路由器 api,用于我的研究。 我很难使用 RAW IP ENCAP 生成 tcpdump 文件。我知道我的链接类型不允许在 RAW IP 链接类型中捕获,因为键入 tcpdump -i (interface) -L 时唯一的链接类型列表是 EN10MB,仅此而已。

这并没有引起我的注意。有没有办法在 tcpdump 或 tshark 中捕获原始 IP 数据包(转储数据包应从 IP 标头开始并跳过链接级别标头)?

【问题讨论】:

    标签: tcpdump


    【解决方案1】:

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

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

    【讨论】:

    • 当然。谢谢哈里斯。我正在考虑这样做。我很想不费吹灰之力就得到一个原始IP。
    猜你喜欢
    • 2015-09-28
    • 1970-01-01
    • 1970-01-01
    • 2014-03-30
    • 2018-05-07
    • 2021-06-05
    • 1970-01-01
    • 2019-01-15
    • 1970-01-01
    相关资源
    最近更新 更多