How to get the IPs of all the interfaces in my host?

  • Thread starter Iñaki Baz Castillo
  • Start date
I

Iñaki Baz Castillo

Hi, basically I'm looking for a way to find all the IP's in the
network interfaces of my computer in a reliable way.

I know a "workaround":

--------------------------
UDPSocket.open {|s| s.connect "1.2.3.4", 80; s.addr }
---------------------------

=3D> ["AF_INET", 33564, "192.168.1.16", "192.168.1.16"]

But this method knows nothing about other IP's in the same interface,
neither allows me to discover other IP's in other interfaces with
different routes.

Is there something as "ifconfig" or "ip addr show" commands for Ruby?
Thanks a lot.


--=20
I=C3=B1aki Baz Castillo
<[email protected]>
 
I

Iñaki Baz Castillo

2011/5/11 I=C3=B1aki Baz Castillo said:
Hi, basically I'm looking for a way to find all the IP's in the
network interfaces of my computer in a reliable way.

I know a "workaround":

--------------------------
UDPSocket.open {|s| s.connect "1.2.3.4", 80; s.addr }
---------------------------

=3D> ["AF_INET", 33564, "192.168.1.16", "192.168.1.16"]

But this method knows nothing about other IP's in the same interface,
neither allows me to discover other IP's in other interfaces with
different routes.


I got another way:

Socket::getaddrinfo(Socket.gethostname, "echo", Socket::AF_INET).map
{ |x| x[3] }

=3D> ["127.0.0.1", "127.0.0.1", "127.0.1.1", "127.0.1.1",
"192.168.1.16", "192.168.1.16"]

Not very cool, but...


PS: There is also a ruby-ifconfig library, not available via gem it seems.

--=20
I=C3=B1aki Baz Castillo
<[email protected]>
 
E

Eric Wong

Iñaki Baz Castillo said:
Hi, basically I'm looking for a way to find all the IP's in the
network interfaces of my computer in a reliable way.

Is there something as "ifconfig" or "ip addr show" commands for Ruby?
Thanks a lot.

in Ruby 1.9.2:

require 'socket'
Socket.ip_address_list
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top