我正在使用 Ruby 处理一些 PCAP 文件。我需要阅读完整的文件并分析每个 pcaket。
require 'pcap'
inFile = Pcap::Capture.open_offline("1.pcap")
inFile.loop(-1) do |pkt|
#Process packet.
end
以上代码读取完所有数据包后并不退出。根据 Ruby pcap 文档“负计数将永远处理数据包或直到达到 EOF”。这里可能有什么问题。
最佳答案
我经常使用下面的变体来进行临时数据包分析。对我有用。 Ruby 1.9.3-p125,pcaprub 0.11.2。
#!/opt/local/bin/ruby1.9
require 'pcaprub'
fn = ARGV[1] || "pcap-000"
pc = Pcap.open_offline(ARGV[0])
pc.each do |pk|
fn1 = fn.succ!
File.binwrite(fn1, pk)
end
关于Ruby PCAP 读取完整的捕获文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4912478/