class PacketFu::EthPacket
EthPacket
is used to construct Ethernet packets. They contain an Ethernet header, and that’s about it.
Example¶ ↑
require 'packetfu' eth_pkt = PacketFu::EthPacket.new eth_pkt.eth_saddr="00:1c:23:44:55:66" eth_pkt.eth_daddr="00:1c:24:aa:bb:cc" eth_pkt.to_w('eth0') # Inject on the wire. (require root)
Attributes
Public Class Methods
Source
# File lib/packetfu/protos/eth.rb, line 22 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
Source
# File lib/packetfu/protos/eth.rb, line 37 def initialize(args={}) @eth_header = EthHeader.new(args).read(args[:eth]) @headers = [@eth_header] super end
Calls superclass method
PacketFu::Packet::new
Public Instance Methods
Source
# File lib/packetfu/protos/eth.rb, line 33 def recalc(args={}) @headers[0].inspect end
Does nothing, really, since there’s no length or checksum to calculate for a straight Ethernet packet.