Module: PacketGen
- Defined in:
- lib/packetgen.rb,
lib/packetgen/pcap.rb,
lib/packetgen/proto.rb,
lib/packetgen/utils.rb,
lib/packetgen/config.rb,
lib/packetgen/header.rb,
lib/packetgen/inject.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/header/arp.rb,
lib/packetgen/header/dns.rb,
lib/packetgen/header/dns.rb,
lib/packetgen/header/eap.rb,
lib/packetgen/header/eth.rb,
lib/packetgen/header/gre.rb,
lib/packetgen/header/llc.rb,
lib/packetgen/header/mld.rb,
lib/packetgen/header/tcp.rb,
lib/packetgen/header/tcp.rb,
lib/packetgen/header/udp.rb,
lib/packetgen/headerable.rb,
lib/packetgen/pcapng/epb.rb,
lib/packetgen/pcapng/idb.rb,
lib/packetgen/pcapng/shb.rb,
lib/packetgen/pcapng/spb.rb,
lib/packetgen/deprecation.rb,
lib/packetgen/header/base.rb,
lib/packetgen/header/dhcp.rb,
lib/packetgen/header/icmp.rb,
lib/packetgen/header/igmp.rb,
lib/packetgen/header/ipv6.rb,
lib/packetgen/header/ipv6.rb,
lib/packetgen/header/mdns.rb,
lib/packetgen/header/sctp.rb,
lib/packetgen/header/sctp.rb,
lib/packetgen/header/snmp.rb,
lib/packetgen/header/tftp.rb,
lib/packetgen/pcapng/file.rb,
lib/packetgen/header/bootp.rb,
lib/packetgen/header/dot11.rb,
lib/packetgen/header/dot1q.rb,
lib/packetgen/header/dot1x.rb,
lib/packetgen/header/mldv2.rb,
lib/packetgen/pcapng/block.rb,
lib/packetgen/header/dhcpv6.rb,
lib/packetgen/header/dns/rr.rb,
lib/packetgen/header/icmpv6.rb,
lib/packetgen/header/igmpv3.rb,
lib/packetgen/header/ospfv2.rb,
lib/packetgen/header/ospfv3.rb,
lib/packetgen/header/dns/opt.rb,
lib/packetgen/header/eap/md5.rb,
lib/packetgen/header/eap/tls.rb,
lib/packetgen/header/ip/addr.rb,
lib/packetgen/unknown_packet.rb,
lib/packetgen/header/dns/name.rb,
lib/packetgen/header/eap/fast.rb,
lib/packetgen/header/eap/ttls.rb,
lib/packetgen/pcaprub_wrapper.rb,
lib/packetgen/header/asn1_base.rb,
lib/packetgen/header/igmpv3/mq.rb,
lib/packetgen/header/igmpv3/mr.rb,
lib/packetgen/header/ip/option.rb,
lib/packetgen/header/ipv6/addr.rb,
lib/packetgen/header/mldv2/mlq.rb,
lib/packetgen/header/mldv2/mlr.rb,
lib/packetgen/header/dns/option.rb,
lib/packetgen/header/dot11/data.rb,
lib/packetgen/header/http/verbs.rb,
lib/packetgen/header/ip/options.rb,
lib/packetgen/header/ospfv2/lsa.rb,
lib/packetgen/header/ospfv3/lsa.rb,
lib/packetgen/header/sctp/chunk.rb,
lib/packetgen/header/sctp/chunk.rb,
lib/packetgen/header/sctp/error.rb,
lib/packetgen/header/tcp/option.rb,
lib/packetgen/utils/arp_spoofer.rb,
lib/packetgen/header/dhcp/option.rb,
lib/packetgen/header/dhcpv6/duid.rb,
lib/packetgen/header/tcp/options.rb,
lib/packetgen/header/dhcp/options.rb,
lib/packetgen/header/dhcpv6/relay.rb,
lib/packetgen/header/dns/question.rb,
lib/packetgen/header/http/headers.rb,
lib/packetgen/header/http/request.rb,
lib/packetgen/header/ospfv2/hello.rb,
lib/packetgen/header/ospfv3/hello.rb,
lib/packetgen/header/dhcpv6/option.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/header/http/response.rb,
lib/packetgen/header/ospfv2/ls_ack.rb,
lib/packetgen/header/ospfv3/ls_ack.rb,
lib/packetgen/header/sctp/padded32.rb,
lib/packetgen/pcapng/unknown_block.rb,
lib/packetgen/header/dhcpv6/options.rb,
lib/packetgen/header/dot11/sub_mngt.rb,
lib/packetgen/header/ipv6/extension.rb,
lib/packetgen/header/sctp/parameter.rb,
lib/packetgen/header/ipv6/hop_by_hop.rb,
lib/packetgen/header/dot11/management.rb,
lib/packetgen/header/ospfv2/ls_update.rb,
lib/packetgen/header/ospfv3/ls_update.rb,
lib/packetgen/header/ospfv2/ls_request.rb,
lib/packetgen/header/ospfv2/lsa_header.rb,
lib/packetgen/header/ospfv3/ls_request.rb,
lib/packetgen/header/ospfv3/lsa_header.rb,
lib/packetgen/header/ospfv3/ipv6_prefix.rb,
lib/packetgen/header/igmpv3/group_record.rb,
lib/packetgen/header/ospfv2/db_description.rb,
lib/packetgen/header/ospfv3/db_description.rb,
lib/packetgen/header/mldv2/mcast_address_record.rb
Overview
This file is part of PacketGen See github.com/lemontree55/packetgen for more informations Copyright © 2016 Sylvain Daubert <[email protected]> Copyright © 2024 LemonTree55 <[email protected]> This program is published under MIT license.
Defined Under Namespace
Modules: Deprecation, Header, Headerable, Inject, Inspect, PCAPRUBWrapper, Pcap, PcapNG, Proto, Utils Classes: BindingError, Capture, Config, Error, FormatError, Packet, ParseError, UnknownPacket, WireError
Constant Summary collapse
- VERSION =
PacketGen version
'4.1.0'
Class Method Summary collapse
-
.capture(**kwargs) {|packet, timestamp| ... } ⇒ Array<Packet>
Shortcut for Packet.capture Same arguments as Capture#initialize.
-
.default_iface ⇒ String
Get default network interface (ie. first non-loopback declared interface).
-
.force_binary(str) ⇒ String
deprecated
Deprecated.
Use String#b instead.
-
.gen(protocol, options = {}) ⇒ Packet
Shortcut for Packet.gen.
-
.header(protocol, options = {}) ⇒ Header::Base
Shortcut to get a header class.
-
.loopback_iface ⇒ String
Get loopback network interface.
-
.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(**kwargs) {|packet, timestamp| ... } ⇒ Array<Packet>
Shortcut for PacketGen::Packet.capture Same arguments as PacketGen::Capture#initialize
77 78 79 |
# File 'lib/packetgen.rb', line 77 def self.capture(**kwargs) Packet.capture(**kwargs) { |packet| yield packet if block_given? } end |
.default_iface ⇒ String
Get default network interface (ie. first non-loopback declared interface)
107 108 109 110 111 112 113 114 115 116 117 118 |
# File 'lib/packetgen.rb', line 107 def self.default_iface return @default_iface if defined? @default_iface Interfacez.raw_interface_addresses.each do |iface| next unless iface.broadaddr next unless Interfacez.ipv4_address_of(iface.name) next unless Interfacez.ipv6_address_of(iface.name) @default_iface = iface.name break end end |
.force_binary(str) ⇒ String
Use String#b instead.
Force binary encoding for str
100 101 102 103 |
# File 'lib/packetgen.rb', line 100 def self.force_binary(str) Deprecation.deprecated(self, :force_binary, 'String#b') str.b end |
.gen(protocol, options = {}) ⇒ Packet
Shortcut for PacketGen::Packet.gen
58 59 60 |
# File 'lib/packetgen.rb', line 58 def self.gen(protocol, ={}) Packet.gen protocol, end |
.header(protocol, options = {}) ⇒ Header::Base
Shortcut to get a header class
137 138 139 |
# File 'lib/packetgen.rb', line 137 def self.header(protocol, ={}) Header.get_header_class_by_name(protocol).new() end |
.loopback_iface ⇒ String
Get loopback network interface
122 123 124 |
# File 'lib/packetgen.rb', line 122 def self.loopback_iface Interfacez.loopback end |
.parse(binary_str, first_header: nil) ⇒ Packet
Shortcut for PacketGen::Packet.parse
66 67 68 |
# File 'lib/packetgen.rb', line 66 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
84 85 86 |
# File 'lib/packetgen.rb', line 84 def self.read(filename) Packet.read filename end |
.write(filename, packets) ⇒ void
This method returns an undefined value.
Shortcut for PacketGen::Packet.write
92 93 94 |
# File 'lib/packetgen.rb', line 92 def self.write(filename, packets) Packet.write filename, packets end |