[107187] in North American Network Operators' Group

home help back first fref pref prev next nref lref last post

Re: interger to I P address

daemon@ATHENA.MIT.EDU (Aaron Gifford)
Wed Aug 27 18:05:45 2008

Date: Wed, 27 Aug 2008 16:05:32 -0600
From: "Aaron Gifford" <astounding@gmail.com>
To: nanog@nanog.org
In-Reply-To: <a7d0162f0808270411m66a3e1b7v9a7ae997ab547bee@mail.gmail.com>
Errors-To: nanog-bounces@nanog.org

Ruby's IPAddr class is quite handy for IPv4 and IPv6 integer
representation conversions.

For IP to integer, whether IPv4 or IPv6, ruby code:

  require 'ipaddr'
  print "#{IPAddr.new('10.0.0.55').to_i}\n"
  print "#{IPAddr.new('2001:0db8:85a3:08d3:1319:8a2e:0370:7334').to_i}\n"

Results in:
  167772215
  42540766452641195744311209248773141300

And for integer to IPv4, ruby code:

  require "ipaddr"
  print "#{IPAddr.new(167772215,Socket::AF_INET)}\n"

Results in:
  10.0.0.55

And for integer to IPv6, ruby code:

  require 'ipaddr'
  print "#{IPAddr.new(42540766452641195744311209248773141300,
Socket::AF_INET6)}\n"

Results in:
  2001:0db8:85a3:08d3:1319:8a2e:0370:7334

Aaron out.


home help back first fref pref prev next nref lref last post