我找到了以下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驱动程序