1
使用Ruby 1.9和最新的gem install pcap
+修復編譯(轉換->ptr
/->len
到_PTR
/_LEN
),我發現,做一些簡單的代碼之後:爲什麼紅寶石(ver 1.9)pcap寶石,在訪問後掛起?
require 'pcap'
cap = Pcap::Capture.open_offline('1.dmp')
cap.each { |pkt| p pkt.src; }
exit
PCAP寶石不會離開塊cap.each
,即輸出:
...
213.248.106.202
192.168.1.50
213.248.106.202
192.168.1.50
^C
^C
^C
^C
^C
而且過程只能被kill -s KILL <process_id>
殺死。
有什麼方法可以解決這個問題嗎?
P.S. 1.dmp文件使用tcpdump -w 1.dmp
生成。
實際上,each_packet(至少在最新版本中)並不包含數字 - 當創建Pcap對象時,會有一個內部的@count變量被初始化。 – tjarratt 2011-05-30 04:35:30