scapy.layers.inet6
IPv6 (Internet Protocol v6).
- class scapy.layers.inet6.AS_resolver6(server: Optional[str] = None, port: int = 43, options: Optional[str] = None)[source]
Bases:
AS_resolver_riswhois
- class scapy.layers.inet6.DomainNameListField(name, default, length_from=None, padded=False)[source]
Bases:
StrLenField
- islist = 1
- padded
- padded_unit = 8
- class scapy.layers.inet6.HAO(_pkt, /, *, otype=201, optlen=16, hoa='::')[source]
Bases:
Packet
- 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 | HOA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + | | + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HAO
otype
_OTypeField
201
optlen
16
hoa
'::'
- class scapy.layers.inet6.HBHOptUnknown(_pkt, /, *, otype=1, optlen=None, optdata=b'')[source]
Bases:
Packet
- aliastypes
- alignment_delta(curpos)[source]
As specified in section 4.2 of RFC 2460, every options has an alignment requirement usually expressed xn+y, meaning the Option Type must appear at an integer multiple of x octets from the start of the header, plus y octets.
That function is provided the current position from the start of the header and returns required padding length.
- 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. HBHOptUnknown
otype
_OTypeField
1
optlen
None
optdata
b''
- class scapy.layers.inet6.ICMPv6DestUnreach(_pkt, /, *, type=1, code=0, cksum=None, length=0, unused=0)[source]
Bases:
_ICMPv6Error
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LENGTH | UNUSED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ICMPv6DestUnreach
type
1
code
0
cksum
None
length
0
unused
0
- class scapy.layers.inet6.ICMPv6EchoReply(_pkt, /, *, type=129, code=0, cksum=None, id=0, seq=0, data=b'')[source]
Bases:
ICMPv6EchoRequest
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ID | SEQ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6EchoReply
type
129
code
0
cksum
None
id
0
seq
0
data
b''
- class scapy.layers.inet6.ICMPv6EchoRequest(_pkt, /, *, type=128, code=0, cksum=None, id=0, seq=0, data=b'')[source]
Bases:
_ICMPv6
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ID | SEQ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6EchoRequest
type
128
code
0
cksum
None
id
0
seq
0
data
b''
- class scapy.layers.inet6.ICMPv6HAADReply(_pkt, /, *, type=145, code=0, cksum=None, id=None, R=1, res=0, addresses=[])[source]
Bases:
_ICMPv6
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ID |R| RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADDRESSES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6HAADReply
type
145
code
0
cksum
None
id
None
R
1
res
XBitField
(15 bits)0
addresses
[]
- class scapy.layers.inet6.ICMPv6HAADRequest(_pkt, /, *, type=144, code=0, cksum=None, id=None, R=1, res=0)[source]
Bases:
_ICMPv6
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ID |R| RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6HAADRequest
type
144
code
0
cksum
None
id
None
R
1
res
XBitField
(15 bits)0
- class scapy.layers.inet6.ICMPv6MLDMultAddrRec(_pkt, /, *, rtype=4, auxdata_len=None, sources_number=None, dst='::', sources=[], auxdata=b'')[source]
Bases:
Packet
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RTYPE | AUXDATA LEN | SOURCES NUMBER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DST | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SOURCES | AUXDATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6MLDMultAddrRec
rtype
4
auxdata_len
None
sources_number
None
dst
'::'
sources
[]
auxdata
b''
- class scapy.layers.inet6.ICMPv6MLDone(_pkt, /, *, type=132, code=0, cksum=None, mrd=0, reserved=0, mladdr='::')[source]
Bases:
_ICMPv6ML
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MRD | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MLADDR | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6MLDone
type
132
code
0
cksum
None
mrd
0
reserved
0
mladdr
'::'
- class scapy.layers.inet6.ICMPv6MLQuery(_pkt, /, *, type=130, code=0, cksum=None, mrd=10000, reserved=0, mladdr='::')[source]
Bases:
_ICMPv6ML
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MRD | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MLADDR | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6MLQuery
type
130
code
0
cksum
None
mrd
10000
reserved
0
mladdr
'::'
- class scapy.layers.inet6.ICMPv6MLQuery2(_pkt, /, *, type=130, code=0, cksum=None, mrd=10000, reserved=0, mladdr='::', Resv=0, S=0, QRV=0, QQIC=0, sources_number=None, sources=[])[source]
Bases:
_ICMPv6
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MRD | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MLADDR | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESV |S| QRV | QQIC | SOURCES NUMBER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SOURCES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6MLQuery2
type
130
code
0
cksum
None
mrd
10000
reserved
0
mladdr
'::'
Resv
BitField
(4 bits)0
S
BitField
(1 bit)0
QRV
BitField
(3 bits)0
QQIC
0
sources_number
None
sources
[]
- class scapy.layers.inet6.ICMPv6MLReport(_pkt, /, *, type=131, code=0, cksum=None, mrd=0, reserved=0, mladdr='::')[source]
Bases:
_ICMPv6ML
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MRD | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MLADDR | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6MLReport
type
131
code
0
cksum
None
mrd
0
reserved
0
mladdr
'::'
- class scapy.layers.inet6.ICMPv6MLReport2(_pkt, /, *, type=143, res=0, cksum=None, reserved=0, records_number=None, records=[])[source]
Bases:
_ICMPv6
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | RES | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED | RECORDS NUMBER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RECORDS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6MLReport2
type
143
res
0
cksum
None
reserved
0
records_number
None
records
[]
- class scapy.layers.inet6.ICMPv6MPAdv(_pkt, /, *, type=147, code=0, cksum=None, id=None, flags=2, res=0)[source]
Bases:
_ICMPv6NDGuessPayload
,_ICMPv6
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ID |FLA| RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6MPAdv
type
147
code
0
cksum
None
id
None
flags
2
res
XBitField
(14 bits)0
- class scapy.layers.inet6.ICMPv6MPSol(_pkt, /, *, type=146, code=0, cksum=None, id=None, res=0)[source]
Bases:
_ICMPv6
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ID | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6MPSol
type
146
code
0
cksum
None
id
None
res
0
- class scapy.layers.inet6.ICMPv6MRD_Advertisement(_pkt, /, *, type=151, advinter=20, cksum=None, queryint=0, robustness=0)[source]
Bases:
_ICMPv6
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | ADVINTER | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | QUERYINT | ROBUSTNESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6MRD_Advertisement
type
151
advinter
20
cksum
None
queryint
0
robustness
0
- class scapy.layers.inet6.ICMPv6MRD_Solicitation(_pkt, /, *, type=152, res=0, cksum=None)[source]
Bases:
_ICMPv6
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | RES | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6MRD_Solicitation
type
152
res
0
cksum
None
- class scapy.layers.inet6.ICMPv6MRD_Termination(_pkt, /, *, type=153, res=0, cksum=None)[source]
Bases:
_ICMPv6
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | RES | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6MRD_Termination
type
153
res
0
cksum
None
- class scapy.layers.inet6.ICMPv6NDOptAdvInterval(_pkt, /, *, type=7, len=1, res=0, advint=0)[source]
Bases:
_ICMPv6NDGuessPayload
,Packet
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADVINT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NDOptAdvInterval
type
7
len
1
res
0
advint
0
- class scapy.layers.inet6.ICMPv6NDOptDNSSL(_pkt, /, *, type=31, len=None, res=None, lifetime=4294967295, searchlist=[])[source]
Bases:
_ICMPv6NDGuessPayload
,Packet
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LIFETIME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SEARCHLIST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NDOptDNSSL
type
31
len
None
res
None
lifetime
4294967295
searchlist
[]
- class scapy.layers.inet6.ICMPv6NDOptDstLLAddr(_pkt, /, *, type=2, len=1, lladdr='00:00:00:00:00:00')[source]
Bases:
ICMPv6NDOptSrcLLAddr
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | LLADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NDOptDstLLAddr
type
2
len
1
lladdr
'00:00:00:00:00:00'
- class scapy.layers.inet6.ICMPv6NDOptEFA(_pkt, /, *, type=26, len=1, res=0)[source]
Bases:
_ICMPv6NDGuessPayload
,Packet
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NDOptEFA
type
26
len
1
res
BitField
(48 bits)0
- class scapy.layers.inet6.ICMPv6NDOptHAInfo(_pkt, /, *, type=8, len=1, res=0, pref=0, lifetime=1)[source]
Bases:
_ICMPv6NDGuessPayload
,Packet
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PREF | LIFETIME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NDOptHAInfo
type
8
len
1
res
0
pref
0
lifetime
1
- class scapy.layers.inet6.ICMPv6NDOptIPAddr(_pkt, /, *, type=17, len=3, optcode=1, plen=64, res=0, addr='::')[source]
Bases:
_ICMPv6NDGuessPayload
,Packet
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | OPTCODE | PLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADDR | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NDOptIPAddr
type
17
len
3
optcode
1
plen
64
res
0
addr
'::'
- class scapy.layers.inet6.ICMPv6NDOptLLA(_pkt, /, *, type=19, len=1, optcode=0, lla='00:00:00:00:00:00')[source]
Bases:
_ICMPv6NDGuessPayload
,Packet
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | OPTCODE | LLA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ICMPv6NDOptLLA
type
19
len
1
optcode
0
lla
'00:00:00:00:00:00'
- class scapy.layers.inet6.ICMPv6NDOptMAP(_pkt, /, *, type=23, len=3, dist=1, pref=15, R=1, res=0, validlifetime=4294967295, addr='::')[source]
Bases:
_ICMPv6NDGuessPayload
,Packet
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | DIST | PREF |R| RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VALIDLIFETIME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADDR | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NDOptMAP
type
23
len
3
dist
BitField
(4 bits)1
pref
BitField
(4 bits)15
R
BitField
(1 bit)1
res
BitField
(7 bits)0
validlifetime
4294967295
addr
'::'
- class scapy.layers.inet6.ICMPv6NDOptMTU(_pkt, /, *, type=5, len=1, res=0, mtu=1280)[source]
Bases:
_ICMPv6NDGuessPayload
,Packet
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MTU | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NDOptMTU
type
5
len
1
res
0
mtu
1280
- class scapy.layers.inet6.ICMPv6NDOptNewRtrPrefix(_pkt, /, *, type=18, len=3, optcode=0, plen=64, res=0, prefix='::')[source]
Bases:
_ICMPv6NDGuessPayload
,Packet
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | OPTCODE | PLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PREFIX | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NDOptNewRtrPrefix
type
18
len
3
optcode
0
plen
64
res
0
prefix
'::'
- class scapy.layers.inet6.ICMPv6NDOptPrefixInfo(_pkt, /, *, type=3, len=4, prefixlen=64, L=1, A=1, R=0, res1=0, validlifetime=4294967295, preferredlifetime=4294967295, res2=0, prefix='::')[source]
Bases:
_ICMPv6NDGuessPayload
,Packet
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | PREFIXLEN |L|A|R| RES1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VALIDLIFETIME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PREFERREDLIFETIME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RES2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PREFIX | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NDOptPrefixInfo
type
3
len
4
prefixlen
64
L
BitField
(1 bit)1
A
BitField
(1 bit)1
R
BitField
(1 bit)0
res1
BitField
(5 bits)0
validlifetime
4294967295
preferredlifetime
4294967295
res2
0
prefix
'::'
- class scapy.layers.inet6.ICMPv6NDOptRDNSS(_pkt, /, *, type=25, len=None, res=None, lifetime=4294967295, dns=[])[source]
Bases:
_ICMPv6NDGuessPayload
,Packet
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LIFETIME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DNS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NDOptRDNSS
type
25
len
None
res
None
lifetime
4294967295
dns
[]
- class scapy.layers.inet6.ICMPv6NDOptRedirectedHdr(_pkt, /, *, type=4, len=None, res=b'\x00\x00\x00\x00\x00\x00', pkt=b'')[source]
Bases:
_ICMPv6NDGuessPayload
,Packet
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PKT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NDOptRedirectedHdr
type
4
len
None
res
b'\x00\x00\x00\x00\x00\x00'
pkt
b''
- class scapy.layers.inet6.ICMPv6NDOptRouteInfo(_pkt, /, *, type=24, len=None, plen=None, res1=0, prf=0, res2=0, rtlifetime=4294967295, prefix=None)[source]
Bases:
_ICMPv6NDGuessPayload
,Packet
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | PLEN | RES1|PRF| RES2| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RTLIFETIME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PREFIX | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NDOptRouteInfo
type
24
len
None
plen
None
res1
BitField
(3 bits)0
prf
0
res2
BitField
(3 bits)0
rtlifetime
4294967295
prefix
_IP6PrefixField
None
- class scapy.layers.inet6.ICMPv6NDOptShortcutLimit(_pkt, /, *, type=6, len=1, shortcutlim=40, res1=0, res2=0)[source]
Bases:
_ICMPv6NDGuessPayload
,Packet
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | SHORTCUTLIM | RES1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RES2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NDOptShortcutLimit
type
6
len
1
shortcutlim
40
res1
0
res2
0
- class scapy.layers.inet6.ICMPv6NDOptSrcAddrList(_pkt, /, *, type=9, len=None, res=b'\x00\x00\x00\x00\x00\x00', addrlist=[])[source]
Bases:
_ICMPv6NDGuessPayload
,Packet
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADDRLIST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NDOptSrcAddrList
type
9
len
None
res
b'\x00\x00\x00\x00\x00\x00'
addrlist
[]
- class scapy.layers.inet6.ICMPv6NDOptSrcLLAddr(_pkt, /, *, type=1, len=1, lladdr='00:00:00:00:00:00')[source]
Bases:
_ICMPv6NDGuessPayload
,Packet
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | LLADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NDOptSrcLLAddr
type
1
len
1
lladdr
'00:00:00:00:00:00'
- class scapy.layers.inet6.ICMPv6NDOptTgtAddrList(_pkt, /, *, type=10, len=None, res=b'\x00\x00\x00\x00\x00\x00', addrlist=[])[source]
Bases:
ICMPv6NDOptSrcAddrList
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADDRLIST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NDOptTgtAddrList
type
10
len
None
res
b'\x00\x00\x00\x00\x00\x00'
addrlist
[]
- class scapy.layers.inet6.ICMPv6NDOptUnknown(_pkt, /, *, type=None, len=None, data=b'')[source]
Bases:
_ICMPv6NDGuessPayload
,Packet
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NDOptUnknown
type
None
len
None
data
b''
- class scapy.layers.inet6.ICMPv6ND_INDAdv(_pkt, /, *, type=142, code=0, cksum=None, reserved=0)[source]
Bases:
_ICMPv6NDGuessPayload
,_ICMPv6
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6ND_INDAdv
type
142
code
0
cksum
None
reserved
0
- class scapy.layers.inet6.ICMPv6ND_INDSol(_pkt, /, *, type=141, code=0, cksum=None, reserved=0)[source]
Bases:
_ICMPv6NDGuessPayload
,_ICMPv6
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6ND_INDSol
type
141
code
0
cksum
None
reserved
0
- class scapy.layers.inet6.ICMPv6ND_NA(_pkt, /, *, type=136, code=0, cksum=None, R=1, S=0, O=1, res=0, tgt='::')[source]
Bases:
_ICMPv6NDGuessPayload
,_ICMPv6
,Packet
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |R|S|O| RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TGT | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6ND_NA
type
136
code
0
cksum
None
R
BitField
(1 bit)1
S
BitField
(1 bit)0
O
BitField
(1 bit)1
res
XBitField
(29 bits)0
tgt
'::'
- class scapy.layers.inet6.ICMPv6ND_NS(_pkt, /, *, type=135, code=0, cksum=None, res=0, tgt='::')[source]
Bases:
_ICMPv6NDGuessPayload
,_ICMPv6
,Packet
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TGT | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6ND_NS
type
135
code
0
cksum
None
res
0
tgt
'::'
- class scapy.layers.inet6.ICMPv6ND_RA(_pkt, /, *, type=134, code=0, cksum=None, chlim=0, M=0, O=0, H=0, prf=1, P=0, res=0, routerlifetime=1800, reachabletime=0, retranstimer=0)[source]
Bases:
_ICMPv6NDGuessPayload
,_ICMPv6
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CHLIM |M|O|H|PRF|P|RES| ROUTERLIFETIME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | REACHABLETIME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RETRANSTIMER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6ND_RA
type
134
code
0
cksum
None
chlim
0
M
BitField
(1 bit)0
O
BitField
(1 bit)0
H
BitField
(1 bit)0
prf
1
P
BitField
(1 bit)0
res
BitField
(2 bits)0
routerlifetime
1800
reachabletime
0
retranstimer
0
- class scapy.layers.inet6.ICMPv6ND_RS(_pkt, /, *, type=133, code=0, cksum=None, res=0)[source]
Bases:
_ICMPv6NDGuessPayload
,_ICMPv6
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6ND_RS
type
133
code
0
cksum
None
res
0
- class scapy.layers.inet6.ICMPv6ND_Redirect(_pkt, /, *, type=137, code=0, cksum=None, res=0, tgt='::', dst='::')[source]
Bases:
_ICMPv6NDGuessPayload
,_ICMPv6
,Packet
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TGT | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DST | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6ND_Redirect
type
137
code
0
cksum
None
res
0
tgt
'::'
dst
'::'
- class scapy.layers.inet6.ICMPv6NIQueryIPv4(_pkt, /, *, type=139, code=None, cksum=None, qtype=4, unused=0, flags=<Flag 0 ()>, nonce=<RandBin>, data=(1, b'\x00\x00\x00'))[source]
Bases:
ICMPv6NIQueryNOOP
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | QTYPE | UNUSED | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NONCE | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NIQueryIPv4
type
139
code
None
cksum
None
qtype
4
unused
BitField
(10 bits)0
flags
<Flag 0 ()>
nonce
<RandBin>
data
(1, b'\x00\x00\x00')
- class scapy.layers.inet6.ICMPv6NIQueryIPv6(_pkt, /, *, type=139, code=None, cksum=None, qtype=3, unused=0, flags=62, nonce=<RandBin>, data=(1, b'\x00\x00\x00'))[source]
Bases:
ICMPv6NIQueryNOOP
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | QTYPE | UNUSED | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NONCE | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NIQueryIPv6
type
139
code
None
cksum
None
qtype
3
unused
BitField
(10 bits)0
flags
62
nonce
<RandBin>
data
(1, b'\x00\x00\x00')
- class scapy.layers.inet6.ICMPv6NIQueryNOOP(_pkt, /, *, type=139, code=None, cksum=None, qtype=0, unused=0, flags=<Flag 0 ()>, nonce=<RandBin>, data=(1, b'\x00\x00\x00'))[source]
Bases:
_ICMPv6NIHashret
,_ICMPv6
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | QTYPE | UNUSED | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NONCE | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NIQueryNOOP
type
139
code
None
cksum
None
qtype
0
unused
BitField
(10 bits)0
flags
<Flag 0 ()>
nonce
<RandBin>
data
(1, b'\x00\x00\x00')
- class scapy.layers.inet6.ICMPv6NIQueryName(_pkt, /, *, type=139, code=None, cksum=None, qtype=2, unused=0, flags=<Flag 0 ()>, nonce=<RandBin>, data=(1, b'\x00\x00\x00'))[source]
Bases:
ICMPv6NIQueryNOOP
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | QTYPE | UNUSED | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NONCE | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NIQueryName
type
139
code
None
cksum
None
qtype
2
unused
BitField
(10 bits)0
flags
<Flag 0 ()>
nonce
<RandBin>
data
(1, b'\x00\x00\x00')
- class scapy.layers.inet6.ICMPv6NIReplyIPv4(_pkt, /, *, type=140, code=0, cksum=None, qtype=4, unused=0, flags=<Flag 0 ()>, nonce=<RandBin>, data=(0, None))[source]
Bases:
ICMPv6NIReplyNOOP
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | QTYPE | UNUSED | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NONCE | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NIReplyIPv4
type
140
code
0
cksum
None
qtype
4
unused
BitField
(10 bits)0
flags
<Flag 0 ()>
nonce
<RandBin>
data
(0, None)
- class scapy.layers.inet6.ICMPv6NIReplyIPv6(_pkt, /, *, type=140, code=0, cksum=None, qtype=3, unused=0, flags=<Flag 0 ()>, nonce=<RandBin>, data=(0, None))[source]
Bases:
ICMPv6NIReplyNOOP
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | QTYPE | UNUSED | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NONCE | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NIReplyIPv6
type
140
code
0
cksum
None
qtype
3
unused
BitField
(10 bits)0
flags
<Flag 0 ()>
nonce
<RandBin>
data
(0, None)
- class scapy.layers.inet6.ICMPv6NIReplyNOOP(_pkt, /, *, type=140, code=0, cksum=None, qtype=0, unused=0, flags=<Flag 0 ()>, nonce=<RandBin>, data=(0, None))[source]
Bases:
_ICMPv6NIAnswers
,_ICMPv6NIHashret
,_ICMPv6
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | QTYPE | UNUSED | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NONCE | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NIReplyNOOP
type
140
code
0
cksum
None
qtype
0
unused
BitField
(10 bits)0
flags
<Flag 0 ()>
nonce
<RandBin>
data
(0, None)
- class scapy.layers.inet6.ICMPv6NIReplyName(_pkt, /, *, type=140, code=0, cksum=None, qtype=2, unused=0, flags=<Flag 0 ()>, nonce=<RandBin>, data=(0, None))[source]
Bases:
ICMPv6NIReplyNOOP
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | QTYPE | UNUSED | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NONCE | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NIReplyName
type
140
code
0
cksum
None
qtype
2
unused
BitField
(10 bits)0
flags
<Flag 0 ()>
nonce
<RandBin>
data
(0, None)
- class scapy.layers.inet6.ICMPv6NIReplyRefuse(_pkt, /, *, type=140, code=1, cksum=None, qtype=0, unused=0, flags=<Flag 0 ()>, nonce=<RandBin>, data=(0, None))[source]
Bases:
ICMPv6NIReplyNOOP
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | QTYPE | UNUSED | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NONCE | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NIReplyRefuse
type
140
code
1
cksum
None
qtype
0
unused
BitField
(10 bits)0
flags
<Flag 0 ()>
nonce
<RandBin>
data
(0, None)
- class scapy.layers.inet6.ICMPv6NIReplyUnknown(_pkt, /, *, type=140, code=2, cksum=None, qtype=0, unused=0, flags=<Flag 0 ()>, nonce=<RandBin>, data=(0, None))[source]
Bases:
ICMPv6NIReplyNOOP
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | QTYPE | UNUSED | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NONCE | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6NIReplyUnknown
type
140
code
2
cksum
None
qtype
0
unused
BitField
(10 bits)0
flags
<Flag 0 ()>
nonce
<RandBin>
data
(0, None)
- class scapy.layers.inet6.ICMPv6PacketTooBig(_pkt, /, *, type=2, code=0, cksum=None, mtu=1280)[source]
Bases:
_ICMPv6Error
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MTU | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6PacketTooBig
type
2
code
0
cksum
None
mtu
1280
- class scapy.layers.inet6.ICMPv6ParamProblem(_pkt, /, *, type=4, code=0, cksum=None, ptr=6)[source]
Bases:
_ICMPv6Error
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PTR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6ParamProblem
type
4
code
0
cksum
None
ptr
6
- class scapy.layers.inet6.ICMPv6RPL(_pkt, /, *, type=155, code=0, cksum=None)[source]
Bases:
_ICMPv6
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6RPL
type
155
code
0
cksum
None
- class scapy.layers.inet6.ICMPv6TimeExceeded(_pkt, /, *, type=3, code=0, cksum=None, length=0, unused=0)[source]
Bases:
_ICMPv6Error
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LENGTH | UNUSED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ICMPv6TimeExceeded
type
3
code
0
cksum
None
length
0
unused
0
- class scapy.layers.inet6.ICMPv6Unknown(_pkt, /, *, type=1, code=0, cksum=None, msgbody=b'')[source]
Bases:
_ICMPv6
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | CODE | CKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MSGBODY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ICMPv6Unknown
type
1
code
0
cksum
None
msgbody
b''
- class scapy.layers.inet6.IP6ListField(name, default, count_from=None, length_from=None)[source]
Bases:
StrField
- count_from
- islist = 1
- length_from
- class scapy.layers.inet6.IPerror6(_pkt, /, *, version=6, tc=0, fl=0, plen=None, nh=59, hlim=64, src=None, dst=None)[source]
Bases:
IPv6
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |VERSION| TC | FL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PLEN | NH | HLIM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SRC | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DST | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. IPerror6
version
BitField
(4 bits)6
tc
BitField
(8 bits)0
fl
BitField
(20 bits)0
plen
None
nh
59
hlim
64
src
None
dst
None
- class scapy.layers.inet6.IPv46(_pkt, /, *, version=4, ihl=None, tos=0, len=None, id=1, flags=<Flag 0 ()>, frag=0, ttl=64, proto=0, chksum=None, src=None, dst=None, options=[])[source]
Bases:
IP
This class implements a dispatcher that is used to detect the IP version while parsing Raw IP pcap files.
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |VERSION| IHL | TOS | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ID |FLAGS| FRAG | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TTL | PROTO | CHKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SRC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OPTIONS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. IPv46
version
BitField
(4 bits)4
ihl
BitField
(4 bits)None
tos
0
len
None
id
1
flags
<Flag 0 ()>
frag
BitField
(13 bits)0
ttl
64
proto
0
chksum
None
src
None
dst
None
options
[]
- class scapy.layers.inet6.IPv6(_pkt, /, *, version=6, tc=0, fl=0, plen=None, nh=59, hlim=64, src=None, dst=None)[source]
Bases:
_IPv6GuessPayload
,Packet
,IPTools
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |VERSION| TC | FL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PLEN | NH | HLIM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SRC | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DST | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. IPv6
version
BitField
(4 bits)6
tc
BitField
(8 bits)0
fl
BitField
(20 bits)0
plen
None
nh
59
hlim
64
src
None
dst
None
- class scapy.layers.inet6.IPv6ExtHdrDestOpt(_pkt, /, *, nh=59, len=None, autopad=1, options=[])[source]
Bases:
_IPv6ExtHdr
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NH | LEN | AUTOPAD | OPTIONS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. IPv6ExtHdrDestOpt
nh
59
len
None
autopad
_PhantomAutoPadField
1
options
_OptionsField
[]
- class scapy.layers.inet6.IPv6ExtHdrFragment(_pkt, /, *, nh=59, res1=0, offset=0, res2=0, m=0, id=None)[source]
Bases:
_IPv6ExtHdr
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NH | RES1 | OFFSET |RES|M| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. IPv6ExtHdrFragment
nh
59
res1
BitField
(8 bits)0
offset
BitField
(13 bits)0
res2
BitField
(2 bits)0
m
BitField
(1 bit)0
id
None
- class scapy.layers.inet6.IPv6ExtHdrHopByHop(_pkt, /, *, nh=59, len=None, autopad=1, options=[])[source]
Bases:
_IPv6ExtHdr
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NH | LEN | AUTOPAD | OPTIONS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. IPv6ExtHdrHopByHop
nh
59
len
None
autopad
_PhantomAutoPadField
1
options
_OptionsField
[]
- class scapy.layers.inet6.IPv6ExtHdrRouting(_pkt, /, *, nh=59, len=None, type=0, segleft=None, reserved=0, addresses=[])[source]
Bases:
_IPv6ExtHdr
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NH | LEN | TYPE | SEGLEFT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADDRESSES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. IPv6ExtHdrRouting
nh
59
len
None
type
0
segleft
None
reserved
BitField
(32 bits)0
addresses
[]
- class scapy.layers.inet6.IPv6ExtHdrSegmentRouting(_pkt, /, *, nh=59, len=None, type=4, segleft=None, lastentry=None, unused1=0, protected=0, oam=0, alert=0, hmac=0, unused2=0, tag=0, addresses=['::1'], tlv_objects=[])[source]
Bases:
_IPv6ExtHdr
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NH | LEN | TYPE | SEGLEFT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LASTENTRY |U|P|O|A|H|UNUSE| TAG | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADDRESSES | TLV OBJECTS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. IPv6ExtHdrSegmentRouting
nh
59
len
None
type
4
segleft
None
lastentry
None
unused1
BitField
(1 bit)0
protected
BitField
(1 bit)0
oam
BitField
(1 bit)0
alert
BitField
(1 bit)0
hmac
BitField
(1 bit)0
unused2
BitField
(3 bits)0
tag
0
addresses
['::1']
tlv_objects
[]
- class scapy.layers.inet6.IPv6ExtHdrSegmentRoutingTLV(_pkt, /, *, type=None, len=0, value=b'')[source]
Bases:
Packet
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. IPv6ExtHdrSegmentRoutingTLV
type
None
len
0
value
b''
- registered_sr_tlv = {None: <class 'scapy.layers.inet6.IPv6ExtHdrSegmentRoutingTLV'>, 1: <class 'scapy.layers.inet6.IPv6ExtHdrSegmentRoutingTLVIngressNode'>, 2: <class 'scapy.layers.inet6.IPv6ExtHdrSegmentRoutingTLVEgressNode'>, 0: <class 'scapy.layers.inet6.IPv6ExtHdrSegmentRoutingTLVPad1'>, 4: <class 'scapy.layers.inet6.IPv6ExtHdrSegmentRoutingTLVPadN'>, 5: <class 'scapy.layers.inet6.IPv6ExtHdrSegmentRoutingTLVHMAC'>}
- class scapy.layers.inet6.IPv6ExtHdrSegmentRoutingTLVEgressNode(_pkt, /, *, type=2, len=18, reserved=0, flags=0, egress_node='::1')[source]
Bases:
IPv6ExtHdrSegmentRoutingTLV
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | RESERVED | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EGRESS NODE | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. IPv6ExtHdrSegmentRoutingTLVEgressNode
type
2
len
18
reserved
0
flags
0
egress_node
'::1'
- class scapy.layers.inet6.IPv6ExtHdrSegmentRoutingTLVHMAC(_pkt, /, *, type=5, len=None, D=0, reserved=0, hmackeyid=0, hmac=b'')[source]
Bases:
IPv6ExtHdrSegmentRoutingTLV
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN |D| RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | HMACKEYID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | HMAC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. IPv6ExtHdrSegmentRoutingTLVHMAC
type
5
len
None
D
BitField
(1 bit)0
reserved
BitField
(15 bits)0
hmackeyid
0
hmac
b''
- class scapy.layers.inet6.IPv6ExtHdrSegmentRoutingTLVIngressNode(_pkt, /, *, type=1, len=18, reserved=0, flags=0, ingress_node='::1')[source]
Bases:
IPv6ExtHdrSegmentRoutingTLV
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | RESERVED | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | INGRESS NODE | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. IPv6ExtHdrSegmentRoutingTLVIngressNode
type
1
len
18
reserved
0
flags
0
ingress_node
'::1'
- class scapy.layers.inet6.IPv6ExtHdrSegmentRoutingTLVPad1(_pkt, /, *, type=0, len=None, padding=b'\x00')[source]
Bases:
IPv6ExtHdrSegmentRoutingTLV
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | PADDING | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. IPv6ExtHdrSegmentRoutingTLVPad1
type
0
len
None
padding
b'\x00'
- class scapy.layers.inet6.IPv6ExtHdrSegmentRoutingTLVPadN(_pkt, /, *, type=4, len=None, padding=b'\x00')[source]
Bases:
IPv6ExtHdrSegmentRoutingTLV
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | PADDING | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. IPv6ExtHdrSegmentRoutingTLVPadN
type
4
len
None
padding
b'\x00'
- class scapy.layers.inet6.Jumbo(_pkt, /, *, otype=194, optlen=4, jumboplen=None)[source]
Bases:
Packet
- 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 | JUMBOPLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. Jumbo
otype
_OTypeField
194
optlen
4
jumboplen
None
- class scapy.layers.inet6.L3RawSocket6(type=34525, filter=None, iface=None, promisc=None, nofilter=0)[source]
Bases:
L3RawSocket
- class scapy.layers.inet6.LifetimeField(name: str, default: Optional[int])[source]
Bases:
ShortField
- class scapy.layers.inet6.MIP6MH_BA(_pkt, /, *, nh=59, len=None, mhtype=6, res=None, cksum=None, status=0, flags=<Flag 4 (K)>, res2=None, seq=None, mhtime=0, autopad=1, options=[])[source]
Bases:
_MobilityHeader
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NH | LEN | MHTYPE | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CKSUM | STATUS |FLAGS| RES2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SEQ | MHTIME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AUTOPAD | OPTIONS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MIP6MH_BA
nh
59
len
None
mhtype
6
res
None
cksum
None
status
0
flags
<Flag 4 (K)>
res2
XBitField
(5 bits)None
seq
None
mhtime
0
autopad
_PhantomAutoPadField
1
options
_OptionsField
[]
- class scapy.layers.inet6.MIP6MH_BE(_pkt, /, *, nh=59, len=None, mhtype=7, res=0, cksum=None, status=0, reserved=0, ha='::', options=[])[source]
Bases:
_MobilityHeader
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NH | LEN | MHTYPE | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CKSUM | STATUS | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HA | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OPTIONS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MIP6MH_BE
nh
59
len
None
mhtype
7
res
0
cksum
None
status
0
reserved
0
ha
'::'
options
_OptionsField
[]
- class scapy.layers.inet6.MIP6MH_BRR(_pkt, /, *, nh=59, len=None, mhtype=0, res=None, cksum=None, res2=None, autopad=1, options=[])[source]
Bases:
_MobilityHeader
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NH | LEN | MHTYPE | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CKSUM | RES2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AUTOPAD | OPTIONS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MIP6MH_BRR
nh
59
len
None
mhtype
0
res
None
cksum
None
res2
None
autopad
_PhantomAutoPadField
1
options
_OptionsField
[]
- class scapy.layers.inet6.MIP6MH_BU(_pkt, /, *, nh=59, len=None, mhtype=5, res=None, cksum=None, seq=None, flags=<Flag 104 (KHA)>, reserved=0, mhtime=3, autopad=1, options=[])[source]
Bases:
_MobilityHeader
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NH | LEN | MHTYPE | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CKSUM | SEQ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FLAGS | RESERVED | MHTIME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AUTOPAD | OPTIONS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MIP6MH_BU
nh
59
len
None
mhtype
5
res
None
cksum
None
seq
None
flags
<Flag 104 (KHA)>
reserved
XBitField
(9 bits)0
mhtime
3
autopad
_PhantomAutoPadField
1
options
_OptionsField
[]
- class scapy.layers.inet6.MIP6MH_CoT(_pkt, /, *, nh=59, len=None, mhtype=4, res=None, cksum=None, index=None, cookie=b'\x00\x00\x00\x00\x00\x00\x00\x00', token=b'\x00\x00\x00\x00\x00\x00\x00\x00', autopad=1, options=[])[source]
Bases:
MIP6MH_HoT
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NH | LEN | MHTYPE | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CKSUM | INDEX | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | COOKIE | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TOKEN | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AUTOPAD | OPTIONS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MIP6MH_CoT
nh
59
len
None
mhtype
4
res
None
cksum
None
index
None
cookie
b'\x00\x00\x00\x00\x00\x00\x00\x00'
token
b'\x00\x00\x00\x00\x00\x00\x00\x00'
autopad
_PhantomAutoPadField
1
options
_OptionsField
[]
- class scapy.layers.inet6.MIP6MH_CoTI(_pkt, /, *, nh=59, len=None, mhtype=2, res=None, cksum=None, reserved=b'\x00\x00', cookie=b'\x00\x00\x00\x00\x00\x00\x00\x00', autopad=1, options=[])[source]
Bases:
MIP6MH_HoTI
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NH | LEN | MHTYPE | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CKSUM | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | COOKIE | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AUTOPAD | OPTIONS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MIP6MH_CoTI
nh
59
len
None
mhtype
2
res
None
cksum
None
reserved
b'\x00\x00'
cookie
b'\x00\x00\x00\x00\x00\x00\x00\x00'
autopad
_PhantomAutoPadField
1
options
_OptionsField
[]
- class scapy.layers.inet6.MIP6MH_Generic(_pkt, /, *, nh=59, len=None, mhtype=None, res=None, cksum=None, msg=b'\x00\x00')[source]
Bases:
_MobilityHeader
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NH | LEN | MHTYPE | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CKSUM | MSG | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MIP6MH_Generic
nh
59
len
None
mhtype
None
res
None
cksum
None
msg
b'\x00\x00'
- class scapy.layers.inet6.MIP6MH_HoT(_pkt, /, *, nh=59, len=None, mhtype=3, res=None, cksum=None, index=None, cookie=b'\x00\x00\x00\x00\x00\x00\x00\x00', token=b'\x00\x00\x00\x00\x00\x00\x00\x00', autopad=1, options=[])[source]
Bases:
_MobilityHeader
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NH | LEN | MHTYPE | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CKSUM | INDEX | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | COOKIE | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TOKEN | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AUTOPAD | OPTIONS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MIP6MH_HoT
nh
59
len
None
mhtype
3
res
None
cksum
None
index
None
cookie
b'\x00\x00\x00\x00\x00\x00\x00\x00'
token
b'\x00\x00\x00\x00\x00\x00\x00\x00'
autopad
_PhantomAutoPadField
1
options
_OptionsField
[]
- class scapy.layers.inet6.MIP6MH_HoTI(_pkt, /, *, nh=59, len=None, mhtype=1, res=None, cksum=None, reserved=b'\x00\x00', cookie=b'\x00\x00\x00\x00\x00\x00\x00\x00', autopad=1, options=[])[source]
Bases:
_MobilityHeader
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NH | LEN | MHTYPE | RES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CKSUM | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | COOKIE | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AUTOPAD | OPTIONS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MIP6MH_HoTI
nh
59
len
None
mhtype
1
res
None
cksum
None
reserved
b'\x00\x00'
cookie
b'\x00\x00\x00\x00\x00\x00\x00\x00'
autopad
_PhantomAutoPadField
1
options
_OptionsField
[]
- class scapy.layers.inet6.MIP6OptAltCoA(_pkt, /, *, otype=3, olen=16, acoa='::')[source]
Bases:
_MIP6OptAlign
- 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 | OLEN | ACOA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + | | + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MIP6OptAltCoA
otype
3
olen
16
acoa
'::'
- x = 8
- y = 6
- class scapy.layers.inet6.MIP6OptBRAdvice(_pkt, /, *, otype=2, olen=2, rinter=0)[source]
Bases:
_MIP6OptAlign
- 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 | OLEN | RINTER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MIP6OptBRAdvice
otype
2
olen
2
rinter
0
- x = 2
- y = 0
- class scapy.layers.inet6.MIP6OptBindingAuthData(_pkt, /, *, otype=5, olen=16, authenticator=0)[source]
Bases:
_MIP6OptAlign
- 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 | OLEN | AUTHENTICATOR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MIP6OptBindingAuthData
otype
5
olen
16
authenticator
BitField
(96 bits)0
- x = 8
- y = 2
- class scapy.layers.inet6.MIP6OptCGAParams(_pkt, /, *, otype=12, olen=None, cgaparams=b'')[source]
Bases:
_MIP6OptAlign
- 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 | OLEN | CGAPARAMS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MIP6OptCGAParams
otype
12
olen
None
cgaparams
b''
- x = 0
- y = 0
- class scapy.layers.inet6.MIP6OptCGAParamsReq(_pkt, /, *, otype=11, olen=0)[source]
Bases:
_MIP6OptAlign
- 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 | OLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MIP6OptCGAParamsReq
otype
11
olen
0
- x = 0
- y = 0
- class scapy.layers.inet6.MIP6OptCareOfTest(_pkt, /, *, otype=16, olen=None, cokt=b'\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
_MIP6OptAlign
- 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 | OLEN | COKT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MIP6OptCareOfTest
otype
16
olen
None
cokt
b'\x00\x00\x00\x00\x00\x00\x00\x00'
- x = 0
- y = 0
- class scapy.layers.inet6.MIP6OptCareOfTestInit(_pkt, /, *, otype=15, olen=0)[source]
Bases:
_MIP6OptAlign
- 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 | OLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MIP6OptCareOfTestInit
otype
15
olen
0
- x = 0
- y = 0
- class scapy.layers.inet6.MIP6OptHomeKeygenToken(_pkt, /, *, otype=14, olen=None, hkt=b'')[source]
Bases:
_MIP6OptAlign
- 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 | OLEN | HKT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MIP6OptHomeKeygenToken
otype
14
olen
None
hkt
b''
- x = 0
- y = 0
- class scapy.layers.inet6.MIP6OptLLAddr(_pkt, /, *, otype=7, olen=7, ocode=2, pad=0, lla='00:00:00:00:00:00')[source]
Bases:
_MIP6OptAlign
- 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 | OLEN | OCODE | PAD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LLA | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MIP6OptLLAddr
otype
7
olen
7
ocode
2
pad
0
lla
'00:00:00:00:00:00'
- x = 0
- y = 0
- class scapy.layers.inet6.MIP6OptMNID(_pkt, /, *, otype=8, olen=None, subtype=1, id=b'')[source]
Bases:
_MIP6OptAlign
- 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 | OLEN | SUBTYPE | ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. MIP6OptMNID
otype
8
olen
None
subtype
1
id
b''
- x = 0
- y = 0
- class scapy.layers.inet6.MIP6OptMobNetPrefix(_pkt, /, *, otype=6, olen=18, reserved=0, plen=64, prefix='::')[source]
Bases:
_MIP6OptAlign
- 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 | OLEN | RESERVED | PLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PREFIX | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MIP6OptMobNetPrefix
otype
6
olen
18
reserved
0
plen
64
prefix
'::'
- x = 8
- y = 4
- class scapy.layers.inet6.MIP6OptMsgAuth(_pkt, /, *, otype=9, olen=None, subtype=1, mspi=None, authdata=b'AAAAAAAAAAAA')[source]
Bases:
_MIP6OptAlign
- 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 | OLEN | SUBTYPE | MSPI | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | AUTHDATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. MIP6OptMsgAuth
otype
9
olen
None
subtype
1
mspi
None
authdata
b'AAAAAAAAAAAA'
- x = 4
- y = 1
- class scapy.layers.inet6.MIP6OptNonceIndices(_pkt, /, *, otype=4, olen=16, hni=0, coni=0)[source]
Bases:
_MIP6OptAlign
- 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 | OLEN | HNI | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CONI | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MIP6OptNonceIndices
otype
4
olen
16
hni
0
coni
0
- x = 2
- y = 0
- class scapy.layers.inet6.MIP6OptReplayProtection(_pkt, /, *, otype=10, olen=8, timestamp=0)[source]
Bases:
_MIP6OptAlign
- 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 | OLEN | TIMESTAMP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MIP6OptReplayProtection
otype
10
olen
8
timestamp
0
- x = 8
- y = 2
- class scapy.layers.inet6.MIP6OptSignature(_pkt, /, *, otype=13, olen=None, sig=b'')[source]
Bases:
_MIP6OptAlign
- 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 | OLEN | SIG | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MIP6OptSignature
otype
13
olen
None
sig
b''
- x = 0
- y = 0
- class scapy.layers.inet6.MIP6OptUnknown(_pkt, /, *, otype=6, olen=None, odata=b'')[source]
Bases:
_MIP6OptAlign
- 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 | OLEN | ODATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MIP6OptUnknown
otype
6
olen
None
odata
b''
- x = 0
- y = 0
- scapy.layers.inet6.NDP_Attack_DAD_DoS_via_NA(iface=None, mac_src_filter=None, tgt_filter=None, reply_mac=None)[source]
Perform the DAD DoS attack using NS described in section 4.1.3 of RFC 3756. This is done by listening incoming NS messages sent from the unspecified address and sending a NA reply for the target address, leading the peer to believe that another node is also performing DAD for that address.
- By default, the fake NA sent to create the DoS uses:
as target address the target address found in received NS.
as IPv6 source address: the target address found in received NS.
as IPv6 destination address: the link-local solicited-node multicast address derived from the target address in received NS.
the mac address of the interface as source (or reply_mac, see below).
the multicast mac address derived from the solicited node multicast address used as IPv6 destination address.
A Target Link-Layer address option (ICMPv6NDOptDstLLAddr) filled with the mac address used as source of the NA.
Following arguments can be used to change the behavior:
- iface: a specific interface (e.g. “eth0”) of the system on which the
DoS should be launched. If None is provided conf.iface is used.
- mac_src_filter: a mac address (e.g “00:13:72:8c:b5:69”) to filter on.
Only NS messages received from this source will trigger replies. This allows limiting the effects of the DoS to a single target by filtering on its mac address. The default value is None: the DoS is not limited to a specific mac address.
- tgt_filter: Same as previous but for a specific target IPv6 address for
received NS. If the target address in the NS message (not the IPv6 destination address) matches that address, then a fake reply will be sent, i.e. the emitter will be a target of the DoS.
- reply_mac: allow specifying a specific source mac address for the reply,
i.e. to prevent the use of the mac address of the interface. This address will also be used in the Target Link-Layer Address option.
- scapy.layers.inet6.NDP_Attack_DAD_DoS_via_NS(iface=None, mac_src_filter=None, tgt_filter=None, reply_mac=None)[source]
Perform the DAD DoS attack using NS described in section 4.1.3 of RFC 3756. This is done by listening incoming NS messages sent from the unspecified address and sending a NS reply for the target address, leading the peer to believe that another node is also performing DAD for that address.
- By default, the fake NS sent to create the DoS uses:
as target address the target address found in received NS.
as IPv6 source address: the unspecified address (::).
as IPv6 destination address: the link-local solicited-node multicast address derived from the target address in received NS.
the mac address of the interface as source (or reply_mac, see below).
the multicast mac address derived from the solicited node multicast address used as IPv6 destination address.
Following arguments can be used to change the behavior:
- iface: a specific interface (e.g. “eth0”) of the system on which the
DoS should be launched. If None is provided conf.iface is used.
- mac_src_filter: a mac address (e.g “00:13:72:8c:b5:69”) to filter on.
Only NS messages received from this source will trigger replies. This allows limiting the effects of the DoS to a single target by filtering on its mac address. The default value is None: the DoS is not limited to a specific mac address.
- tgt_filter: Same as previous but for a specific target IPv6 address for
received NS. If the target address in the NS message (not the IPv6 destination address) matches that address, then a fake reply will be sent, i.e. the emitter will be a target of the DoS.
- reply_mac: allow specifying a specific source mac address for the reply,
i.e. to prevent the use of the mac address of the interface.
- scapy.layers.inet6.NDP_Attack_Fake_Router(ra, iface=None, mac_src_filter=None, ip_src_filter=None)[source]
The purpose of this function is to send provided RA message at layer 2 (i.e. providing a packet starting with IPv6 will not work) in response to received RS messages. In the end, the function is a simple wrapper around sendp() that monitor the link for RS messages.
It is probably better explained with an example:
>>> ra = Ether()/IPv6()/ICMPv6ND_RA() >>> ra /= ICMPv6NDOptPrefixInfo(prefix="2001:db8:1::", prefixlen=64) >>> ra /= ICMPv6NDOptPrefixInfo(prefix="2001:db8:2::", prefixlen=64) >>> ra /= ICMPv6NDOptSrcLLAddr(lladdr="00:11:22:33:44:55") >>> NDP_Attack_Fake_Router(ra, iface="eth0") Fake RA sent in response to RS from fe80::213:58ff:fe8c:b573 Fake RA sent in response to RS from fe80::213:72ff:fe8c:b9ae ...
Following arguments can be used to change the behavior:
ra: the RA message to send in response to received RS message.
- iface: a specific interface (e.g. “eth0”) of the system on which the
DoS should be launched. If none is provided, conf.iface is used.
- mac_src_filter: a mac address (e.g “00:13:72:8c:b5:69”) to filter on.
Only RS messages received from this source will trigger a reply. Note that no changes to provided RA is done which imply that if you intend to target only the source of the RS using this option, you will have to set the Ethernet destination address to the same value in your RA. The default value for this parameter is None: no filtering on the source of RS is done.
- ip_src_filter: an IPv6 address (e.g. fe80::21e:bff:fe4e:3b2) to filter
on. Only RS messages received from this source address will trigger replies. Same comment as for previous argument apply: if you use the option, you will probably want to set a specific Ethernet destination address in the RA.
- scapy.layers.inet6.NDP_Attack_Kill_Default_Router(iface=None, mac_src_filter=None, ip_src_filter=None, reply_mac=None, tgt_mac=None)[source]
The purpose of the function is to monitor incoming RA messages sent by default routers (RA with a non-zero Router Lifetime values) and invalidate them by immediately replying with fake RA messages advertising a zero Router Lifetime value.
The result on receivers is that the router is immediately invalidated, i.e. the associated entry is discarded from the default router list and destination cache is updated to reflect the change.
By default, the function considers all RA messages with a non-zero Router Lifetime value but provides configuration knobs to allow filtering RA sent by specific routers (Ethernet source address). With regard to emission, the multicast all-nodes address is used by default but a specific target can be used, in order for the DoS to apply only to a specific host.
More precisely, following arguments can be used to change the behavior:
- iface: a specific interface (e.g. “eth0”) of the system on which the
DoS should be launched. If None is provided conf.iface is used.
- mac_src_filter: a mac address (e.g “00:13:72:8c:b5:69”) to filter on.
Only RA messages received from this source will trigger replies. If other default routers advertised their presence on the link, their clients will not be impacted by the attack. The default value is None: the DoS is not limited to a specific mac address.
- ip_src_filter: an IPv6 address (e.g. fe80::21e:bff:fe4e:3b2) to filter
on. Only RA messages received from this source address will trigger replies. If other default routers advertised their presence on the link, their clients will not be impacted by the attack. The default value is None: the DoS is not limited to a specific IPv6 source address.
- reply_mac: allow specifying a specific source mac address for the reply,
i.e. to prevent the use of the mac address of the interface.
- tgt_mac: allow limiting the effect of the DoS to a specific host,
by sending the “invalidating RA” only to its mac address.
- scapy.layers.inet6.NDP_Attack_NA_Spoofing(iface=None, mac_src_filter=None, tgt_filter=None, reply_mac=None, router=False)[source]
The main purpose of this function is to send fake Neighbor Advertisement messages to a victim. As the emission of unsolicited Neighbor Advertisement is pretty pointless (from an attacker standpoint) because it will not lead to a modification of a victim’s neighbor cache, the function send advertisements in response to received NS (NS sent as part of the DAD, i.e. with an unspecified address as source, are not considered).
- By default, the fake NA sent to create the DoS uses:
as target address the target address found in received NS.
as IPv6 source address: the target address
as IPv6 destination address: the source IPv6 address of received NS message.
the mac address of the interface as source (or reply_mac, see below).
the source mac address of the received NS as destination macs address of the emitted NA.
A Target Link-Layer address option (ICMPv6NDOptDstLLAddr) filled with the mac address used as source of the NA.
Following arguments can be used to change the behavior:
- iface: a specific interface (e.g. “eth0”) of the system on which the
DoS should be launched. If None is provided conf.iface is used.
- mac_src_filter: a mac address (e.g “00:13:72:8c:b5:69”) to filter on.
Only NS messages received from this source will trigger replies. This allows limiting the effects of the DoS to a single target by filtering on its mac address. The default value is None: the DoS is not limited to a specific mac address.
- tgt_filter: Same as previous but for a specific target IPv6 address for
received NS. If the target address in the NS message (not the IPv6 destination address) matches that address, then a fake reply will be sent, i.e. the emitter will be a target of the DoS.
- reply_mac: allow specifying a specific source mac address for the reply,
i.e. to prevent the use of the mac address of the interface. This address will also be used in the Target Link-Layer Address option.
- router: by the default (False) the ‘R’ flag in the NA used for the reply
is not set. If the parameter is set to True, the ‘R’ flag in the NA is set, advertising us as a router.
Please, keep the following in mind when using the function: for obvious reasons (kernel space vs. Python speed), when the target of the address resolution is on the link, the sender of the NS receives 2 NA messages in a row, the valid one and our fake one. The second one will overwrite the information provided by the first one, i.e. the natural latency of Scapy helps here.
In practice, on a common Ethernet link, the emission of the NA from the genuine target (kernel stack) usually occurs in the same millisecond as the receipt of the NS. The NA generated by Scapy6 will usually come after something 20+ ms. On a usual testbed for instance, this difference is sufficient to have the first data packet sent from the victim to the destination before it even receives our fake NA.
- scapy.layers.inet6.NDP_Attack_NS_Spoofing(src_lladdr=None, src=None, target='2001:db8::1', dst=None, src_mac=None, dst_mac=None, loop=True, inter=1, iface=None)[source]
The main purpose of this function is to send fake Neighbor Solicitations messages to a victim, in order to either create a new entry in its neighbor cache or update an existing one. In section 7.2.3 of RFC 4861, it is stated that a node SHOULD create the entry or update an existing one (if it is not currently performing DAD for the target of the NS). The entry’s reachability # noqa: E501 state is set to STALE.
The two main parameters of the function are the source link-layer address (carried by the Source Link-Layer Address option in the NS) and the source address of the packet.
Unlike some other NDP_Attack_* function, this one is not based on a stimulus/response model. When called, it sends the same NS packet in loop every second (the default)
Following arguments can be used to change the format of the packets:
- src_lladdr: the MAC address used in the Source Link-Layer Address option
included in the NS packet. This is the address that the peer should associate in its neighbor cache with the IPv6 source address of the packet. If None is provided, the mac address of the interface is used.
- src: the IPv6 address used as source of the packet. If None is provided,
an address associated with the emitting interface will be used (based on the destination address of the packet).
- target: the target address of the NS packet. If no value is provided,
a dummy address (2001:db8::1) is used. The value of the target has a direct impact on the destination address of the packet if it is not overridden. By default, the solicited-node multicast address associated with the target is used as destination address of the packet. Consider specifying a specific destination address if you intend to use a target address different than the one of the victim.
- dst: The destination address of the NS. By default, the solicited node
multicast address associated with the target address (see previous parameter) is used if no specific value is provided. The victim is not expected to check the destination address of the packet, so using a multicast address like ff02::1 should work if you want the attack to target all hosts on the link. On the contrary, if you want to be more stealth, you should provide the target address for this parameter in order for the packet to be sent only to the victim.
- src_mac: the MAC address used as source of the packet. By default, this
is the address of the interface. If you want to be more stealth, feel free to use something else. Note that this address is not the that the victim will use to populate its neighbor cache.
- dst_mac: The MAC address used as destination address of the packet. If
the IPv6 destination address is multicast (all-nodes, solicited node, …), it will be computed. If the destination address is unicast, a neighbor solicitation will be performed to get the associated address. If you want the attack to be stealth, you can provide the MAC address using this parameter.
- loop: By default, this parameter is True, indicating that NS packets
will be sent in loop, separated by ‘inter’ seconds (see below). When set to False, a single packet is sent.
- inter: When loop parameter is True (the default), this parameter provides
the interval in seconds used for sending NS packets.
iface: to force the sending interface.
- class scapy.layers.inet6.NIQueryCodeField(name: str, default: Optional[int], enum: Dict[int, str])[source]
Bases:
ByteEnumField
- class scapy.layers.inet6.NIReplyDataField(name: str, default: Optional[I], fmt: str = 'H', remain: int = 0)[source]
Bases:
StrField
- class scapy.layers.inet6.NonceField(name, default=None)[source]
Bases:
StrFixedLenField
- class scapy.layers.inet6.PadN(_pkt, /, *, otype=1, optlen=None, optdata=b'')[source]
Bases:
Packet
- 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. PadN
otype
_OTypeField
1
optlen
None
optdata
b''
- class scapy.layers.inet6.PseudoIPv6(_pkt, /, *, src='::', dst='::', uplen=None, zero=0, nh=0)[source]
Bases:
Packet
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SRC | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DST | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | UPLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ZERO | NH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. PseudoIPv6
src
'::'
dst
'::'
uplen
None
zero
BitField
(24 bits)0
nh
0
- class scapy.layers.inet6.RouterAlert(_pkt, /, *, otype=5, optlen=2, value=None)[source]
Bases:
Packet
- 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 | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. RouterAlert
otype
_OTypeField
5
optlen
2
value
None
- class scapy.layers.inet6.TracerouteResult6(res=None, name='Traceroute', stats=None)[source]
Bases:
TracerouteResult
- class scapy.layers.inet6.TruncPktLenField(name, default, cls, cur_shift, length_from=None, shift=0)[source]
Bases:
PacketLenField
- cur_shift
- scapy.layers.inet6.computeNIGroupAddr(name)[source]
Compute the NI group Address. Can take a FQDN as input parameter
- scapy.layers.inet6.defragment6(packets)[source]
Performs defragmentation of a list of IPv6 packets. Packets are reordered. Crap is dropped. What lacks is completed by ‘X’ characters.
- scapy.layers.inet6.dnsrepr2names(x)[source]
Take as input a DNS encoded string (possibly compressed) and returns a list of DNS names contained in it. If provided string is already in printable format (does not end with a null character, a one element list is returned). Result is a list.
- scapy.layers.inet6.fragment6(pkt, fragSize)[source]
Performs fragmentation of an IPv6 packet. ‘fragSize’ argument is the expected maximum size of fragment data (MTU). The list of packets is returned.
If packet does not contain an IPv6ExtHdrFragment class, it is added to first IPv6 layer found. If no IPv6 layer exists packet is returned in result list unmodified.
- scapy.layers.inet6.getmacbyip6(ip6, chainCC=0)[source]
Returns the MAC address corresponding to an IPv6 address
neighborCache.get() method is used on instantiated neighbor cache. Resolution mechanism is described in associated doc string.
- (chainCC parameter value ends up being passed to sending function
used to perform the resolution, if needed)
- scapy.layers.inet6.in6_chksum(nh, u, p)[source]
As Specified in RFC 2460 - 8.1 Upper-Layer Checksums
See also .in6_pseudoheader
- Parameters
nh – value of upper layer protocol
u – upper layer instance (TCP, UDP, ICMPv6*, ). Instance must be provided with all under layers (IPv6 and all extension headers, for example)
p – the payload of the upper layer provided as a string
- scapy.layers.inet6.in6_pseudoheader(nh: int, u: IP, plen: int) PseudoIPv6 [source]
Build an PseudoIPv6 instance as specified in RFC 2460 8.1
This function operates by filling a pseudo header class instance (PseudoIPv6) with: - Next Header value - the address of _final_ destination (if some Routing Header with non segleft field is present in underlayer classes, last address is used.) - the address of _real_ source (basically the source address of an IPv6 class instance available in the underlayer or the source address in HAO option if some Destination Option header found in underlayer includes this option). - the length is the length of provided payload string (‘p’)
- Parameters
nh – value of upper layer protocol
u – upper layer instance (TCP, UDP, ICMPv6*, ). Instance must be provided with all under layers (IPv6 and all extension headers, for example)
plen – the length of the upper layer and payload
- scapy.layers.inet6.names2dnsrepr(x)[source]
Take as input a list of DNS names or a single DNS name and encode it in DNS format (with possible compression) If a string that is already a DNS name in DNS format is passed, it is returned unmodified. Result is a string. !!! At the moment, compression is not implemented !!!
- scapy.layers.inet6.neighsol(addr, src, iface, timeout=1, chainCC=0)[source]
Sends and receive an ICMPv6 Neighbor Solicitation message
This function sends an ICMPv6 Neighbor Solicitation message to get the MAC address of the neighbor with specified IPv6 address address.
‘src’ address is used as source of the message. Message is sent on iface. By default, timeout waiting for an answer is 1 second.
If no answer is gathered, None is returned. Else, the answer is returned (ethernet frame).