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
Source
# File lib/packetfu/protos/ip/mixin.rb, line 7 def ip_calc_id; self.ip_header.ip_calc_id ; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 8 def ip_calc_len; self.ip_header.ip_calc_len ; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 9 def ip_calc_sum; self.ip_header.ip_calc_sum ; end
Source
# 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
Add method to each packet class on IP to ease checksum computation
Source
# File lib/packetfu/protos/ip/mixin.rb, line 10 def ip_daddr; self.ip_header.ip_daddr ; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 11 def ip_daddr=(v); self.ip_header.ip_daddr= v; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 12 def ip_dst; self.ip_header.ip_dst ; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 13 def ip_dst=(v); self.ip_header.ip_dst= v; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 14 def ip_dst_readable; self.ip_header.ip_dst_readable ; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 15 def ip_frag; self.ip_header.ip_frag ; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 16 def ip_frag=(v); self.ip_header.ip_frag= v; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 17 def ip_hl; self.ip_header.ip_hl ; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 18 def ip_hl=(v); self.ip_header.ip_hl= v; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 19 def ip_hlen; self.ip_header.ip_hlen ; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 20 def ip_id; self.ip_header.ip_id ; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 21 def ip_id=(v); self.ip_header.ip_id= v; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 22 def ip_id_readable; self.ip_header.ip_id_readable ; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 23 def ip_len; self.ip_header.ip_len ; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 24 def ip_len=(v); self.ip_header.ip_len= v; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 25 def ip_proto; self.ip_header.ip_proto ; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 26 def ip_proto=(v); self.ip_header.ip_proto= v; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 27 def ip_recalc(*args); self.ip_header.ip_recalc(*args) ; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 28 def ip_saddr; self.ip_header.ip_saddr ; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 29 def ip_saddr=(v); self.ip_header.ip_saddr= v; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 30 def ip_src; self.ip_header.ip_src ; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 31 def ip_src=(v); self.ip_header.ip_src= v; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 32 def ip_src_readable; self.ip_header.ip_src_readable ; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 33 def ip_sum; self.ip_header.ip_sum ; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 34 def ip_sum=(v); self.ip_header.ip_sum= v; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 35 def ip_sum_readable; self.ip_header.ip_sum_readable ; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 36 def ip_tos; self.ip_header.ip_tos ; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 37 def ip_tos=(v); self.ip_header.ip_tos= v; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 38 def ip_ttl; self.ip_header.ip_ttl ; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 39 def ip_ttl=(v); self.ip_header.ip_ttl= v; end
Source
# File lib/packetfu/protos/ip/mixin.rb, line 41 def ip_v=(v); self.ip_header.ip_v= v; end