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 编号的地址向量。