module PacketFu::IPHeaderMixin

This Mixin simplifies access to the IPHeaders. Mix this in with your packet interface, and it will add methods that essentially delegate to the ‘ip_header’ method (assuming that it is a IPHeader object)

Public Instance Methods

ip_calc_id() click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 7
def ip_calc_id; self.ip_header.ip_calc_id ; end
ip_calc_len() click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 8
def ip_calc_len; self.ip_header.ip_calc_len ; end
ip_calc_sum() click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 9
def ip_calc_sum; self.ip_header.ip_calc_sum ; end
ip_calc_sum_on_addr(cksum=0) click to toggle source

Add method to each packet class on IP to ease checksum computation

# File lib/packetfu/protos/ip/mixin.rb, line 44
def ip_calc_sum_on_addr(cksum=0)
  checksum = cksum
  checksum += (ip_src.to_i >> 16)
  checksum += (ip_src.to_i & 0xffff)
  checksum += (ip_dst.to_i >> 16)
  checksum += (ip_dst.to_i & 0xffff)
end
ip_daddr() click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 10
def ip_daddr; self.ip_header.ip_daddr ; end
ip_daddr=(v) click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 11
def ip_daddr=(v); self.ip_header.ip_daddr= v; end
ip_dst() click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 12
def ip_dst; self.ip_header.ip_dst ; end
ip_dst=(v) click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 13
def ip_dst=(v); self.ip_header.ip_dst= v; end
ip_dst_readable() click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 14
def ip_dst_readable; self.ip_header.ip_dst_readable ; end
ip_frag() click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 15
def ip_frag; self.ip_header.ip_frag ; end
ip_frag=(v) click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 16
def ip_frag=(v); self.ip_header.ip_frag= v; end
ip_hl() click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 17
def ip_hl; self.ip_header.ip_hl ; end
ip_hl=(v) click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 18
def ip_hl=(v); self.ip_header.ip_hl= v; end
ip_hlen() click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 19
def ip_hlen; self.ip_header.ip_hlen ; end
ip_id() click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 20
def ip_id; self.ip_header.ip_id ; end
ip_id=(v) click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 21
def ip_id=(v); self.ip_header.ip_id= v; end
ip_id_readable() click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 22
def ip_id_readable; self.ip_header.ip_id_readable ; end
ip_len() click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 23
def ip_len; self.ip_header.ip_len ; end
ip_len=(v) click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 24
def ip_len=(v); self.ip_header.ip_len= v; end
ip_proto() click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 25
def ip_proto; self.ip_header.ip_proto ; end
ip_proto=(v) click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 26
def ip_proto=(v); self.ip_header.ip_proto= v; end
ip_recalc(*args) click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 27
def ip_recalc(*args); self.ip_header.ip_recalc(*args) ; end
ip_saddr() click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 28
def ip_saddr; self.ip_header.ip_saddr ; end
ip_saddr=(v) click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 29
def ip_saddr=(v); self.ip_header.ip_saddr= v; end
ip_src() click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 30
def ip_src; self.ip_header.ip_src ; end
ip_src=(v) click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 31
def ip_src=(v); self.ip_header.ip_src= v; end
ip_src_readable() click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 32
def ip_src_readable; self.ip_header.ip_src_readable ; end
ip_sum() click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 33
def ip_sum; self.ip_header.ip_sum ; end
ip_sum=(v) click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 34
def ip_sum=(v); self.ip_header.ip_sum= v; end
ip_sum_readable() click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 35
def ip_sum_readable; self.ip_header.ip_sum_readable ; end
ip_tos() click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 36
def ip_tos; self.ip_header.ip_tos ; end
ip_tos=(v) click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 37
def ip_tos=(v); self.ip_header.ip_tos= v; end
ip_ttl() click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 38
def ip_ttl; self.ip_header.ip_ttl ; end
ip_ttl=(v) click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 39
def ip_ttl=(v); self.ip_header.ip_ttl= v; end
ip_v() click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 40
def ip_v; self.ip_header.ip_v ; end
ip_v=(v) click to toggle source
# File lib/packetfu/protos/ip/mixin.rb, line 41
def ip_v=(v); self.ip_header.ip_v= v; end