Module: DIY::Utils
- Defined in:
- lib/diy/utils.rb
Class Method Summary collapse
- .dst_mac(pkt) ⇒ Object
-
.pp(pkt) ⇒ Object
漂亮输出包的前十个内容.
- .src_mac(pkt) ⇒ Object
- .wait_until(timeout = 20, &block) ⇒ Object
Class Method Details
.dst_mac(pkt) ⇒ Object
24 25 26 27 |
# File 'lib/diy/utils.rb', line 24 def dst_mac(pkt) pkt = pkt.content if pkt.kind_of?(DIY::Packet) pkt[0..5] end |
.pp(pkt) ⇒ Object
漂亮输出包的前十个内容
5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/diy/utils.rb', line 5 def pp(pkt) pkt = pkt.content if pkt.kind_of?(DIY::Packet) return nil if pkt.nil? #~ ( pkt[0..10] + "..." ).dump + "(#{pkt.size} sizes)" size = pkt.size begin new_pkt = pkt.dup Mu::Pcap::Ethernet.from_bytes(new_pkt).to_s + "(#{size} sizes)" rescue Mu::Pcap::ParseError =>e DIY::Logger.warn "parse error from pkt: " + ( pkt[0..10] + "..." ).dump + "(#{pkt.size} sizes)" return ( pkt[0..10] + "..." ).dump + "(#{pkt.size} sizes)" end end |
.src_mac(pkt) ⇒ Object
19 20 21 22 |
# File 'lib/diy/utils.rb', line 19 def src_mac(pkt) pkt = pkt.content if pkt.kind_of?(DIY::Packet) pkt[6..11] end |
.wait_until(timeout = 20, &block) ⇒ Object
29 30 31 32 33 34 35 36 |
# File 'lib/diy/utils.rb', line 29 def wait_until( timeout = 20, &block ) timeout(timeout) do loop do break if block.call sleep 0.01 end end end |