3

Pythonで次のことを行うにはどうすればよいですか:

  1. 現在のマシン上のすべての IP インターフェイスを一覧表示します。
  2. ネットワーク インターフェイスの変更に関する更新情報を受信します (アップ、ダウン、IP アドレスの変更)。

Ubuntu Hardy で利用可能な任意の python パッケージで十分です。

4

3 に答える 3

3

これを行う最良の方法は、 dbus-pythonを使用することだと思います。

このチュートリアルでは、ネットワーク インターフェイスについて少し触れています。

import dbus
bus = dbus.SystemBus()
proxy = bus.get_object('org.freedesktop.NetworkManager',
                       '/org/freedesktop/NetworkManager/Devices/eth0')
# proxy is a dbus.proxies.ProxyObject
于 2009-07-07T07:02:55.043 に答える
0

いいえ、いいえ... os.system() や dbus API を気にする必要はありません。

本当に必要なのは、netlink API を使用してこれを実装することです。libnlインターフェイス (netlink.route.link)を使用するか、netlink メッセージを自分で処理してください。この例を見てください。

于 2012-12-27T01:27:57.677 に答える
0

私は次のコードを使用していますが、

temp =  str(os.system("ifconfig -a | awk '$2~/^Link/{_1=$1;getline;if($2~/^addr/){print _1" "}}'"))

「アップ」ネットワークインターフェイスを提供します

例: eth0、eth2、wlan0

于 2012-12-26T23:27:31.590 に答える