我如何访问ruby中的netstat数据

时间:2013-11-07 11:32:10

标签: ruby jruby

我想要所有网络统计信息的列表,如网络连接,路由表和许多网络接口。我怎么能在Ruby中做到这一点?

1 个答案:

答案 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?

Java finding network interface for default gateway