1
from twisted.internet import reactor, protocol
2
from twisted.pair import ethernet, rawudp, ip
3
from twisted.pair import tuntap
5
class MyProto(protocol.DatagramProtocol):
6
def datagramReceived(self, *a, **kw):
9
p_udp = rawudp.RawUDPProtocol()
10
p_udp.addProto(42, MyProto())
11
p_ip = ip.IPProtocol()
12
p_ip.addProto(17, p_udp)
13
p_eth = ethernet.EthernetProtocol()
14
p_eth.addProto(0x800, p_ip)
16
reactor.listenWith(tuntap.TuntapPort,
17
interface='tap0', proto=p_eth, reactor=reactor)