Xen3のip.pyを使う
ライセンスはGPL2。
中でip,route,ifconfigコマンドをpopen経由で呼び、その返り値を使っている。
3つもコマンド使わなくても、必要な情報は取れるような気がするのは気のせいか?
コマンドによって、現在値の信頼度に違いがあるのかな?
>>> import ip >>> ip.get_defaultroute() ['192.168.123.254', 'eth0'] >>> ip.get_defaultroute()[0] '192.168.123.254' >>> ip.get_defaultroute()[1] 'eth0' >>> ip.get_current_ipaddr() '192.168.123.62' >>> ip.get_current_ipmask() '255.255.255.0' >>> ip.get_current_ipgw() '192.168.123.254' >>> ip.inet_aton(ip.get_current_ipaddr()) 3232267070L >>> ip.inet_ntoa(3232267070L) '192.168.123.62' >>> ip.check_subnet(ip.get_current_ipaddr(), "192.168.123.0", ip.get_current_ipmask()) True >>> ip.check_subnet(ip.get_current_ipaddr(), "192.168.0.0", ip.get_current_ipmask()) False