IPv6¶
- class os_ken.lib.packet.ipv6.auth(nxt=6, size=2, spi=0, seq=0, data=b'\x00\x00\x00\x00')¶
IP 认证头 (RFC 2402) 编码器/解码器类。
与 os_ken.lib.packet.ipv6.ipv6 一起使用。
一个实例至少具有以下属性。其中大部分与网络传输中的对应项相同,但采用主机字节顺序。__init__ 按照此顺序接收相应的参数。
属性
描述
nxt
下一头部
size
认证头在 64 位字中的长度,减去 1。
spi
安全参数索引。
seq
序列号。
data
认证数据。
- class os_ken.lib.packet.ipv6.dst_opts(nxt=6, size=0, data=None)¶
IPv6 (RFC 2460) 目标头部编码器/解码器类。
与 os_ken.lib.packet.ipv6.ipv6 一起使用。
一个实例至少具有以下属性。其中大部分与网络传输中的对应项相同,但采用主机字节顺序。__init__ 按照此顺序接收相应的参数。
属性
描述
nxt
下一头部
size
目标头的长度,不包括前 8 个字节。
data
IPv6 选项。
- class os_ken.lib.packet.ipv6.fragment(nxt=6, offset=0, more=0, id_=0)¶
IPv6 (RFC 2460) 分片头部编码器/解码器类。
与 os_ken.lib.packet.ipv6.ipv6 一起使用。
一个实例至少具有以下属性。其中大部分与网络传输中的对应项相同,但采用主机字节顺序。__init__ 按照此顺序接收相应的参数。
属性
描述
nxt
下一头部
offset
相对于原始数据包可分片部分的开头的偏移量,以 8 字节为单位。
more
1 表示后面还有分片;0 表示最后一个分片。
id_
数据包标识值。
- class os_ken.lib.packet.ipv6.header(nxt)¶
扩展头部抽象类。
- class os_ken.lib.packet.ipv6.hop_opts(nxt=6, size=0, data=None)¶
IPv6 (RFC 2460) 逐跳选项头部编码器/解码器类。
与 os_ken.lib.packet.ipv6.ipv6 一起使用。
一个实例至少具有以下属性。其中大部分与网络传输中的对应项相同,但采用主机字节顺序。__init__ 按照此顺序接收相应的参数。
属性
描述
nxt
下一头部
size
逐跳选项头的长度,不包括前 8 个字节。
data
IPv6 选项。
- class os_ken.lib.packet.ipv6.ipv6(version=6, traffic_class=0, flow_label=0, payload_length=0, nxt=6, hop_limit=255, src='10::10', dst='20::20', ext_hdrs=None)¶
IPv6 (RFC 2460) 头部编码器/解码器类。
一个实例至少具有以下属性。其中大部分与线路上的对应项相同,但以主机字节顺序表示。IPv6 地址表示为类似于 'ff02::1' 的字符串。__init__ 按照此顺序接受相应的参数。
属性
描述
示例
版本
版本
traffic_class
流量类别
flow_label
解码时,流标签。编码时,流标签的最高有效 8 位。
payload_length
有效负载长度
nxt
下一头部
hop_limit
跃点限制
src
源地址
'ff02::1'
dst
目标地址
'::'
ext_hdrs
扩展头部
- classmethod parser(buf)¶
解码协议头。
此方法仅在解码数据包时使用。
在字节数组 buf 的偏移量 0 处解码协议头。返回以下三个对象:
一个描述解码后的头对象。
一个适当于数据包其余部分的 packet_base.PacketBase 子类。如果数据包的其余部分应被视为原始有效负载,则为 None。
数据包的其余部分。
- serialize(payload, prev)¶
编码协议头。
此方法仅在编码数据包时使用。
编码协议头。返回一个包含头的字节数组。
payload 是将立即跟随此头的其余数据包。
prev 是外部协议头的 packet_base.PacketBase 子类。如果当前头是外部头,则 prev 为 None。例如,对于 tcp.serialize,prev 是 ipv4 或 ipv6。
- class os_ken.lib.packet.ipv6.opt_header(nxt, size, data)¶
用于逐跳选项头部和目标头部的抽象类。
- class os_ken.lib.packet.ipv6.option(type_=0, len_=-1, data=None)¶
IPv6 (RFC 2460) 选项头部编码器/解码器类。
- 与 os_ken.lib.packet.ipv6.hop_opts 或
os_ken.lib.packet.ipv6.dst_opts 一起使用。
一个实例至少具有以下属性。其中大部分与网络传输中的对应项相同,但采用主机字节顺序。__init__ 按照此顺序接收相应的参数。
属性
描述
type_
选项类型。
len_
数据的长度。如果 type_ 为 0,则为 -1。
data
一个选项值。如果 len_ 为 0 或 -1,则为 None。
- class os_ken.lib.packet.ipv6.routing(nxt)¶
一个 IPv6 路由头部解码器类。此类仅具有解析器方法。
IPv6 路由头部类型。
http://www.iana.org/assignments/ipv6-parameters/ipv6-parameters.xhtml
值
描述
参考
0
源路由 (已弃用)
[[IPV6]][RFC5095]
1
Nimrod (2009-05-06 已弃用)
2
类型 2 路由头部
[RFC6275]
3
RPL 源路由头部
[RFC6554]
4 - 252
未分配
253
RFC3692 风格的实验 1 [2]
[RFC4727]
254
RFC3692 风格的实验 2 [2]
[RFC4727]
255
保留
- class os_ken.lib.packet.ipv6.routing_type3(nxt=6, size=0, type_=3, seg=0, cmpi=0, cmpe=0, adrs=None)¶
一个 IPv6 路由头部,用于具有 RPL (RFC 6554) 的源路由的编码器/解码器类。
与 os_ken.lib.packet.ipv6.ipv6 一起使用。
一个实例至少具有以下属性。其中大部分与网络传输中的对应项相同,但采用主机字节顺序。__init__ 按照此顺序接收相应的参数。
属性
描述
nxt
下一头部
size
路由头的长度,不包括前 8 个字节。(0 表示在编码时自动计算)
type
标识特定的路由头部变体。
seg
剩余的路由段数。
cmpi
从段 1 到 n-1 的前缀字节数。
cmpe
从段 n 的前缀字节数。
pad
SRH 结尾的地址 [n] 之后用于填充的字节数。
adrs
从 1 到 n 编号的地址向量。