我有一个 pcap-ng 文件,我想提取源/目标 IP。
根据winpcap转储文件格式,我要找的数据在增强包块的包数据部分。
我一直在 C# 中使用这个库来解析 pcap-ng 文件。虽然我已经能够成功摆脱增强型数据包块,但我真的不知道如何进入它。
当前的增强型数据包块数据包数据以字节数组的形式出现,使用以下方法。
private static void extractEnhancedPacketBlock()
{
var myFile = "\\path\\to\\my.pcapng"
using (StreamWriter file = new StreamWriter(myFile))
{
foreach (var enhancedPacketBlock in reader.EnhancedPacketBlocks)
{
byte[] packetData = enhancedPacketBlock.Data;
Console.WriteLine(BitConverter.ToString(packetData));
}
}
}
它会输出您所期望的,类似于以下内容:
79-2C-C8-80-A8-65-00-00-BC-C4-2F-65-09-00-42-00-01-5E...etc
一个很好的答案可能是一些不同的事情,比如关于在哪里寻找以了解更多关于我下一步需要做什么的指导。一个已经可以使用的库(我尝试了很多库,但似乎没有一个能深入到这个程度)。或者,如果您已经有一些代码可以做到这一点,那就太棒了。如有必要,我也愿意转向 Python。
附加信息。
我知道我可以从增强数据包块中解析源 IP 和目标 IP,并且我知道它需要十六进制到 IP 的转换,但我不知道增强数据包块中 IP Hex 存在的位置。我知道它不是每次都在同一个地方,但我需要知道如何计算它。