Python读写tap设备

 1 #!/usr/bin/python
 2 
 3 import os
 4 import struct
 5 import fcntl
 6 import binascii
 7 
 8 TUNSETIFF = 0x400454ca
 9 IFF_TAP   = 0x0002
10 
11 fd = os.open("/dev/net/tun", os.O_RDWR)
12 ifs = fcntl.ioctl(fd, TUNSETIFF, struct.pack("16sH", "t%d", IFF_TAP))
13 tname = ifs[:16].strip("x00")
14 
15 os.system("ip link set %s up" % (tname))
16 os.system("brctl addif br0 %s" % tname)
17 
18 while True :
19     data = os.read(fd, 1500)
20     d = struct.unpack('!%ds' % len(data), data)[0]
21     print binascii.hexlify(d)
原文地址:https://www.cnblogs.com/danxi/p/6377667.html