2

我正在使用 Ruby 处理一些 PCAP 文件。我需要阅读完整的文件并分析每个 pcaket。

require 'pcap'

inFile = Pcap::Capture.open_offline("1.pcap")

inFile.loop(-1) do |pkt|
#Process packet.
end

上面的代码在读取所有数据包后不会退出。根据 Ruby pcap 文档“负计数永远处理数据包或直到达到 EOF”。这里可能是什么问题。

4

1 回答 1

3

我大量使用以下变体进行临时数据包分析。为我工作。红宝石 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
于 2012-02-22T20:08:48.713 回答