【发布时间】:2018-05-19 15:33:55
【问题描述】:
我有一个(生产)WireShark 捕获文件,我需要通过我的(调试)网络“重播”。我可以读取和解释数据包,但在发送数据包之前我需要调整一些细节,例如源 IP 地址和端口。
然而,问题在于 PcapDotNet.Packets.Packet 中的所有数据都是只读的。它只有二传手。 因此,例如设置 Ethernet.IpV4.Source 将不起作用。
IpV4Address.TryParse("192.168.1.10", out var newAddress); // for demo sake.
packet.Ethernet.IpV4.Source = newAddress; // Won't work
是否有一种简单的方法可以避免从头开始构建新数据包,或者这是创建略有不同的数据包的唯一方法?
【问题讨论】:
-
也许你可以通过反射来做到,但这取决于它是如何存储的。