55 lines
1.1 KiB
Python
55 lines
1.1 KiB
Python
![]() |
# 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.
|
||
|
"""
|