From: "Iñaki Baz Castillo" Date: 2011-05-12T00:22:17+09:00 Subject: Re: How to get the IPs of all the interfaces in my host? 2011/5/11 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 } > --------------------------- > > => ["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] } => ["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. -- Iñaki Baz Castillo