次のtun\tapサンプルプログラムを見つけましたが、動作させることができません。
http://www.secdev.org/projects/tuntap_udp/files/tunproxy.py
次の行を変更しました。
f = os.open("/dev/tun0", os.O_RDWR)
ifs = ioctl(f, TUNSETIFF, struct.pack("16sH", "toto%d", TUNMODE))
ifname = ifs[:16].strip("\x00")
最初の行は、ドライバーの実際の場所を反映するように変更されました。もともとは
f = os.open("/dev/net/tun", os.O_RDWR)
実行すると、次のエラーが発生します。
sudo ./tuntap.py -s 9000
Password:
Traceback (most recent call last):
File "./tuntap.py", line 65, in <module>
ifs = ioctl(f, TUNSETIFF, struct.pack("16sH", "toto%d", TUNMODE))
IOError: [Errno 25] Inappropriate ioctl for device
http://tuntaposx.sourceforge.net/download.xhtmlからインストールされた最新のtun\tapドライバーを使用しています