2
我使用Ruby来处理一些PCAP文件。我需要阅读完整的文件并分析每个pcaket。Ruby PCAP读取完整的捕获文件
require 'pcap'
inFile = Pcap::Capture.open_offline("1.pcap")
inFile.loop(-1) do |pkt|
#Process packet.
end
上面的代码在读完所有数据包后不会退出。根据Ruby pcap文档'负数会永远处理数据包或直到达到EOF'。这里可能是什么问题。
我假设您的示例程序中缺少`do'并不是问题,所以我只是在那里为您编辑它。一旦修正了这个错误,我使用的转储工作得很好。所以我认为问题取决于具体转储。在这种情况下,您可能需要联系libpcap开发人员以确定他们是否可以发现转储文件存在问题,但转储损坏是我的第一次猜测。 – sarnold 2011-02-06 09:18:21