1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.
"""
Interface definitions for working with raw packets
"""
from zope.interface import Interface
class IRawDatagramProtocol(Interface):
"""
An interface for protocols such as UDP, ICMP and TCP.
"""
def addProto(num, proto):
"""
Add a protocol on top of this one.
"""
def datagramReceived(
data,
partial,
source,
dest,
protocol,
version,
ihl,
tos,
tot_len,
fragment_id,
fragment_offset,
dont_fragment,
more_fragments,
ttl,
):
"""
An IP datagram has been received. Parse and process it.
"""
class IRawPacketProtocol(Interface):
"""
An interface for low-level protocols such as IP and ARP.
"""
def addProto(num, proto):
"""
Add a protocol on top of this one.
"""
def datagramReceived(data, partial, dest, source, protocol):
"""
An IP datagram has been received. Parse and process it.
"""
|