gpt4 book ai didi

ruby - PacketFu 在 Ubuntu 14.04 上的线程内捕获

转载 作者:行者123 更新时间:2023-12-04 18:47:32 25 4
gpt4 key购买 nike

我有这个小代码使用 ruby​​ packetfu 库来捕获数据包:

require 'packetfu'

Thread.new {
cap = ::PacketFu::Capture.new :iface => 'eth2', :promisc => true, :start => true, :filter => 'arp or icmp'
cap.stream.each do |p|
pkt = ::PacketFu::Packet.parse(p)
puts pkt.peek
end
}

sleep 120

此代码在 Debian 7 上完美运行,而在 Ubuntu 14.04 上无法捕获任何数据包,或者没有我预期的那么多。

我真的不明白这是怎么回事。任何人都有关于 Debian 和 Ubuntu ruby​​ 堆栈或 pcap 库或其他任何区别的想法或指针?

在两个系统上我都安装了相同的包:
apt-get install ruby ruby-dev libpcap-dev
gem install pcaprub
gem install packetfu

在 Debian 上我有 ruby​​ 1.9.3p194,而在 Ubuntu 上我有 ruby​​ 1.9.3p484。
在 MacOS 上,它与 Debian 上的 ruby​​ 1.9.3p545 一样好用。

谢谢

最佳答案

经过一番谷歌搜索后,最终成为 ubuntu 14.04 中附带的 libpcap-dev 1.5.3 软件包中的 pcap 错误。

从以前的版本安装 libpcap-dev 1.4.0 解决了这个问题。

我在这里找到了一个引用:http://redmine.named-data.net/issues/1511

关于ruby - PacketFu 在 Ubuntu 14.04 上的线程内捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25053482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com