Class: PacketFu::EthPacket
- Includes:
- EthHeaderMixin
- Defined in:
- lib/packetfu/protos/eth.rb
Overview
Instance Attribute Summary collapse
-
#eth_header ⇒ Object
Returns the value of attribute eth_header.
Attributes inherited from Packet
#flavor, #headers, #iface, #inspect_style
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(args = {}) ⇒ EthPacket
constructor
A new instance of EthPacket.
-
#recalc(args = {}) ⇒ Object
Does nothing, really, since there’s no length or checksum to calculate for a straight Ethernet packet.
Methods included from EthHeaderMixin
#eth_daddr, #eth_daddr=, #eth_dst, #eth_dst=, #eth_dst_readable, #eth_proto, #eth_proto=, #eth_proto_readable, #eth_saddr, #eth_saddr=, #eth_src, #eth_src=, #eth_src_readable
Methods inherited from Packet
#==, #clone, #dissect, #dissection_table, force_binary, #handle_is_identity, #hexify, inherited, #inspect, #inspect_hex, #kind_of?, #layer, layer, #layer_symbol, layer_symbol, #method_missing, #orig_kind_of?, parse, #payload, #payload=, #peek, #peek_format, #proto, #read, #respond_to?, #size, #to_f, #to_pcap, #to_s, #to_w, #write
Constructor Details
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class PacketFu::Packet
Instance Attribute Details
#eth_header ⇒ Object
Returns the value of attribute eth_header.
21 22 23 |
# File 'lib/packetfu/protos/eth.rb', line 21 def eth_header @eth_header end |
Class Method Details
.can_parse?(str) ⇒ Boolean
23 24 25 26 27 28 29 30 |
# File 'lib/packetfu/protos/eth.rb', line 23 def self.can_parse?(str) # XXX Temporary fix. Need to extend the EthHeader class to handle more. valid_eth_types = [0x0800, 0x0806, 0x86dd, 0x88cc] return false unless str.size >= 14 type = str[12,2].unpack("n").first rescue nil return false unless valid_eth_types.include? type true end |
Instance Method Details
#recalc(args = {}) ⇒ Object
Does nothing, really, since there’s no length or checksum to calculate for a straight Ethernet packet.
34 35 36 |
# File 'lib/packetfu/protos/eth.rb', line 34 def recalc(args={}) @headers[0].inspect end |