class PacketFu::IPv6Packet
IPv6Packet
is used to construct IPv6 Packets. They contain an EthHeader
and an IPv6Header
, and in the distant, unknowable future, will take interesting IPv6ish payloads.
This mostly complete, but not very useful. It’s intended primarily as an example protocol.
Parameters¶ ↑
:eth A pre-generated EthHeader object. :ip A pre-generated IPHeader object. :flavor TODO: Sets the "flavor" of the IPv6 packet. No idea what this will look like, haven't done much IPv6 fingerprinting. :config A hash of return address details, often the output of Utils.whoami?
Attributes
Public Class Methods
Source
# File lib/packetfu/protos/ipv6.rb, line 29 def self.can_parse?(str) return false unless EthPacket.can_parse? str return false unless str.size >= 54 return false unless str[12,2] == "\x86\xdd" true end
Source
# File lib/packetfu/protos/ipv6.rb, line 36 def initialize(args={}) @eth_header = (args[:eth] || EthHeader.new) @ipv6_header = (args[:ipv6] || IPv6Header.new) @eth_header.eth_proto = 0x86dd @eth_header.body=@ipv6_header @headers = [@eth_header, @ipv6_header] super end
Calls superclass method
PacketFu::Packet::new
Public Instance Methods
Source
# File lib/packetfu/protos/ipv6.rb, line 46 def peek(args={}) peek_data = ["6 "] peek_data << "%-5d" % self.to_s.size peek_data << "%-31s" % self.ipv6_saddr peek_data << "-> " peek_data << "%-31s" % self.ipv6_daddr peek_data << " N:" peek_data << self.ipv6_next.to_s(16) peek_data.join end
Peek provides summary data on packet contents.