Sha256: 01e16320f76048b795c37bc296b3f15112eb93c9b1b724d20dd6e2dfe967836f
Contents?: true
Size: 1.02 KB
Versions: 4
Compression:
Stored size: 1.02 KB
Contents
# encoding : utf-8 require 'diy/ext/capture_wrapper' module DIY class Live def initialize(device_name) DIY::Logger.info( "Initialize Live: #{device_name}" ) @live = FFI::PCap::Live.new(:dev=>device_name, :handler => FFI::PCap::CopyHandler, :promisc => true) DIY::Logger.info( "Listen on: #{net} " ) @running = false #~ @live.non_blocking= true end attr_reader :live # 发包 def inject(packet_str) @live.send_packet(packet_str) end alias send_packet inject def loop(&block) @running = true while @running do @live.dispatch do |this, pkt| next unless pkt block.call(this, pkt) end sleep 0.1 end DIY::Logger.debug "stopped loop recv..." end def break DIY::Logger.debug "stopping loop recv..." @running = false end def net @live.network + " / " + @live.netmask end end # end of class Live end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
DIY-pcap-0.3.2 | lib/diy/live.rb |
DIY-pcap-0.3.1 | lib/diy/live.rb |
DIY-pcap-0.3.0 | lib/diy/live.rb |
DIY-pcap-0.2.8 | lib/diy/live.rb |