scapy.layers.zigbee¶
ZigBee bindings for IEEE 802.15.4.
-
class
scapy.layers.zigbee.LinkStatusEntry(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
extract_padding(p)¶
-
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. LinkStatusEntryLinkStatusEntry fields¶ neighbor_network_address
0reserved1
BitField(1 bit)0outgoing_cost
BitField(3 bits)0reserved2
BitField(1 bit)0incoming_cost
BitField(3 bits)0
-
-
class
scapy.layers.zigbee.ZCLGeneralReadAttributes(*args, **kargs)¶ 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. ZCLGeneralReadAttributesZCLGeneralReadAttributes fields¶ attribute_identifiers
[]
-
-
class
scapy.layers.zigbee.ZCLGeneralReadAttributesResponse(*args, **kargs)¶ 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. ZCLGeneralReadAttributesResponseZCLGeneralReadAttributesResponse fields¶ read_attribute_status_record
[]
-
-
class
scapy.layers.zigbee.ZCLMeteringGetProfile(*args, **kargs)¶ 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. ZCLMeteringGetProfileZCLMeteringGetProfile fields¶ Interval_Channel
0End_Time
0NumberOfPeriods
1
-
-
class
scapy.layers.zigbee.ZCLPriceGetCurrentPrice(*args, **kargs)¶ 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. ZCLPriceGetCurrentPriceZCLPriceGetCurrentPrice fields¶ reserved
BitField(7 bits)0Requestor_Rx_On_When_Idle
BitField(1 bit)0
-
-
class
scapy.layers.zigbee.ZCLPriceGetScheduledPrices(*args, **kargs)¶ 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. ZCLPriceGetScheduledPricesZCLPriceGetScheduledPrices fields¶ start_time
0number_of_events
0
-
-
class
scapy.layers.zigbee.ZCLPricePublishPrice(*args, **kargs)¶ 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. ZCLPricePublishPriceZCLPricePublishPrice fields¶ provider_id
0rate_label
b''issuer_event_id
0current_time
0unit_of_measure
0currency
0price_trailing_digit
0number_of_price_tiers
0start_time
0duration_in_minutes
0price
0price_ratio
0generation_price
0generation_price_ratio
0alternate_cost_delivered
0alternate_cost_unit
0alternate_cost_trailing_digit
0number_of_block_thresholds
0price_control
0
-
-
class
scapy.layers.zigbee.ZCLReadAttributeStatusRecord(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
extract_padding(s)¶
-
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. ZCLReadAttributeStatusRecordZCLReadAttributeStatusRecord fields¶ attribute_identifier
0status
0attribute_data_type
ByteEnumField(Cond)0attribute_value
_DiscreteString(Cond)b''
-
-
class
scapy.layers.zigbee.ZEP1(*args, **kargs)¶ 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. ZEP1ZEP1 fields¶ preamble
b'EX'ver
0channel
0device
0lqi_mode
0lqi_val
0res
BitField(56 bits)0len
0
-
-
class
scapy.layers.zigbee.ZEP2(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
classmethod
dispatch_hook(_pkt=b'', *args, **kargs)¶
-
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. ZEP2ZEP2 fields¶ preamble
b'EX'ver
0type
0channel
0device
0lqi_mode
1lqi_val
0timestamp
TimeStampField(64 bits)0seq
0res
BitField(80 bits)0length
0
-
guess_payload_class(payload)¶
-
-
class
scapy.layers.zigbee.ZigBeeBeacon(*args, **kargs)¶ 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. ZigBeeBeaconZigBeeBeacon fields¶ proto_id
0nwkc_protocol_version
BitField(4 bits)0stack_profile
BitField(4 bits)0end_device_capacity
BitField(1 bit)0device_depth
BitField(4 bits)0router_capacity
BitField(1 bit)0reserved
BitField(2 bits)0extended_pan_id
0tx_offset
BitField(24 bits)0update_id
0
-
-
class
scapy.layers.zigbee.ZigbeeAppCommandPayload(*args, **kargs)¶ 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 | KEY TYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | KEY | KEY SEQNUM | DEST ADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | SRC ADDR | PARTNER ADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | INITIATOR FLAG| ADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SHORT ADDRESS | STATUS | ADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | KEY TYPE | PARTNER ADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SEQNUM | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DEST ADDR |FRAME C|DEL|APS| COUNTER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | KEY TYPE | ADDRESS | KEY HASH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | STATUS | KEY TYPE | ADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ZigbeeAppCommandPayloadZigbeeAppCommandPayload fields¶ cmd_identifier
1initiator
dot15d4AddressField(Cond)0responder
dot15d4AddressField(Cond)0data
StrFixedLenField(Cond)0key_type
ByteEnumField(Cond)0key
StrFixedLenField(Cond)Nonekey_seqnum
ByteField(Cond)0dest_addr
dot15d4AddressField(Cond)0src_addr
dot15d4AddressField(Cond)0partner_addr
dot15d4AddressField(Cond)0initiator_flag
ByteField(Cond)0address
dot15d4AddressField(Cond)0short_address
XLEShortField(Cond)0status
ByteField(Cond)0address
dot15d4AddressField(Cond)0key_type
ByteEnumField(Cond)0partner_addr
dot15d4AddressField(Cond)0seqnum
StrFixedLenField(Cond)Nonedata
StrField(Cond)b''dest_addr
dot15d4AddressField(Cond)0frame_control
FlagsField(Cond) (4 bits)<Flag 2 (security)>delivery_mode
BitEnumField(Cond) (2 bits)0aps_frametype
BitEnumField(Cond) (2 bits)1counter
ByteField(Cond)0key_type
ByteEnumField(Cond)0address
dot15d4AddressField(Cond)0key_hash
StrFixedLenField(Cond)Nonestatus
ByteEnumField(Cond)0key_type
ByteEnumField(Cond)0address
dot15d4AddressField(Cond)0
-
guess_payload_class(payload)¶
-
-
class
scapy.layers.zigbee.ZigbeeAppDataPayload(*args, **kargs)¶ 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. ZigbeeAppDataPayloadZigbeeAppDataPayload fields¶ frame_control
FlagsField(4 bits)<Flag 2 (security)>delivery_mode
BitEnumField(2 bits)0aps_frametype
BitEnumField(2 bits)0dst_endpoint
ByteField(Cond)10group_addr
XLEShortField(Cond)0cluster
EnumField(Cond)0profile
EnumField(Cond)0src_endpoint
ByteField(Cond)10counter
0fragmentation
ByteEnumField(Cond)0block_number
ByteField(Cond)0ack_bitfield
ByteField(Cond)0
-
guess_payload_class(payload)¶
-
payload_guess¶ Possible sublayers:
ZigbeeAppCommandPayload
-
-
class
scapy.layers.zigbee.ZigbeeAppDataPayloadStub(*args, **kargs)¶ 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. ZigbeeAppDataPayloadStubZigbeeAppDataPayloadStub fields¶ frame_control
FlagsField(4 bits)<Flag 0 ()>delivery_mode
BitEnumField(2 bits)0frametype
BitField(2 bits)3group_addr
XLEShortField(Cond)0cluster
0profile
0data
StrField(Cond)b''
-
-
class
scapy.layers.zigbee.ZigbeeClusterLibrary(*args, **kargs)¶ 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |RESER|D|D|M|ZCL| MANUFACTURER CODE |TRANSACTION SEQ| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |COMMAND IDENTIF| +-+-+-+-+-+-+-+-+ Fig. ZigbeeClusterLibraryZigbeeClusterLibrary fields¶ reserved
BitField(3 bits)0disable_default_response
BitField(1 bit)0direction
BitField(1 bit)0manufacturer_specific
BitField(1 bit)0zcl_frametype
BitEnumField(2 bits)0manufacturer_code
XLEShortField(Cond)0transaction_sequence
0command_identifier
0
-
guess_payload_class(payload)¶
-
payload_guess¶ Possible sublayers:
ZCLGeneralReadAttributesResponse,ZCLGeneralReadAttributes
-
-
class
scapy.layers.zigbee.ZigbeeDeviceProfile(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.layers.zigbee.ZigbeeNWK(*args, **kargs)¶ 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |DIS|PROTO V|FRA| FLAGS | DESTINATION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SOURCE | RADIUS | SEQNUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EXT DST | EXT SRC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RELAY COUNT | RELAY INDEX | RELAYS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ZigbeeNWKZigbeeNWK fields¶ discover_route
BitField(2 bits)0proto_version
BitField(4 bits)2frametype
BitEnumField(2 bits)0flags
FlagsField(8 bits)<Flag 0 ()>destination
0source
0radius
0seqnum
1ext_dst
dot15d4AddressField(Cond)0ext_src
dot15d4AddressField(Cond)0relay_count
ByteField(Cond)1relay_index
ByteField(Cond)0relays
FieldListField(Cond)[]
-
guess_payload_class(payload)¶
-
-
class
scapy.layers.zigbee.ZigbeeNWKCommandPayload(*args, **kargs)¶ 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|RESER|ROUTE REQUEST I|DESTINATION ADD| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | PATH COST | EXT DST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |R|M|R|O|RESERVE|ROUTE REQUEST I| ORIGINATOR ADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESPONDER ADDRESS | PATH COST |ORIGINATOR ADDR| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RESPONDER ADDR | STATUS CODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DESTINATION ADDRESS |R|R|R| RESERVED| RR RELAY COUNT| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RR RELAY LIST |A|S|R|R|R|P|D|A|NETWORK ADDRESS| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | REJOIN STATUS |R|L|F|ENTRY COU|LINK STATUS LIS| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |REPOR|REPORT IN| EPID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PAN ID CONFLICT REPORT |UPDAT|UPDATE IN| EPID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | UPDATE ID | NEW PAN ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | REQ TIMEOUT | ED CONF | STATUS | RESERVED |E|M| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ZigbeeNWKCommandPayloadZigbeeNWKCommandPayload fields¶ cmd_identifier
1reserved
BitField(Cond) (1 bit)0multicast
BitField(Cond) (1 bit)0dest_addr_bit
BitField(Cond) (1 bit)0many_to_one
BitEnumField(Cond) (2 bits)0reserved
BitField(Cond) (3 bits)0route_request_identifier
ByteField(Cond)0destination_address
XLEShortField(Cond)0path_cost
ByteField(Cond)0ext_dst
dot15d4AddressField(Cond)0reserved
BitField(Cond) (1 bit)0multicast
BitField(Cond) (1 bit)0responder_addr_bit
BitField(Cond) (1 bit)0originator_addr_bit
BitField(Cond) (1 bit)0reserved
BitField(Cond) (4 bits)0route_request_identifier
ByteField(Cond)0originator_address
XLEShortField(Cond)0responder_address
XLEShortField(Cond)0path_cost
ByteField(Cond)0originator_addr
dot15d4AddressField(Cond)0responder_addr
dot15d4AddressField(Cond)0status_code
ByteEnumField(Cond)0destination_address
XLEShortField(Cond)0remove_children
BitField(Cond) (1 bit)0request
BitField(Cond) (1 bit)0rejoin
BitField(Cond) (1 bit)0reserved
BitField(Cond) (5 bits)0rr_relay_count
ByteField(Cond)0rr_relay_list
FieldListField(Cond)[]allocate_address
BitField(Cond) (1 bit)0security_capability
BitField(Cond) (1 bit)0reserved2
BitField(Cond) (1 bit)0reserved1
BitField(Cond) (1 bit)0receiver_on_when_idle
BitField(Cond) (1 bit)0power_source
BitField(Cond) (1 bit)0device_type
BitField(Cond) (1 bit)0alternate_pan_coordinator
BitField(Cond) (1 bit)0network_address
XLEShortField(Cond)65535rejoin_status
ByteField(Cond)0reserved
BitField(Cond) (1 bit)0last_frame
BitField(Cond) (1 bit)0first_frame
BitField(Cond) (1 bit)0entry_count
BitField(Cond) (5 bits)0link_status_list
PacketListField(Cond)[]report_command_identifier
BitEnumField(Cond) (3 bits)0report_information_count
BitField(Cond) (5 bits)0epid
dot15d4AddressField(Cond)0PAN_ID_conflict_report
FieldListField(Cond)[]update_command_identifier
BitEnumField(Cond) (3 bits)0update_information_count
BitField(Cond) (5 bits)0epid
dot15d4AddressField(Cond)0update_id
ByteField(Cond)0new_PAN_ID
XLEShortField(Cond)0req_timeout
ByteEnumField(Cond)3ed_conf
ByteField(Cond)0status
ByteEnumField(Cond)0reserved
BitField(Cond) (6 bits)0ed_timeout_req_keepalive
BitField(Cond) (1 bit)0mac_data_poll_keepalive
BitField(Cond) (1 bit)0
-
-
class
scapy.layers.zigbee.ZigbeeNWKStub(*args, **kargs)¶ 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| RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ZigbeeNWKStubZigbeeNWKStub fields¶ reserved
BitField(2 bits)0proto_version
BitField(4 bits)2frametype
BitField(2 bits)3reserved
BitField(8 bits)0
-
guess_payload_class(payload)¶
-
-
class
scapy.layers.zigbee.ZigbeeSecurityHeader(*args, **kargs)¶ 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. ZigbeeSecurityHeaderZigbeeSecurityHeader fields¶ reserved1
FlagsField(2 bits)<Flag 0 ()>extended_nonce
BitField(1 bit)1key_type
BitEnumField(2 bits)1nwk_seclevel
BitEnumField(3 bits)0fc
0source
dot15d4AddressField(Cond)0key_seqnum
ByteField(Cond)0data
b''mic
b''
-
post_dissect(s)¶
-
-
scapy.layers.zigbee.util_mic_len(pkt)¶ Calculate the length of the attribute value field