【发布时间】:2013-09-02 13:38:32
【问题描述】:
我有一个基于 udf 的 802.11 (wifi) 上各种类型流量的 pcap。由于 MTU,udp(或更准确地说是 IP)对 wifi 数据包进行分段。我目前正在使用 SharpPcap 读取并尝试访问 wifi 流量,并且遇到了必须手动重新组装 udp 数据包的问题。
我看到两个选项,我想检查它们是否可行、最佳解决方案或是否有我忽略的东西。最终,我将访问通过 UDP 流式传输给我的实时提要(相同格式,通过 UDP 的 wifi),但出于测试目的,我必须使用 pcaps。
我可以手动加载 pcap 文件,通过片段偏移量和数据包 ID 重新组合它,让状态机跟踪所有数据包。或者我可以尝试避免重新组装,(我认为套接字应该为我完成)加载 pcap 文件,输出到本地主机上的原始套接字,并监听本地主机上的 UDP 套接字。在真正有必要之前,我会避免第一个(是吗?),第二个似乎应该有效,但没有。我已经完成了所有设置,但数据包仍然以字节数组的形式一一发送和接收 - 并且是碎片化的。
这可能是因为 IP 层仍然包含原始捕获的 IP 目标地址和端口(这是不同的)?我尝试在发送之前更改这些,虽然我没有更改校验和,但它仍然是碎片化的。
【问题讨论】:
标签: c# ip packets fragmentation sharppcap