scapy.contrib.rpl

RPL

RFC 6550-低功耗和有损网络(RPL)的路由协议draft-ietf-roll-efficiency-npdao-17-有效的路由无效

RPL选项:Pad1 PadN TIO RIO PIO Tgt TgtDesc DODAGConfig DAGMC…

RPL消息:DIS DIO DAO DAOACK DCO DCOACK

ICMPv6:155型RPL

class scapy.contrib.rpl.RPLDAO(*args, **kargs)

Bases: scapy.contrib.rpl._RPLGuessMsgType, scapy.contrib.rpl._RPLGuessOption

控制消息:目标广告对象(DAO)

aliastypes
fields_desc
显示类似RFC的架构
 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                            
RPLDAO字段

RPLInstanceID

ByteField

50

K

BitField (1位)

0

D

BitField (1位)

0

flags

BitField (6位)

0

reserved

ByteField

0

daoseq

ByteField

1

dodagid

IP6Field (Cond)

None

class scapy.contrib.rpl.RPLDAOACK(*args, **kargs)

Bases: scapy.contrib.rpl._RPLGuessMsgType, scapy.contrib.rpl._RPLGuessOption

控制消息:目标广告对象确认(DAOACK)

aliastypes
fields_desc
显示类似RFC的架构
 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                          
RPLDAOACK字段

RPLInstanceID

ByteField

50

D

BitField (1位)

0

reserved

BitField (7位)

0

daoseq

ByteField

1

status

ByteField

0

dodagid

IP6Field (Cond)

None

class scapy.contrib.rpl.RPLDCO(*args, **kargs)

Bases: scapy.contrib.rpl._RPLGuessMsgType, scapy.contrib.rpl._RPLGuessOption

控制消息:目标清除对象(DCO)

aliastypes
fields_desc
显示类似RFC的架构
 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                            
RPLDCO字段

RPLInstanceID

ByteField

50

K

BitField (1位)

0

D

BitField (1位)

0

flags

BitField (6位)

0

status

ByteField

0

dcoseq

ByteField

1

dodagid

IP6Field (Cond)

None

class scapy.contrib.rpl.RPLDCOACK(*args, **kargs)

Bases: scapy.contrib.rpl._RPLGuessMsgType, scapy.contrib.rpl._RPLGuessOption

