我想要所有网络统计信息的列表,如网络连接,路由表和许多网络接口。我怎么能在Ruby中做到这一点?
答案 0 :(得分:0)
我注意到,您已将此标记为JRuby ...您可以使用Java API获取一些信息。
但是不要期望获得完整的路由,因为(netstat
给你)最终gem(或插件)将使用系统调用(至少在Java上,没有办法让表跨平台)。 ..
ifaces = java.net.NetworkInterface.getNetworkInterfaces.to_a # all you have
name = ifaces[0].name # name = "number" of interface e.g. "eth0"
ips = ifaces[0].inet_addresses.map { |addr| addr.to_s } # likely IP6/IP4
探索API:http://docs.oracle.com/javase/6/docs/api/java/net/NetworkInterface.html
...你可能会发现一些“原始”路由的东西,只有一些技巧,但不是全部:
Is it possible to get the default gateway IP and MAC addresses in java?