scapy.layers.zigbee

ZigBee bindings for IEEE 802.15.4.

class scapy.layers.zigbee.LinkStatusEntry(_pkt, /, *, neighbor_network_address=0, reserved1=0, outgoing_cost=0, reserved2=0, incoming_cost=0)[source]

Bases: scapy.packet.Packet

aliastypes
extract_padding(p)[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    NEIGHBOR NETWORK ADDRESS   |R|OUTGO|R|INCOM|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. LinkStatusEntry                       
LinkStatusEntry fields

neighbor_network_address

XLEShortField

0

reserved1

BitField (1 bit)

0

outgoing_cost

BitField (3 bits)

0

reserved2

BitField (1 bit)

0

incoming_cost

BitField (3 bits)

0

class scapy.layers.zigbee.ZCLAttributeReport(_pkt, /, *, attribute_identifier=0, attribute_data_type=0, attribute_data=b'')[source]

Bases: scapy.packet.Packet

aliastypes
extract_padding(s)[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      ATTRIBUTE IDENTIFIER     |ATTRIBUTE DATA | ATTRIBUTE DATA|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                     Fig. ZCLAttributeReport                      
ZCLAttributeReport fields

attribute_identifier

XLEShortField

0

attribute_data_type

ByteEnumField

0

attribute_data

_DiscreteString

b''

class scapy.layers.zigbee.ZCLConfigureReportingRecord(_pkt, /, *, attribute_direction=0, attribute_identifier=0, attribute_data_type=0, min_reporting_interval=0, max_reporting_interval=0, reportable_change=b'', timeout_period=0)[source]

Bases: scapy.packet.Packet

aliastypes
extract_padding(s)[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|ATTRIBUTE DIREC|      ATTRIBUTE IDENTIFIER     |ATTRIBUTE DATA |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     MIN REPORTING INTERVAL    |     MAX REPORTING INTERVAL    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       REPORTABLE CHANGE       |         TIMEOUT PERIOD        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                 Fig. ZCLConfigureReportingRecord                 
ZCLConfigureReportingRecord fields

attribute_direction

ByteField

0

attribute_identifier

XLEShortField

0

attribute_data_type

ByteEnumField (Cond)

0

min_reporting_interval

XLEShortField (Cond)

0

max_reporting_interval

XLEShortField (Cond)

0

reportable_change

_DiscreteString (Cond)

b''

timeout_period

XLEShortField (Cond)

0

class scapy.layers.zigbee.ZCLConfigureReportingResponseRecord(_pkt, /, *, status=0, attribute_direction=0, attribute_identifier=0)[source]

Bases: scapy.packet.Packet

aliastypes
extract_padding(s)[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     STATUS    |ATTRIBUTE DIREC|      ATTRIBUTE IDENTIFIER     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             Fig. ZCLConfigureReportingResponseRecord             
ZCLConfigureReportingResponseRecord fields

status

ByteEnumField

0

attribute_direction

ByteField (Cond)

0

attribute_identifier

XLEShortField (Cond)

0

class scapy.layers.zigbee.ZCLGeneralConfigureReporting(_pkt, /, *, config_records=[])[source]

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         CONFIG RECORDS        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Fig. ZCLGeneralConfigureReporting                 
ZCLGeneralConfigureReporting fields

config_records

PacketListField

[]

class scapy.layers.zigbee.ZCLGeneralConfigureReportingResponse(_pkt, /, *, status_records=[])[source]

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         STATUS RECORDS        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Fig. ZCLGeneralConfigureReportingResponse             
ZCLGeneralConfigureReportingResponse fields

status_records

PacketListField

[]

class scapy.layers.zigbee.ZCLGeneralDefaultResponse(_pkt, /, *, response_command_identifier=0, status=0)[source]

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|RESPONSE COMMAN|     STATUS    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Fig. ZCLGeneralDefaultResponse                  
ZCLGeneralDefaultResponse fields

response_command_identifier

ByteField

0

status

ByteEnumField

0

class scapy.layers.zigbee.ZCLGeneralReadAttributes(_pkt, /, *, attribute_identifiers=[])[source]

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     ATTRIBUTE IDENTIFIERS     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Fig. ZCLGeneralReadAttributes                   
ZCLGeneralReadAttributes fields

attribute_identifiers

FieldListField

[]

class scapy.layers.zigbee.ZCLGeneralReadAttributesResponse(_pkt, /, *, read_attribute_status_record=[])[source]

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  READ ATTRIBUTE STATUS RECORD |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Fig. ZCLGeneralReadAttributesResponse               
ZCLGeneralReadAttributesResponse fields

read_attribute_status_record

PacketListField

[]

class scapy.layers.zigbee.ZCLGeneralReportAttributes(_pkt, /, *, attribute_reports=[])[source]

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       ATTRIBUTE REPORTS       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                 Fig. ZCLGeneralReportAttributes                  
ZCLGeneralReportAttributes fields

attribute_reports

PacketListField

[]

class scapy.layers.zigbee.ZCLGeneralWriteAttributes(_pkt, /, *, write_records=[])[source]

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         WRITE RECORDS         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Fig. ZCLGeneralWriteAttributes                  
ZCLGeneralWriteAttributes fields

write_records

PacketListField

[]

class scapy.layers.zigbee.ZCLGeneralWriteAttributesResponse(_pkt, /, *, status_records=[])[source]

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         STATUS RECORDS        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Fig. ZCLGeneralWriteAttributesResponse              
ZCLGeneralWriteAttributesResponse fields

status_records

PacketListField

[]

class scapy.layers.zigbee.ZCLIASZoneZoneEnrollRequest(_pkt, /, *, zone_type=0, manuf_code=0)[source]

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           ZONE TYPE           |           MANUF CODE          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                 Fig. ZCLIASZoneZoneEnrollRequest                 
ZCLIASZoneZoneEnrollRequest fields

zone_type

EnumField

0

manuf_code

XLEShortField

0

class scapy.layers.zigbee.ZCLIASZoneZoneEnrollResponse(_pkt, /, *, rsp_code=0, zone_id=0)[source]

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    RSP CODE   |    ZONE ID    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Fig. ZCLIASZoneZoneEnrollResponse                 
ZCLIASZoneZoneEnrollResponse fields

rsp_code

ByteEnumField

0

zone_id

ByteField

0

class scapy.layers.zigbee.ZCLIASZoneZoneStatusChangeNotification(_pkt, /, *, zone_status=b'\x00\x00', extended_status=b'\x00', zone_id=0, delay=0)[source]

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          ZONE STATUS          |        EXTENDED STATUS        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    ZONE ID    |             DELAY             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

           Fig. ZCLIASZoneZoneStatusChangeNotification            
ZCLIASZoneZoneStatusChangeNotification fields

zone_status

StrFixedLenField

b'\x00\x00'

extended_status

StrFixedLenField

b'\x00'

zone_id

ByteField

0

delay

XLEShortField

0

class scapy.layers.zigbee.ZCLMeteringGetProfile(_pkt, /, *, Interval_Channel=0, End_Time=0, NumberOfPeriods=1)[source]

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|INTERVAL CHANNE|                    END TIME                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |NUMBEROFPERIODS|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    Fig. ZCLMeteringGetProfile                    
ZCLMeteringGetProfile fields

Interval_Channel

ByteField

0

End_Time

XLEIntField

0

NumberOfPeriods

ByteField

1

class scapy.layers.zigbee.ZCLPriceGetCurrentPrice(_pkt, /, *, reserved=0, Requestor_Rx_On_When_Idle=0)[source]

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   RESERVED  |R|
+-+-+-+-+-+-+-+-+

                   Fig. ZCLPriceGetCurrentPrice                   
ZCLPriceGetCurrentPrice fields

reserved

BitField (7 bits)

0

Requestor_Rx_On_When_Idle

BitField (1 bit)

0

class scapy.layers.zigbee.ZCLPriceGetScheduledPrices(_pkt, /, *, start_time=0, number_of_events=0)[source]

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           START TIME                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|NUMBER OF EVENT|
+-+-+-+-+-+-+-+-+

                 Fig. ZCLPriceGetScheduledPrices                  
ZCLPriceGetScheduledPrices fields

start_time

XLEIntField

0

number_of_events

ByteField

0

class scapy.layers.zigbee.ZCLPricePublishPrice(_pkt, /, *, provider_id=0, rate_label=b'', issuer_event_id=0, current_time=0, unit_of_measure=0, currency=0, price_trailing_digit=0, number_of_price_tiers=0, start_time=0, duration_in_minutes=0, price=0, price_ratio=0, generation_price=0, generation_price_ratio=0, alternate_cost_delivered=0, alternate_cost_unit=0, alternate_cost_trailing_digit=0, number_of_block_thresholds=0, price_control=0)[source]

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          PROVIDER ID                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           RATE LABEL          |        ISSUER EVENT ID        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |          CURRENT TIME         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |UNIT OF MEASURE|    CURRENCY   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |PRICE TRAILING |NUMBER OF PRICE|   START TIME  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|                                               |DURATION IN MIN|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |                     PRICE                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |  PRICE RATIO  |        GENERATION PRICE       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |GENERATION PRIC|ALTERNATE COST |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|                                               |ALTERNATE COST |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|ALTERNATE COST |NUMBER OF BLOCK| PRICE CONTROL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    Fig. ZCLPricePublishPrice                     
ZCLPricePublishPrice fields

provider_id

XLEIntField

0

rate_label

StrLenField

b''

issuer_event_id

XLEIntField

0

current_time

XLEIntField

0

unit_of_measure

ByteField

0

currency

XLEShortField

0

price_trailing_digit

ByteField

0

number_of_price_tiers

ByteField

0

start_time

XLEIntField

0

duration_in_minutes

XLEShortField

0

price

XLEIntField

0

price_ratio

ByteField

0

generation_price

XLEIntField

0

generation_price_ratio

ByteField

0

alternate_cost_delivered

XLEIntField

0

alternate_cost_unit

ByteField

0

alternate_cost_trailing_digit

ByteField

0

number_of_block_thresholds

ByteField

0

price_control

ByteField

0

class scapy.layers.zigbee.ZCLReadAttributeStatusRecord(_pkt, /, *, attribute_identifier=0, status=0, attribute_data_type=0, attribute_value=b'')[source]

Bases: scapy.packet.Packet

aliastypes
extract_padding(s)[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      ATTRIBUTE IDENTIFIER     |     STATUS    |ATTRIBUTE DATA |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        ATTRIBUTE VALUE        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Fig. ZCLReadAttributeStatusRecord                 
ZCLReadAttributeStatusRecord fields

attribute_identifier

XLEShortField

0

status

ByteEnumField

0

attribute_data_type

ByteEnumField (Cond)

0

attribute_value

_DiscreteString (Cond)

b''

class scapy.layers.zigbee.ZCLWriteAttributeRecord(_pkt, /, *, attribute_identifier=0, attribute_data_type=0, attribute_data=b'')[source]

Bases: scapy.packet.Packet

aliastypes
extract_padding(s)[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      ATTRIBUTE IDENTIFIER     |ATTRIBUTE DATA | ATTRIBUTE DATA|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                   Fig. ZCLWriteAttributeRecord                   
ZCLWriteAttributeRecord fields

attribute_identifier

XLEShortField

0

attribute_data_type

ByteEnumField

0

attribute_data

_DiscreteString

b''

class scapy.layers.zigbee.ZCLWriteAttributeStatusRecord(_pkt, /, *, status=0, attribute_identifier=0)[source]

Bases: scapy.packet.Packet

aliastypes
extract_padding(s)[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     STATUS    |      ATTRIBUTE IDENTIFIER     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Fig. ZCLWriteAttributeStatusRecord                
ZCLWriteAttributeStatusRecord fields

status

ByteEnumField

0

attribute_identifier

XLEShortField (Cond)

0

class scapy.layers.zigbee.ZDPActiveEPReq(_pkt, /, *, nwk_addr=0)[source]

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            NWK ADDR           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. ZDPActiveEPReq                        
ZDPActiveEPReq fields

nwk_addr

XLEShortField

0

class scapy.layers.zigbee.ZDPDeviceAnnce(_pkt, /, *, nwk_addr=0, ieee_addr=0, 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)[source]

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            NWK ADDR           |           IEEE ADDR           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|A|S|R|R|R|P|D|A|
+-+-+-+-+-+-+-+-+

                       Fig. ZDPDeviceAnnce                        
ZDPDeviceAnnce fields

nwk_addr

XLEShortField

0

ieee_addr

dot15d4AddressField

0

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

class scapy.layers.zigbee.ZEP1(_pkt, /, *, preamble=b'EX', ver=0, channel=0, device=0, lqi_mode=0, lqi_val=0, res=0, len=0)[source]

Bases: scapy.layers.zigbee.ZEP2

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            PREAMBLE           |      VER      |    CHANNEL    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             DEVICE            |    LQI MODE   |    LQI VAL    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              RES                              |
+                                               +-+-+-+-+-+-+-+-+
|                                               |      LEN      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                            Fig. ZEP1                             
ZEP1 fields

preamble

StrFixedLenField

b'EX'

ver

ByteField

0

channel

ByteField

0

device

ShortField

0

lqi_mode

ByteField

0

lqi_val

ByteField

0

res

BitField (56 bits)

0

len

ByteField

0

class scapy.layers.zigbee.ZEP2(_pkt, /, *, preamble=b'EX', ver=0, type=0, channel=0, device=0, lqi_mode=1, lqi_val=0, timestamp=0, seq=0, res=0, length=0)[source]

Bases: scapy.packet.Packet

aliastypes
classmethod dispatch_hook(_pkt=b'', *args, **kargs)[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            PREAMBLE           |      VER      |      TYPE     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    CHANNEL    |             DEVICE            |    LQI MODE   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    LQI VAL    |                   TIMESTAMP                   |
+-+-+-+-+-+-+-+-+                                               +
|                                                               |
+               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |                      SEQ                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |                      RES                      |
+-+-+-+-+-+-+-+-+                                               +
|                                                               |
+                                               +-+-+-+-+-+-+-+-+
|                                               |     LENGTH    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                            Fig. ZEP2                             
ZEP2 fields

preamble

StrFixedLenField

b'EX'

ver

ByteField

0

type

ByteField

0

channel

ByteField

0

device

ShortField

0

lqi_mode

ByteField

1

lqi_val

ByteField

0

timestamp

TimeStampField (64 bits)

0

seq

IntField

0

res

BitField (80 bits)

0

length

ByteField

0

guess_payload_class(payload)[source]
class scapy.layers.zigbee.ZigBeeBeacon(_pkt, /, *, proto_id=0, nwkc_protocol_version=0, stack_profile=0, end_device_capacity=0, device_depth=0, router_capacity=0, reserved=0, extended_pan_id=0, tx_offset=0, update_id=0)[source]

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    PROTO ID   |NWKC PR|STACK P|E|DEVICE |R|RES|EXTENDED PAN ID|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |                   TX OFFSET                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   UPDATE ID   |
+-+-+-+-+-+-+-+-+

                        Fig. ZigBeeBeacon                         
ZigBeeBeacon fields

proto_id

ByteField

0

nwkc_protocol_version

BitField (4 bits)

0

stack_profile

BitField (4 bits)

0

end_device_capacity

BitField (1 bit)

0

device_depth

BitField (4 bits)

0

router_capacity

BitField (1 bit)

0

reserved

BitField (2 bits)

0

extended_pan_id

dot15d4AddressField

0

tx_offset

BitField (24 bits)

0

update_id

ByteField

0

class scapy.layers.zigbee.ZigbeeAppCommandPayload(_pkt, /, *, cmd_identifier=1, initiator=0, responder=0, data=0, status=0, key_type=0, address=0, key=None, key_seqnum=0, dest_addr=0, src_addr=0, partner_addr=0, initiator_flag=0, short_address=0, update_status=0, seqnum=None, unimplemented=b'', frame_control=<Flag 2 (security)>, delivery_mode=0, aps_frametype=1, counter=0, key_hash=None)[source]

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| CMD IDENTIFIER|           INITIATOR           |   RESPONDER   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |              DATA             |     STATUS    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    KEY TYPE   |            ADDRESS            |      KEY      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |   KEY SEQNUM  |           DEST ADDR           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            SRC ADDR           |          PARTNER ADDR         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| INITIATOR FLAG|         SHORT ADDRESS         | UPDATE STATUS |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             SEQNUM            |         UNIMPLEMENTED         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|FRAME C|DEL|APS|    COUNTER    |            KEY HASH           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Fig. ZigbeeAppCommandPayload                   
ZigbeeAppCommandPayload fields

cmd_identifier

ByteEnumField

1

initiator

dot15d4AddressField (Cond)

0

responder

dot15d4AddressField (Cond)

0

data

StrFixedLenField (Cond)

0

status

ByteEnumField (Cond)

0

key_type

ByteEnumField (Cond)

0

address

dot15d4AddressField (Cond)

0

key

StrFixedLenField (Cond)

None

key_seqnum

ByteField (Cond)

0

dest_addr

dot15d4AddressField (Cond)

0

src_addr

dot15d4AddressField (Cond)

0

partner_addr

dot15d4AddressField (Cond)

0

initiator_flag

ByteField (Cond)

0

short_address

XLEShortField (Cond)

0

update_status

ByteField (Cond)

0

seqnum

StrFixedLenField (Cond)

None

unimplemented

StrField (Cond)

b''

frame_control

FlagsField (Cond)

<Flag 2 (security)>

delivery_mode

BitEnumField (Cond)

0

aps_frametype

BitEnumField (Cond)

1

counter

ByteField (Cond)

0

key_hash

StrFixedLenField (Cond)

None

guess_payload_class(payload)[source]
class scapy.layers.zigbee.ZigbeeAppDataPayload(_pkt, /, *, frame_control=<Flag 2 (security)>, delivery_mode=0, aps_frametype=0, dst_endpoint=10, group_addr=0, cluster=0, profile=0, src_endpoint=10, counter=0, fragmentation=0, block_number=0, ack_bitfield=0)[source]

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|FRAME C|DEL|APS|  DST ENDPOINT |           GROUP ADDR          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            CLUSTER            |            PROFILE            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  SRC ENDPOINT |    COUNTER    | FRAGMENTATION |  BLOCK NUMBER |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  ACK BITFIELD |
+-+-+-+-+-+-+-+-+

                    Fig. ZigbeeAppDataPayload                     
ZigbeeAppDataPayload fields

frame_control

FlagsField

<Flag 2 (security)>

delivery_mode

BitEnumField

0

aps_frametype

BitEnumField

0

dst_endpoint

ByteField (Cond)

10

group_addr

XLEShortField (Cond)

0

cluster

XLEShortField (Cond)

0

profile

EnumField (Cond)

0

src_endpoint

ByteField (Cond)

10

counter

ByteField

0

fragmentation

ByteEnumField (Cond)

0

block_number

ByteField (Cond)

0

ack_bitfield

ByteField (Cond)

0

guess_payload_class(payload)[source]
payload_guess

Possible sublayers: ZigbeeAppCommandPayload

class scapy.layers.zigbee.ZigbeeAppDataPayloadStub(_pkt, /, *, frame_control=<Flag 0 ()>, delivery_mode=0, frametype=3, group_addr=0, cluster=0, profile=0, data=b'')[source]

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|FRAME C|DEL|FRA|           GROUP ADDR          |    CLUSTER    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |            PROFILE            |      DATA     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                  Fig. ZigbeeAppDataPayloadStub                   
ZigbeeAppDataPayloadStub fields

frame_control

FlagsField

<Flag 0 ()>

delivery_mode

BitEnumField

0

frametype

BitField (2 bits)

3

group_addr

XLEShortField (Cond)

0

cluster

XLEShortField

0

profile

EnumField

0

data

StrField (Cond)

b''

class scapy.layers.zigbee.ZigbeeClusterLibrary(_pkt, /, *, reserved=0, disable_default_response=0, command_direction=0, manufacturer_specific=0, zcl_frametype=0, manufacturer_code=0, transaction_sequence=0, command_identifier=0)[source]

Bases: scapy.packet.Packet

aliastypes
deprecated_fields = {'direction': ('command_direction', '2.5.0')}
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|RESER|D|C|M|ZCL|       MANUFACTURER CODE       |TRANSACTION SEQ|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|COMMAND IDENTIF|
+-+-+-+-+-+-+-+-+

                    Fig. ZigbeeClusterLibrary                     
ZigbeeClusterLibrary fields

reserved

BitField (3 bits)

0

disable_default_response

BitField (1 bit)

0

command_direction

BitField (1 bit)

0

manufacturer_specific

BitField (1 bit)

0

zcl_frametype

BitEnumField

0

manufacturer_code

XLEShortField (Cond)

0

transaction_sequence

ByteField

0

command_identifier

ByteEnumField

0

guess_payload_class(payload)[source]
payload_guess

Possible sublayers: ZCLGeneralConfigureReportingResponse, ZCLGeneralConfigureReporting, ZCLGeneralDefaultResponse, ZCLGeneralReadAttributesResponse, ZCLGeneralReadAttributes, ZCLGeneralReportAttributes, ZCLGeneralWriteAttributesResponse, ZCLGeneralWriteAttributes

class scapy.layers.zigbee.ZigbeeDeviceProfile(_pkt, /, *, trans_seqnum=0)[source]

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  TRANS SEQNUM |
+-+-+-+-+-+-+-+-+

                     Fig. ZigbeeDeviceProfile                     
ZigbeeDeviceProfile fields

trans_seqnum

ByteField

0

guess_payload_class(payload)[source]
class scapy.layers.zigbee.ZigbeeNWK(_pkt, /, *, discover_route=0, proto_version=2, frametype=0, flags=<Flag 0 ()>, destination=0, source=0, radius=0, seqnum=1, ext_dst=0, ext_src=0, relay_count=1, relay_index=0, relays=[])[source]

Bases: scapy.packet.Packet

aliastypes
classmethod dispatch_hook(_pkt=None, *args, **kargs)[source]
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|DIS|PROTO V|FRA|     FLAGS     |          DESTINATION          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             SOURCE            |     RADIUS    |     SEQNUM    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            EXT DST            |            EXT SRC            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  RELAY COUNT  |  RELAY INDEX  |             RELAYS            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. ZigbeeNWK                          
ZigbeeNWK fields

discover_route

BitField (2 bits)

0

proto_version

BitField (4 bits)

2

frametype

BitEnumField

0

flags

FlagsField

<Flag 0 ()>

destination

XLEShortField

0

source

XLEShortField

0

radius

ByteField

0

seqnum

ByteField

1

ext_dst

dot15d4AddressField (Cond)

0

ext_src

dot15d4AddressField (Cond)

0

relay_count

ByteField (Cond)

1

relay_index

ByteField (Cond)

0

relays

FieldListField (Cond)

[]

guess_payload_class(payload)[source]
class scapy.layers.zigbee.ZigbeeNWKCommandPayload(_pkt, /, *, cmd_identifier=1, res1=0, multicast=0, dest_addr_bit=0, many_to_one=0, res2=0, responder_addr_bit=0, originator_addr_bit=0, res3=0, route_request_identifier=0, originator_address=0, responder_address=0, status_code=0, destination_address=0, path_cost=0, ext_dst=0, originator_addr=0, responder_addr=0, remove_children=0, request=0, rejoin=0, res4=0, rr_relay_count=0, rr_relay_list=[], 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, network_address=65535, rejoin_status=0, res5=0, last_frame=0, first_frame=0, entry_count=0, link_status_list=[], report_command_identifier=0, report_information_count=0, update_command_identifier=0, update_information_count=0, epid=0, PAN_ID_conflict_report=[], update_id=0, new_PAN_ID=0, req_timeout=3, ed_conf=0, status=0, res6=0, ed_timeout_req_keepalive=0, mac_data_poll_keepalive=0)[source]

Bases: scapy.packet.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| CMD IDENTIFIER|R|M|D|MAN| RES2|R|O|  RES3 |ROUTE REQUEST I|ORI|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           |       RESPONDER ADDRESS       |STA|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           |      DESTINATION ADDRESS      |   PATH COST   |EXT|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           |        ORIGINATOR ADDR        |RES|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           |R|R|R|   RES4  | RR RELAY COUNT|RR |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           |A|S|R|R|R|P|D|A|  NETWORK ADDRESS  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           | REJOIN STATUS |R|L|F|ENTRY COU|  LINK STATUS LIST |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           |REPOR|REPORT IN|UPDAT|UPDATE IN|        EPID       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           |     PAN ID CONFLICT REPORT    |   UPDATE ID   |NEW|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           |  REQ TIMEOUT  |    ED CONF    |STA|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           |    RES6   |E|M|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Fig. ZigbeeNWKCommandPayload                   
ZigbeeNWKCommandPayload fields

cmd_identifier

ByteEnumField

1

res1

BitField (Cond) (1 bit)

0

multicast

BitField (Cond) (1 bit)

0

dest_addr_bit

BitField (Cond) (1 bit)

0

many_to_one

BitEnumField (Cond)

0

res2

BitField (Cond) (3 bits)

0

responder_addr_bit

BitField (Cond) (1 bit)

0

originator_addr_bit

BitField (Cond) (1 bit)

0

res3

BitField (Cond) (4 bits)

0

route_request_identifier

ByteField (Cond)

0

originator_address

XLEShortField (Cond)

0

responder_address

XLEShortField (Cond)

0

status_code

ByteEnumField (Cond)

0

destination_address

XLEShortField (Cond)

0

path_cost

ByteField (Cond)

0

ext_dst

dot15d4AddressField (Cond)

0

originator_addr

dot15d4AddressField (Cond)

0

responder_addr

dot15d4AddressField (Cond)

0

remove_children

BitField (Cond) (1 bit)

0

request

BitField (Cond) (1 bit)

0

rejoin

BitField (Cond) (1 bit)

0

res4

BitField (Cond) (5 bits)

0

rr_relay_count

ByteField (Cond)

0

rr_relay_list

FieldListField (Cond)

[]

allocate_address

BitField (Cond) (1 bit)

0

security_capability

BitField (Cond) (1 bit)

0

reserved2

BitField (Cond) (1 bit)

0

reserved1

BitField (Cond) (1 bit)

0

receiver_on_when_idle

BitField (Cond) (1 bit)

0

power_source

BitField (Cond) (1 bit)

0

device_type

BitField (Cond) (1 bit)

0

alternate_pan_coordinator

BitField (Cond) (1 bit)

0

network_address

XLEShortField (Cond)

65535

rejoin_status

ByteField (Cond)

0

res5

BitField (Cond) (1 bit)

0

last_frame

BitField (Cond) (1 bit)

0

first_frame

BitField (Cond) (1 bit)

0

entry_count

BitField (Cond) (5 bits)

0

link_status_list

PacketListField (Cond)

[]

report_command_identifier

BitEnumField (Cond)

0

report_information_count

BitField (Cond) (5 bits)

0

update_command_identifier

BitEnumField (Cond)

0

update_information_count

BitField (Cond) (5 bits)

0

epid

dot15d4AddressField (Cond)

0

PAN_ID_conflict_report

FieldListField (Cond)

[]

update_id

ByteField (Cond)

0

new_PAN_ID

XLEShortField (Cond)

0

req_timeout

ByteEnumField (Cond)

3

ed_conf

ByteField (Cond)

0

status

ByteEnumField (Cond)

0

res6

BitField (Cond) (6 bits)

0

ed_timeout_req_keepalive

BitField (Cond) (1 bit)

0

mac_data_poll_keepalive

BitField (Cond) (1 bit)

0

class scapy.layers.zigbee.ZigbeeNWKStub(_pkt, /, *, res1=0, proto_version=2, frametype=3, res2=0)[source]

Bases: scapy.packet.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|PROTO V|FRA|      RES2     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. ZigbeeNWKStub                        
ZigbeeNWKStub fields

res1

BitField (2 bits)

0

proto_version

BitField (4 bits)

2

frametype

BitField (2 bits)

3

res2

BitField (8 bits)

0

guess_payload_class(payload)[source]
class scapy.layers.zigbee.ZigbeeSecurityHeader(_pkt, /, *, reserved1=<Flag 0 ()>, extended_nonce=1, key_type=1, nwk_seclevel=0, fc=0, source=0, key_seqnum=0, data=b'', mic=b'')[source]

Bases: scapy.packet.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|E|KEY|NWK S|                       FC                      |
+-+-+-+-+-+-+   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |             SOURCE            |   KEY SEQNUM  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              DATA             |              MIC              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    Fig. ZigbeeSecurityHeader                     
ZigbeeSecurityHeader fields

reserved1

FlagsField

<Flag 0 ()>

extended_nonce

BitField (1 bit)

1

key_type

BitEnumField

1

nwk_seclevel

BitEnumField

0

fc

XLEIntField

0

source

dot15d4AddressField (Cond)

0

key_seqnum

ByteField (Cond)

0

data

StrField

b''

mic

XStrField

b''

post_dissect(s)[source]
scapy.layers.zigbee.util_mic_len(pkt)[source]

Calculate the length of the attribute value field