Module: PacketGen
- Defined in:
- lib/packetgen.rb,
lib/packetgen/types.rb,
lib/packetgen/config.rb,
lib/packetgen/header.rb,
lib/packetgen/packet.rb,
lib/packetgen/pcapng.rb,
lib/packetgen/capture.rb,
lib/packetgen/inspect.rb,
lib/packetgen/version.rb,
lib/packetgen/header/ip.rb,
lib/packetgen/types/int.rb,
lib/packetgen/types/oui.rb,
lib/packetgen/types/tlv.rb,
lib/packetgen/header/arp.rb,
lib/packetgen/header/dns.rb,
lib/packetgen/header/dns.rb,
lib/packetgen/header/esp.rb,
lib/packetgen/header/eth.rb,
lib/packetgen/header/llc.rb,
lib/packetgen/header/tcp.rb,
lib/packetgen/header/tcp.rb,
lib/packetgen/header/udp.rb,
lib/packetgen/pcapng/epb.rb,
lib/packetgen/pcapng/idb.rb,
lib/packetgen/pcapng/shb.rb,
lib/packetgen/pcapng/spb.rb,
lib/packetgen/header/base.rb,
lib/packetgen/header/icmp.rb,
lib/packetgen/header/ipv6.rb,
lib/packetgen/pcapng/file.rb,
lib/packetgen/types/array.rb,
lib/packetgen/header/dot11.rb,
lib/packetgen/header/dot1q.rb,
lib/packetgen/header/dot1x.rb,
lib/packetgen/pcapng/block.rb,
lib/packetgen/types/fields.rb,
lib/packetgen/types/string.rb,
lib/packetgen/header/dns/rr.rb,
lib/packetgen/header/icmpv6.rb,
lib/packetgen/header/dns/opt.rb,
lib/packetgen/header/dns/name.rb,
lib/packetgen/types/int_string.rb,
lib/packetgen/header/dns/option.rb,
lib/packetgen/header/dot11/data.rb,
lib/packetgen/header/tcp/option.rb,
lib/packetgen/header/tcp/options.rb,
lib/packetgen/header/dns/question.rb,
lib/packetgen/header/dns/qdsection.rb,
lib/packetgen/header/dns/rrsection.rb,
lib/packetgen/header/dot11/control.rb,
lib/packetgen/header/dot11/element.rb,
lib/packetgen/pcapng/unknown_block.rb,
lib/packetgen/header/dot11/sub_mngt.rb,
lib/packetgen/header/dot11/management.rb
Overview
This file is part of PacketGen See github.com/sdaubert/packetgen for more informations Copyright © 2016 Sylvain Daubert <[email protected]> This program is published under MIT license.
Defined Under Namespace
Modules: Header, Inspect, PcapNG, Types Classes: Capture, Config, Error, FormatError, Packet, ParseError, WireError
Constant Summary collapse
- VERSION =
PacketGen version
"1.4.2"
Class Method Summary collapse
-
.capture(options = {}) {|packet| ... } ⇒ Array<Packet>
Shortcut for Packet.capture.
-
.default_iface ⇒ String
Get default network interface (ie. first non-loopback declared interface).
-
.force_binary(str) ⇒ String
Force binary encoding for
str. -
.gen(protocol, options = {}) ⇒ Packet
Shortcut for Packet.gen.
-
.parse(binary_str, first_header: nil) ⇒ Packet
Shortcut for Packet.parse.
-
.read(filename) ⇒ Array<Packet>
Shortcut for Packet.read.
-
.write(filename, packets) ⇒ void
Shortcut for Packet.write.
Class Method Details
.capture(options = {}) {|packet| ... } ⇒ Array<Packet>
Shortcut for PacketGen::Packet.capture
45 46 47 |
# File 'lib/packetgen.rb', line 45 def self.capture(={}) Packet.capture() { |packet| yield packet if block_given? } end |
.default_iface ⇒ String
Get default network interface (ie. first non-loopback declared interface)
73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/packetgen.rb', line 73 def self.default_iface return @default_iface if @default_iface ipaddr = `ip addr`.split("\n") @default_iface = ipaddr.each_with_index do |line, i| m = line.match(/^\d+: (\w+\d+):/) next if m.nil? next if m[1] == 'lo' break m[1] end end |
.force_binary(str) ⇒ String
Force binary encoding for str
67 68 69 |
# File 'lib/packetgen.rb', line 67 def self.force_binary(str) str.force_encoding Encoding::BINARY end |
.gen(protocol, options = {}) ⇒ Packet
Shortcut for PacketGen::Packet.gen
28 29 30 |
# File 'lib/packetgen.rb', line 28 def self.gen(protocol, ={}) Packet.gen protocol, end |
.parse(binary_str, first_header: nil) ⇒ Packet
Shortcut for PacketGen::Packet.parse
36 37 38 |
# File 'lib/packetgen.rb', line 36 def self.parse(binary_str, first_header: nil) Packet.parse binary_str, first_header: first_header end |
.read(filename) ⇒ Array<Packet>
Shortcut for PacketGen::Packet.read
52 53 54 |
# File 'lib/packetgen.rb', line 52 def self.read(filename) Packet.read filename end |
.write(filename, packets) ⇒ void
This method returns an undefined value.
Shortcut for PacketGen::Packet.write
60 61 62 |
# File 'lib/packetgen.rb', line 60 def self.write(filename, packets) Packet.write filename, packets end |