scapy.layers.dot15d4

Wireless MAC according to IEEE 802.15.4.

class scapy.layers.dot15d4.Dot15d4(_pkt, /, *, fcf_reserved_1=0, fcf_panidcompress=0, fcf_ackreq=0, fcf_pending=0, fcf_security=0, fcf_frametype=0, fcf_srcaddrmode=0, fcf_framever=0, fcf_destaddrmode=2, fcf_reserved_2=0, seqnum=1)[源代码]

基类:Packet

aliastypes
answers(other)[源代码]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|F|F|F|F|F|FCF F|FCF|FCF|FCF|FCF|     SEQNUM    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                           Fig. Dot15d4                           
Dot15d4 fields

fcf_reserved_1

BitField (1 bit)

0

fcf_panidcompress

BitEnumField

0

fcf_ackreq

BitEnumField

0

fcf_pending

BitEnumField

0

fcf_security

BitEnumField

0

fcf_frametype

BitEnumField

0

fcf_srcaddrmode

BitEnumField

0

fcf_framever

BitField (2 bits)

0

fcf_destaddrmode

BitEnumField

2

fcf_reserved_2

BitField (2 bits)

0

seqnum

ByteField

1

guess_payload_class(payload)[源代码]
mysummary()[源代码]
payload_guess

Possible sublayers: Dot15d4Ack, Dot15d4Beacon, Dot15d4Cmd, Dot15d4Data

post_build(p, pay)[源代码]
class scapy.layers.dot15d4.Dot15d4Ack(_pkt, /)[源代码]

基类:Packet

aliastypes
fields_desc
class scapy.layers.dot15d4.Dot15d4AuxSecurityHeader(_pkt, /, *, sec_sc_reserved=0, sec_sc_keyidmode=0, sec_sc_seclevel=0, sec_framecounter=0, sec_keyid_keysource=None, sec_keyid_keyindex=255)[源代码]

基类: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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|SEC S|SEC|SEC S|                SEC FRAMECOUNTER               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |SEC KEYID KEYSOURC|SEC KEYID KEYIN|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Fig. Dot15d4AuxSecurityHeader                   
Dot15d4AuxSecurityHeader fields

sec_sc_reserved

BitField (3 bits)

0

sec_sc_keyidmode

BitEnumField

0

sec_sc_seclevel

BitEnumField

0

sec_framecounter

XLEIntField

0

sec_keyid_keysource

MultipleTypeField (XLEIntField, LELongField, StrFixedLenField)

b''

sec_keyid_keyindex

XByteField (Cond)

255

class scapy.layers.dot15d4.Dot15d4Beacon(_pkt, /, *, src_panid=0, src_addr=None, aux_sec_header=<Dot15d4AuxSecurityHeader  |>, sf_sforder=15, sf_beaconorder=15, sf_assocpermit=0, sf_pancoord=0, sf_reserved=0, sf_battlifeextend=0, sf_finalcapslot=15, gts_spec_permit=1, gts_spec_reserved=0, gts_spec_desccount=0, gts_dir_reserved=0, gts_dir_mask=0, pa_reserved_1=0, pa_num_long=0, pa_reserved_2=0, pa_num_short=0, pa_short_addresses=[], pa_long_addresses=[])[源代码]

基类: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 PANID           |            SRC ADDR           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         AUX SEC HEADER        |SF SFOR|SF BEAC|S|S|S|S|SF FINA|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|G|GTS SPE|GTS S|G| GTS DIR MASK|P|PA NU|P|PA NU|PA SHORT ADDRES|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |       PA LONG ADDRESSES       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. Dot15d4Beacon                        
Dot15d4Beacon fields

src_panid

XLEShortField

0

src_addr

dot15d4AddressField

None

aux_sec_header

PacketField (Cond)

<Dot15d4AuxSecurityHeader  |>

sf_sforder

BitField (4 bits)

15

sf_beaconorder

BitField (4 bits)

15

sf_assocpermit

BitEnumField

0

sf_pancoord

