Pcap.netを使用してネットワークキャプチャ(pcapフォーマット)を操作しようとしています。 私はPCAPファイルを開くとしてダンパーを作成しています:PcapDotNetとDatalinkタイプ
OfflinePacketDevice selectedDevice = new OfflinePacketDevice(pcapInFile);
using (PacketCommunicator PcapReader = selectedDevice.Open(655360, PacketDeviceOpenAttributes.Promiscuous, 1000))
{
PacketDumpFile PcapWriter = PcapReader.OpenDump(pcapOutFile);
PcapReader.ReceivePackets(count, PacketDispatcher);
}
そしてPacketDispatcherはのようになります。
private void PacketDispatcher(Packet packet)
{
// Manipulate the packet
PcapWriter.Dump(packet);
}
すべては限りpcapInFileデータリンクはイーサネットタイプであるとしてokです。しかし、私はイーサネット層(rawip)なしでいくつかのキャプチャを持っていると私は新しいイーサネット層を構築する必要があります。
:私はIEnumerableを内のすべての操作パケットを格納し、それらをダンプする場合はキャップのこの種のデータリンクタイプはpcapInFile(生のIP)と同じであると私はイーサネットにそれを変更したい...
PacketDumpFile.Dump(pcapOutFile, new PcapDataLink(1), Packets.Count(), Packets);
それが正常に動作します...しかし、これはないあなたは、いくつかのマガキのファイルを扱っている場合に非常に便利です...
任意のアイデア? ありがとう!