控制消息:目标清除对象确认(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                          
RPLDCOACK字段

RPLInstanceID

ByteField

50

D

BitField (1位)

0

flags

BitField (7位)

0

dcoseq

ByteField

1

status

ByteField

0

dodagid

IP6Field (Cond)

None

class scapy.contrib.rpl.RPLDIO(*args, **kargs)

Bases: scapy.contrib.rpl._RPLGuessMsgType, scapy.contrib.rpl._RPLGuessOption

控制消息:DODAG信息对象(DIO)

aliastypes
fields_desc
显示类似RFC的架构
 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                            
RPLDIO字段

RPLInstanceID

ByteField

50

ver

ByteField

0

rank

ShortField

1

G

BitField (1位)

1

unused1

BitField (1位)

0

mop

BitEnumField (3位)

1

prf

BitField (3位)

0

dtsn

ByteField

240

flags

ByteField

0

reserved

ByteField

0

dodagid

IP6Field

'::1'

class scapy.contrib.rpl.RPLDIS(*args, **kargs)

Bases: scapy.contrib.rpl._RPLGuessMsgType, scapy.contrib.rpl._RPLGuessOption

控制消息:DODAG信息请求(DIS)

aliastypes
fields_desc
显示类似RFC的架构
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     FLAGS     |    RESERVED   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                           Fig. RPLDIS                            
RPLDIS字段

flags

ByteField

0

reserved

ByteField

0

class scapy.contrib.rpl.RPLOptDODAGConfig(*args, **kargs)

Bases: scapy.contrib.rpl._RPLGuessOption

控制选项:DODAG配置

aliastypes
fields_desc
显示类似RFC的架构
 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                      
RPLOptDODAGConfig字段

otype

ByteEnumField

4

len

ByteField

14

flags

BitField (4位)

0

A

BitField (1位)

0

PCS

BitField (3位)

0

DIOIntDoubl

ByteField

20

DIOIntMin

ByteField

3

DIORedun

ByteField

10

MaxRankIncrease

ShortField

0

MinRankIncrease

ShortField

256

OCP

ShortField

1

reserved

ByteField

0

DefLifetime

ByteField

255

LifetimeUnit

ShortField

65535

class scapy.contrib.rpl.RPLOptPIO(*args, **kargs)

Bases: scapy.contrib.rpl._RPLGuessOption

控制选项:前缀信息选项(PIO)

aliastypes
fields_desc
显示类似RFC的架构
 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                          
RPLOptPIO字段

otype

ByteEnumField

8

len

ByteField

30

plen

ByteField

64

L

BitField (1位)

0

A

BitField (1位)

0

R

BitField (1位)

0

reserved1

BitField (5位)

0

validlifetime

IntField

4294967295

preflifetime

IntField

4294967295

reserved2

IntField

0

prefix

IP6Field

'::1'

class scapy.contrib.rpl.RPLOptPad1(*args, **kargs)

Bases: scapy.contrib.rpl._RPLGuessOption

控制选项:填充1个字节

aliastypes
fields_desc
显示类似RFC的架构
 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     |
+-+-+-+-+-+-+-+-+

                         Fig. RPLOptPad1                          
RPLOptPad1字段

otype

ByteEnumField

0

class scapy.contrib.rpl.RPLOptPadN(*args, **kargs)

Bases: scapy.contrib.rpl._RPLGuessOption

控制选项:填充N字节

aliastypes
fields_desc
显示类似RFC的架构
 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                          
RPLOptPadN字段

otype

ByteEnumField

1

optlen

FieldLenField

None

optdata

StrLenField

b''

class scapy.contrib.rpl.RPLOptRIO(*args, **kargs)

Bases: scapy.contrib.rpl._RPLGuessOption

控制选项:路由信息选项(RIO)

aliastypes
fields_desc
显示类似RFC的架构
 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                          
RPLOptRIO字段

otype

ByteEnumField

3

len

FieldLenField

None

plen

ByteField

None

res1

BitField (3位)

0

prf

BitEnumField (2位)

0

res2

BitField (3位)

0

rtlifetime

IntField

4294967295

prefix

_IP6PrefixField

None

class scapy.contrib.rpl.RPLOptSolInfo(*args, **kargs)

Bases: scapy.contrib.rpl._RPLGuessOption

控制选项:请求的信息

aliastypes
fields_desc
显示类似RFC的架构
 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                        
RPLOptSolInfo字段

otype

ByteEnumField

7

len

ByteField

19

RPLInstanceID

ByteField

0

V

BitField (1位)

0

I

BitField (1位)

0

D

BitField (1位)

0

flags

BitField (5位)

0

dodagid

IP6Field

'::1'

ver

ByteField

0

class scapy.contrib.rpl.RPLOptTIO(*args, **kargs)

Bases: scapy.contrib.rpl._RPLGuessOption

控制选项:过境信息选项(TIO)

aliastypes
fields_desc
显示类似RFC的架构
 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                          
RPLOptTIO字段

otype

ByteEnumField

6

len

FieldLenField

None

E

BitField (1位)

0

flags

BitField (7位)

0

pathcontrol

ByteField

0

pathseq

ByteField

0

pathlifetime

ByteField

255

parentaddr

_IP6PrefixField

None

class scapy.contrib.rpl.RPLOptTgt(*args, **kargs)

Bases: scapy.contrib.rpl._RPLGuessOption

控制选项:RPL目标

aliastypes
fields_desc
显示类似RFC的架构
 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                          
RPLOptTgt字段

otype

ByteEnumField

5

len

FieldLenField

None

flags

ByteField

0

plen

ByteField

0

prefix

_IP6PrefixField

None

class scapy.contrib.rpl.RPLOptTgtDesc(*args, **kargs)

Bases: scapy.contrib.rpl._RPLGuessOption

控制选项:RPL目标描述符

aliastypes
fields_desc
显示类似RFC的架构
 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                        
RPLOptTgtDesc栏位

otype

ByteEnumField

9

len

ByteField

4

descriptor

IntField

0