【发布时间】:2012-06-29 09:14:26
【问题描述】:
我正在尝试使用 SharpPcap 在 c# 中编写一个 tcp 重建程序。到目前为止,我做得很好,重建工作正常。我唯一的问题是,为了自己重建大的 Pcap 文件,我需要将它们按部分/块加载到内存中,因为 sharppcap 只让我加载整个文件(我认为)。有什么建议?
谢谢
【问题讨论】:
我正在尝试使用 SharpPcap 在 c# 中编写一个 tcp 重建程序。到目前为止,我做得很好,重建工作正常。我唯一的问题是,为了自己重建大的 Pcap 文件,我需要将它们按部分/块加载到内存中,因为 sharppcap 只让我加载整个文件(我认为)。有什么建议?
谢谢
【问题讨论】:
pcap文件格式真的很简单,看这里:http://wiki.wireshark.org/FileFormatReference/libpcap
为什么不自己加载文件,可能一次加载一个数据包,然后你可以随心所欲地做你想做的事情,而不是让一个库来决定你的内存使用模式?
【讨论】:
鉴于 SharpPcap PcapDevices 有一个 GetNextPacket 方法,LibPcapLiveDevice 和 CaptureFileReaderDevice 都从该方法继承该方法,我看不到任何需要您加载整个文件的内容 - 您可能有读取整个文件,但您可以忽略不想要的数据包。
【讨论】: