scapy.contrib.rpl
RPL
RFC 6550 - Routing Protocol for Low-Power and Lossy Networks (RPL) draft-ietf-roll-efficient-npdao-17 - Efficient Route Invalidation
RPL Options : Pad1 PadN TIO RIO PIO Tgt TgtDesc DODAGConfig DAGMC … |
RPL Msgs : DIS DIO DAO DAOACK DCO DCOACK |
ICMPv6 : type 155 RPL |
- class scapy.contrib.rpl.RPLDAO(_pkt, /, *, RPLInstanceID=50, K=0, D=0, flags=0, reserved=0, daoseq=1, dodagid=None)[source]
Bases:
_RPLGuessMsgType
,_RPLGuessOption
Control Message: Destination Advertisement Object (DAO)
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RPLINSTANCEID |K|D| FLAGS | RESERVED | DAOSEQ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DODAGID | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. RPLDAO
RPLInstanceID
50
K
BitField
(1 bit)0
D
BitField
(1 bit)0
flags
BitField
(6 bits)0
reserved
0
daoseq
1
dodagid
IP6Field
(Cond)None
- class scapy.contrib.rpl.RPLDAOACK(_pkt, /, *, RPLInstanceID=50, D=0, reserved=0, daoseq=1, status=0, dodagid=None)[source]
Bases:
_RPLGuessMsgType
,_RPLGuessOption
Control Message: Destination Advertisement Object Acknowledgement (DAOACK)
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RPLINSTANCEID |D| RESERVED | DAOSEQ | STATUS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DODAGID | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. RPLDAOACK
RPLInstanceID
50
D
BitField
(1 bit)0
reserved
BitField
(7 bits)0
daoseq
1
status
0
dodagid
IP6Field
(Cond)None
- class scapy.contrib.rpl.RPLDCO(_pkt, /, *, RPLInstanceID=50, K=0, D=0, flags=0, status=0, dcoseq=1, dodagid=None)[source]
Bases:
_RPLGuessMsgType
,_RPLGuessOption
Control Message: Destination Cleanup Object (DCO)
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RPLINSTANCEID |K|D| FLAGS | STATUS | DCOSEQ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DODAGID | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. RPLDCO
RPLInstanceID
50
K
BitField
(1 bit)0
D
BitField
(1 bit)0
flags
BitField
(6 bits)0
status
0
dcoseq
1
dodagid
IP6Field
(Cond)None
- class scapy.contrib.rpl.RPLDCOACK(_pkt, /, *, RPLInstanceID=50, D=0, flags=0, dcoseq=1, status=0, dodagid=None)[source]
Bases:
_RPLGuessMsgType
,_RPLGuessOption
Control Message: Destination Cleanup Object Acknowledgement (DCOACK)
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RPLINSTANCEID |D| FLAGS | DCOSEQ | STATUS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DODAGID | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. RPLDCOACK
RPLInstanceID
50
D
BitField
(1 bit)0
flags
BitField
(7 bits)0
dcoseq
1
status
0
dodagid
IP6Field
(Cond)None
- class scapy.contrib.rpl.RPLDIO(_pkt, /, *, RPLInstanceID=50, ver=0, rank=1, G=1, unused1=0, mop=1, prf=0, dtsn=240, flags=0, reserved=0, dodagid='::1')[source]
Bases:
_RPLGuessMsgType
,_RPLGuessOption
Control Message: DODAG Information Object (DIO)
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RPLINSTANCEID | VER | RANK | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |G|U| MOP | PRF | DTSN | FLAGS | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DODAGID | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. RPLDIO
RPLInstanceID
50
ver
0
rank
1
G
BitField
(1 bit)1
unused1
BitField
(1 bit)0
mop
1
prf
BitField
(3 bits)0
dtsn
240
flags
0
reserved
0
dodagid
'::1'
- class scapy.contrib.rpl.RPLDIS(_pkt, /, *, flags=0, reserved=0)[source]
Bases:
_RPLGuessMsgType
,_RPLGuessOption
Control Message: DODAG Information Solicitation (DIS)
- aliastypes
- class scapy.contrib.rpl.RPLOptDODAGConfig(_pkt, /, *, otype=4, len=14, flags=0, A=0, PCS=0, DIOIntDoubl=20, DIOIntMin=3, DIORedun=10, MaxRankIncrease=0, MinRankIncrease=256, OCP=1, reserved=0, DefLifetime=255, LifetimeUnit=65535)[source]
Bases:
_RPLGuessOption
Control Option: DODAG Configuration
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OTYPE | LEN | FLAGS |A| PCS | DIOINTDOUBL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DIOINTMIN | DIOREDUN | MAXRANKINCREASE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MINRANKINCREASE | OCP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED | DEFLIFETIME | LIFETIMEUNIT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. RPLOptDODAGConfig
otype
4
len
14
flags
BitField
(4 bits)0
A
BitField
(1 bit)0
PCS
BitField
(3 bits)0
DIOIntDoubl
20
DIOIntMin
3
DIORedun
10
MaxRankIncrease
0
MinRankIncrease
256
OCP
1
reserved
0
DefLifetime
255
LifetimeUnit
65535
- class scapy.contrib.rpl.RPLOptPIO(_pkt, /, *, otype=8, len=30, plen=64, L=0, A=0, R=0, reserved1=0, validlifetime=4294967295, preflifetime=4294967295, reserved2=0, prefix='::1')[source]
Bases:
_RPLGuessOption
Control Option: Prefix Information Option (PIO)
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OTYPE | LEN | PLEN |L|A|R|RESERVED1| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VALIDLIFETIME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PREFLIFETIME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PREFIX | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. RPLOptPIO
otype
8
len
30
plen
64
L
BitField
(1 bit)0
A
BitField
(1 bit)0
R
BitField
(1 bit)0
reserved1
BitField
(5 bits)0
validlifetime
4294967295
preflifetime
4294967295
reserved2
0
prefix
'::1'
- class scapy.contrib.rpl.RPLOptPad1(_pkt, /, *, otype=0)[source]
Bases:
_RPLGuessOption
Control Option: Pad 1 byte
- aliastypes
- class scapy.contrib.rpl.RPLOptPadN(_pkt, /, *, otype=1, optlen=None, optdata=b'')[source]
Bases:
_RPLGuessOption
Control Option: Pad N bytes
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OTYPE | OPTLEN | OPTDATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. RPLOptPadN
otype
1
optlen
None
optdata
b''
- class scapy.contrib.rpl.RPLOptRIO(_pkt, /, *, otype=3, len=None, plen=None, res1=0, prf=0, res2=0, rtlifetime=4294967295, prefix=None)[source]
Bases:
_RPLGuessOption
Control Option: Routing Information Option (RIO)
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OTYPE | LEN | PLEN | RES1|PRF| RES2| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RTLIFETIME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PREFIX | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. RPLOptRIO
otype
3
len
None
plen
None
res1
BitField
(3 bits)0
prf
0
res2
BitField
(3 bits)0
rtlifetime
4294967295
prefix
_IP6PrefixField
None
- class scapy.contrib.rpl.RPLOptSolInfo(_pkt, /, *, otype=7, len=19, RPLInstanceID=0, V=0, I=0, D=0, flags=0, dodagid='::1', ver=0)[source]
Bases:
_RPLGuessOption
Control Option: Solicited Information
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OTYPE | LEN | RPLINSTANCEID |V|I|D| FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DODAGID | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VER | +-+-+-+-+-+-+-+-+ Fig. RPLOptSolInfo
otype
7
len
19
RPLInstanceID
0
V
BitField
(1 bit)0
I
BitField
(1 bit)0
D
BitField
(1 bit)0
flags
BitField
(5 bits)0
dodagid
'::1'
ver
0
- class scapy.contrib.rpl.RPLOptTIO(_pkt, /, *, otype=6, len=None, E=0, flags=0, pathcontrol=0, pathseq=0, pathlifetime=255, parentaddr=None)[source]
Bases:
_RPLGuessOption
Control Option: Transit Information Option (TIO)
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OTYPE | LEN |E| FLAGS | PATHCONTROL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PATHSEQ | PATHLIFETIME | PARENTADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + | | + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. RPLOptTIO
otype
6
len
None
E
BitField
(1 bit)0
flags
BitField
(7 bits)0
pathcontrol
0
pathseq
0
pathlifetime
255
parentaddr
_IP6PrefixField
None
- class scapy.contrib.rpl.RPLOptTgt(_pkt, /, *, otype=5, len=None, flags=0, plen=0, prefix=None)[source]
Bases:
_RPLGuessOption
Control Option: RPL Target
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OTYPE | LEN | FLAGS | PLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PREFIX | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. RPLOptTgt
otype
5
len
None
flags
0
plen
0
prefix
_IP6PrefixField
None
- class scapy.contrib.rpl.RPLOptTgtDesc(_pkt, /, *, otype=9, len=4, descriptor=0)[source]
Bases:
_RPLGuessOption
Control Option: RPL Target Descriptor
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OTYPE | LEN | DESCRIPTOR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. RPLOptTgtDesc
otype
9
len
4
descriptor
0