Method: Rex::Socket.addr_ntoi

Defined in:
lib/rex/socket.rb

.addr_ntoi(addr) ⇒ Object

Converts a network byte order address to an integer

Raises:



390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
# File 'lib/rex/socket.rb', line 390

def self.addr_ntoi(addr)

  bits = addr.unpack("N*")

  if (bits.length == 1)
    return bits[0]
  end

  if (bits.length == 4)
    val = 0
    bits.each_index { |i| val += (  bits[i] << (96 - (i * 32)) ) }
    return val
  end

  raise RuntimeError, "Invalid address format"
end