scapy.contrib.macsec

MACsec的类和功能.

class scapy.contrib.macsec.MACsec(*args, **kargs)

Bases: scapy.packet.Packet

一个MACsec帧的表示

aliastypes
fields_desc
显示类似RFC的架构
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V|E|S|S|E|C| AN|RES|  SHORTLEN |               PN              |
+-+-+-+-+-+-+-+-+-+-+-+-+       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |              SCI              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              TYPE             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                           Fig. MACsec                            
MACsec字段

Ver

BitField (1位)

0

ES

BitField (1位)

0

SC

BitField (1位)

0

SCB

BitField (1位)

0

E

BitField (1位)

0

C

BitField (1位)

0

an

BitField (2位)

0

reserved

BitField (2位)

0

shortlen

BitField (6位)

0

pn

IntField

1

sci

PacketField (Cond)

None

type

XShortEnumField (Cond)

None

mysummary()
payload_guess

可能的子层: IPIPv6

class scapy.contrib.macsec.MACsecSA(sci, an, pn, key, icvlen, encrypt, send_sci, xpn_en=False, ssci=None, salt=None)

Bases: object

MACsec安全关联的表示形式

提供MACsec帧的封装,解封装,加密和解密

c_bit()

返回通过此SA发送的数据包的C位的值

decap(orig_pkt)

解封装MACsec帧

decrypt(orig_pkt, assoclen=None)

解密此安全关联的MACsec帧

e_bit()

返回通过此SA发送的数据包的E位的值

encap(pkt)

使用此安全关联封装框架

encrypt(orig_pkt, assoclen=None)

加密此安全关联的MACsec帧

make_iv(pkt)

为数据包生成IV

static shortlen(pkt)

确定shortlen的原始数据包(尚未封装)

static split_pkt(pkt, assoclen, icvlen=0)

将数据包拆分为关联的数据,明文或密文以及可选的ICV