BitEnumField

0

sf_reserved

BitField (1 bit)

0

sf_battlifeextend

BitEnumField

0

sf_finalcapslot

BitField (4 bits)

15

gts_spec_permit

BitEnumField

1

gts_spec_reserved

BitField (4 bits)

0

gts_spec_desccount

BitField (3 bits)

0

gts_dir_reserved

BitField (Cond) (1 bit)

0

gts_dir_mask

BitField (Cond) (7 bits)

0

pa_reserved_1

BitField (1 bit)

0

pa_num_long

BitField (3 bits)

0

pa_reserved_2

BitField (1 bit)

0

pa_num_short

BitField (3 bits)

0

pa_short_addresses

FieldListField

[]

pa_long_addresses

FieldListField

[]

mysummary()[源代码]
payload_guess

Possible sublayers: ZigBeeBeacon

class scapy.layers.dot15d4.Dot15d4Cmd(_pkt, /, *, dest_panid=65535, dest_addr=0, src_panid=0, src_addr=None, aux_sec_header=<Dot15d4AuxSecurityHeader  |>, cmd_id=0)[源代码]

基类: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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           DEST PANID          |           DEST ADDR           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           SRC PANID           |            SRC ADDR           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         AUX SEC HEADER        |     CMD ID    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. Dot15d4Cmd                          
Dot15d4Cmd fields

dest_panid

XLEShortField

65535

dest_addr

dot15d4AddressField

0

src_panid

XLEShortField (Cond)

0

src_addr

dot15d4AddressField (Cond)

None

aux_sec_header

PacketField (Cond)

<Dot15d4AuxSecurityHeader  |>

cmd_id

ByteEnumField

0

guess_payload_class(payload)[源代码]
mysummary()[源代码]
class scapy.layers.dot15d4.Dot15d4CmdAssocReq(_pkt, /, *, allocate_address=0, security_capability=0, reserved2=0, reserved1=0, receiver_on_when_idle=0, power_source=0, device_type=0, alternate_pan_coordinator=0)[源代码]

基类: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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|A|S|R|R|R|P|D|A|
+-+-+-+-+-+-+-+-+

                     Fig. Dot15d4CmdAssocReq                      
Dot15d4CmdAssocReq fields

allocate_address

BitField (1 bit)

0

security_capability

BitField (1 bit)

0

reserved2

BitField (1 bit)

0

reserved1

BitField (1 bit)

0

receiver_on_when_idle

BitField (1 bit)

0

power_source

BitField (1 bit)

0

device_type

BitField (1 bit)

0

alternate_pan_coordinator

BitField (1 bit)

0

mysummary()[源代码]
class scapy.layers.dot15d4.Dot15d4CmdAssocResp(_pkt, /, *, short_address=65535, association_status=0)[源代码]

基类: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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         SHORT ADDRESS         |ASSOCIATION STA|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Fig. Dot15d4CmdAssocResp                     
Dot15d4CmdAssocResp fields

short_address

XLEShortField

65535

association_status

ByteEnumField

0

mysummary()[源代码]
class scapy.layers.dot15d4.Dot15d4CmdCoordRealign(_pkt, /, *, panid=65535, coord_address=0, channel=0, dev_address=65535)[源代码]

基类: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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             PANID             |         COORD ADDRESS         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    CHANNEL    |          DEV ADDRESS          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Fig. Dot15d4CmdCoordRealign                    
Dot15d4CmdCoordRealign fields

panid

XLEShortField

65535

coord_address

XLEShortField

0

channel

ByteField

0

dev_address

XLEShortField

65535

guess_payload_class(payload)[源代码]
mysummary()[源代码]
class scapy.layers.dot15d4.Dot15d4CmdCoordRealignPage(_pkt, /, *, channel_page=0)[源代码]

基类: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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  CHANNEL PAGE |
+-+-+-+-+-+-+-+-+

                 Fig. Dot15d4CmdCoordRealignPage                  
Dot15d4CmdCoordRealignPage fields

channel_page

