Convert IP address to long

Hi,

I want to compare two IP addresses so I want to convert them to long integers. Can anyone tell me how it can be done? I need to convert IP address to long and after I have to convert them back to IP address.

Thanks in advance.

Ashwin Kumar Sharma wrote:

Hi,

I want to compare two IP addresses so I want to convert them to long integers. Can anyone tell me how it can be done? I need to convert IP address to long and after I have to convert them back to IP address.

Thanks in advance.

http://gtools.org/tool/ip-long-convert/

The above site might help u convert a static IP to long. But I don't have an answer for a ruby code which converts an IP address into its long form.

Ashwin Kumar Sharma wrote:

Hi,

I want to compare two IP addresses so I want to convert them to long integers. Can anyone tell me how it can be done? I need to convert IP address to long and after I have to convert them back to IP address.

IP address are 4 bytes represented in a dotted decimal format.

Example: # 22.125.33.145 145 + (33 * 2**8) + (125 * 2**16) + (22 * 2**24) => 377299345

Robert Walker wrote:

Ashwin Kumar Sharma wrote:

Hi,

I want to compare two IP addresses so I want to convert them to long integers. Can anyone tell me how it can be done? I need to convert IP address to long and after I have to convert them back to IP address.

IP address are 4 bytes represented in a dotted decimal format.

Example: # 22.125.33.145 145 + (33 * 2**8) + (125 * 2**16) + (22 * 2**24) => 377299345

Thanks a lot Robert.

Ashwin Kumar Sharma wrote:

Robert Walker wrote:

Ashwin Kumar Sharma wrote:

Hi,

I want to compare two IP addresses so I want to convert them to long integers. Can anyone tell me how it can be done? I need to convert IP address to long and after I have to convert them back to IP address.

IP address are 4 bytes represented in a dotted decimal format.

Example: # 22.125.33.145 145 + (33 * 2**8) + (125 * 2**16) + (22 * 2**24) => 377299345

Hi,

I could convert the IP address to long format using the above logic, can any one tell how can I convert the long format back to IP address. I did search for the API I didn't get any. Is there any API which does it in Rails or any logic to which can do it like above(Equivalent APIs for long2ip and ip2long PHP built in Rails).

Thanks in advance.

Hi,

I want to compare two IP addresses so I want to convert them to long integers. Can anyone tell me how it can be done? I need to convert IP address to long and after I have to convert them back to IP address.

IP address are 4 bytes represented in a dotted decimal format.

Example: # 22.125.33.145 145 + (33 * 2**8) + (125 * 2**16) + (22 * 2**24) => 377299345

Hi,

I could convert the IP address to long format using the above logic, can any one tell how can I convert the long format back to IP address. I did search for the API I didn't get any. Is there any API which does it in Rails or any logic to which can do it like above(Equivalent APIs for long2ip and ip2long PHP built in Rails).

Thanks in advance.

Hi all,

Thanks for your time, I could find out the solution for the above issue. Using this functions i converted implement ip2long and long2ip

def ip2long(ip)   long = 0   ip.split(/\./).each_with_index do |b, i|     long += b.to_i << ( 8*i )   end   long end

def long2ip(long)   ip =   4.times do |i|     ip.push(long.to_i & 255)     long = long.to_i >> 8   end   ip.join(".") end

If any one know any API to do this please get it.

Regards.