Ruby PCAP 读取完整的捕获文件

标签 ruby pcap

我正在使用 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/

相关文章:

ruby - 如何在单个 Webrick 响应中设置多个 cookie?

javascript - 在 Rails 应用程序中将 Web 应用程序单独作为 'V' ?

ruby - 在 Ruby 中标记字符串的更好方法?

c - 如何验证tcp校验和

time - 使用Lua脚本读取PCAP文件

c++ - 使用 <pcap.h> 手动生成数据包

ruby - 动态类型、鸭子类型和参数多态性之间有什么区别?

mysql - Ruby 使用日期作为 MySQL 哈希中的键

c - pcap_set_buffer_size() 中的问题

c - 读取保存文件时,链接类型 1 不支持入站/出站