ByteField

0

class scapy.layers.dot15d4.Dot15d4CmdDisassociation(_pkt, /, *, disassociation_reason=2)[源代码]

基类: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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|DISASSOCIATION |
+-+-+-+-+-+-+-+-+

                  Fig. Dot15d4CmdDisassociation                   
Dot15d4CmdDisassociation fields

disassociation_reason

ByteEnumField

2

mysummary()[源代码]
class scapy.layers.dot15d4.Dot15d4CmdGTSReq(_pkt, /, *, reserved=0, charact_type=0, gts_dir=0, gts_len=0)[源代码]

基类: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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|RES|C|G|GTS LEN|
+-+-+-+-+-+-+-+-+

                      Fig. Dot15d4CmdGTSReq                       
Dot15d4CmdGTSReq fields

reserved

BitField (2 bits)

0

charact_type

BitField (1 bit)

0

gts_dir

BitField (1 bit)

0

gts_len

BitField (4 bits)

0

mysummary()[源代码]
class scapy.layers.dot15d4.Dot15d4Data(_pkt, /, *, dest_panid=65535, dest_addr=65535, src_panid=0, src_addr=None, aux_sec_header=<Dot15d4AuxSecurityHeader  |>)[源代码]

基类: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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           DEST PANID          |           DEST ADDR           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           SRC PANID           |            SRC ADDR           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         AUX SEC HEADER        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. Dot15d4Data                         
Dot15d4Data fields

dest_panid

XLEShortField

65535

dest_addr

dot15d4AddressField

65535

src_panid

XLEShortField (Cond)

0

src_addr

dot15d4AddressField (Cond)

None

aux_sec_header

PacketField (Cond)

<Dot15d4AuxSecurityHeader  |>

guess_payload_class(payload)[源代码]
mysummary()[源代码]
class scapy.layers.dot15d4.Dot15d4FCS(_pkt, /, *, fcf_reserved_1=0, fcf_panidcompress=0, fcf_ackreq=0, fcf_pending=0, fcf_security=0, fcf_frametype=0, fcf_srcaddrmode=0, fcf_framever=0, fcf_destaddrmode=2, fcf_reserved_2=0, seqnum=1, fcs=None)[源代码]

基类:Dot15d4

This class is a drop-in replacement for the Dot15d4 class above, except it expects a FCS/checksum in the input, and produces one in the output. This provides the user flexibility, as many 802.15.4 interfaces will have an AUTO_CRC setting # noqa: E501 that will validate the FCS/CRC in firmware, and add it automatically when transmitting. # noqa: E501

aliastypes
compute_fcs(data)[源代码]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|F|F|F|F|F|FCF F|FCF|FCF|FCF|FCF|     SEQNUM    |      FCS      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                         Fig. Dot15d4FCS                          
Dot15d4FCS fields

fcf_reserved_1

BitField (1 bit)

0

fcf_panidcompress

BitEnumField

0

fcf_ackreq

BitEnumField

0

fcf_pending

BitEnumField

0

fcf_security

BitEnumField

0

fcf_frametype

BitEnumField

0

fcf_srcaddrmode

BitEnumField

0

fcf_framever

BitField (2 bits)

0

fcf_destaddrmode

BitEnumField

2

fcf_reserved_2

BitField (2 bits)

0

seqnum

ByteField

1

fcs

FCSField

None

match_subclass = True
post_build(p, pay)[源代码]
class scapy.layers.dot15d4.dot15d4AddressField(name, default, length_of=None, fmt='<H', adjust=None)[源代码]

基类:Field

addfield(pkt, s, val)[源代码]

Add an internal value to a string

adjust
getfield(pkt, s)[源代码]
i2repr(pkt, x)[源代码]

Convert internal value to a nice representation

lengthFromAddrMode(pkt, x)[源代码]
length_of
scapy.layers.dot15d4.util_srcpanid_present(pkt)[源代码]

A source PAN ID is included if and only if both src addr mode != 0 and PAN ID Compression in FCF == 0