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)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.dot15d4.Dot15d4'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (Dot15d4,Dot15d4FCS).fcf_reserved_1>, <BitEnumField (Dot15d4,Dot15d4FCS).fcf_panidcompress>, <BitEnumField (Dot15d4,Dot15d4FCS).fcf_ackreq>, <BitEnumField (Dot15d4,Dot15d4FCS).fcf_pending>, <BitEnumField (Dot15d4,Dot15d4FCS).fcf_security>, <scapy.fields.Emph object>, <BitEnumField (Dot15d4,Dot15d4FCS).fcf_srcaddrmode>, <BitField (Dot15d4,Dot15d4FCS).fcf_framever>, <BitEnumField (Dot15d4,Dot15d4FCS).fcf_destaddrmode>, <BitField (Dot15d4,Dot15d4FCS).fcf_reserved_2>, <scapy.fields.Emph object>]
- payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'fcf_frametype': 0}, <class 'scapy.layers.dot15d4.Dot15d4Beacon'>), ({'fcf_frametype': 1}, <class 'scapy.layers.dot15d4.Dot15d4Data'>), ({'fcf_frametype': 2}, <class 'scapy.layers.dot15d4.Dot15d4Ack'>), ({'fcf_frametype': 3}, <class 'scapy.layers.dot15d4.Dot15d4Cmd'>)]
- class scapy.layers.dot15d4.Dot15d4Ack(_pkt, /)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.dot15d4.Dot15d4Ack'>, <class 'scapy.packet.Packet'>]
- 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)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.dot15d4.Dot15d4AuxSecurityHeader'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (Dot15d4AuxSecurityHeader).sec_sc_reserved>, <BitEnumField (Dot15d4AuxSecurityHeader).sec_sc_keyidmode>, <BitEnumField (Dot15d4AuxSecurityHeader).sec_sc_seclevel>, <XLEIntField (Dot15d4AuxSecurityHeader).sec_framecounter>, <scapy.fields.MultipleTypeField object>, <scapy.fields.ConditionalField object>]
- 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=[])[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.dot15d4.Dot15d4Beacon'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (Dot15d4Beacon).src_panid>, <dot15d4AddressField (Dot15d4Beacon).src_addr>, <scapy.fields.ConditionalField object>, <BitField (Dot15d4Beacon).sf_sforder>, <BitField (Dot15d4Beacon).sf_beaconorder>, <BitEnumField (Dot15d4Beacon).sf_assocpermit>, <BitEnumField (Dot15d4Beacon).sf_pancoord>, <BitField (Dot15d4Beacon).sf_reserved>, <BitEnumField (Dot15d4Beacon).sf_battlifeextend>, <BitField (Dot15d4Beacon).sf_finalcapslot>, <BitEnumField (Dot15d4Beacon).gts_spec_permit>, <BitField (Dot15d4Beacon).gts_spec_reserved>, <BitField (Dot15d4Beacon).gts_spec_desccount>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <BitField (Dot15d4Beacon).pa_reserved_1>, <BitField (Dot15d4Beacon).pa_num_long>, <BitField (Dot15d4Beacon).pa_reserved_2>, <BitField (Dot15d4Beacon).pa_num_short>, <FieldListField (Dot15d4Beacon).pa_short_addresses>, <FieldListField (Dot15d4Beacon).pa_long_addresses>]
- 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)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.dot15d4.Dot15d4Cmd'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (Dot15d4Cmd).dest_panid>, <dot15d4AddressField (Dot15d4Cmd).dest_addr>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <ByteEnumField (Dot15d4Cmd).cmd_id>]
- 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)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.dot15d4.Dot15d4CmdAssocReq'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (Dot15d4CmdAssocReq).allocate_address>, <BitField (Dot15d4CmdAssocReq).security_capability>, <BitField (Dot15d4CmdAssocReq).reserved2>, <BitField (Dot15d4CmdAssocReq).reserved1>, <BitField (Dot15d4CmdAssocReq).receiver_on_when_idle>, <BitField (Dot15d4CmdAssocReq).power_source>, <BitField (Dot15d4CmdAssocReq).device_type>, <BitField (Dot15d4CmdAssocReq).alternate_pan_coordinator>]
- class scapy.layers.dot15d4.Dot15d4CmdAssocResp(_pkt, /, *, short_address=65535, association_status=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.dot15d4.Dot15d4CmdAssocResp'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.dot15d4.Dot15d4CmdCoordRealign(_pkt, /, *, panid=65535, coord_address=0, channel=0, dev_address=65535)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.dot15d4.Dot15d4CmdCoordRealign'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.dot15d4.Dot15d4CmdCoordRealignPage(_pkt, /, *, channel_page=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.dot15d4.Dot15d4CmdCoordRealignPage'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.dot15d4.Dot15d4CmdDisassociation(_pkt, /, *, disassociation_reason=2)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.dot15d4.Dot15d4CmdDisassociation'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.dot15d4.Dot15d4CmdGTSReq(_pkt, /, *, reserved=0, charact_type=0, gts_dir=0, gts_len=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.dot15d4.Dot15d4CmdGTSReq'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.dot15d4.Dot15d4Data(_pkt, /, *, dest_panid=65535, dest_addr=65535, src_panid=0, src_addr=None, aux_sec_header=<Dot15d4AuxSecurityHeader |>)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.dot15d4.Dot15d4Data'>, <class 'scapy.packet.Packet'>]
- 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)[source]
Bases:
Dot15d4This 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 = [<class 'scapy.layers.dot15d4.Dot15d4FCS'>, <class 'scapy.layers.dot15d4.Dot15d4'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (Dot15d4,Dot15d4FCS).fcf_reserved_1>, <BitEnumField (Dot15d4,Dot15d4FCS).fcf_panidcompress>, <BitEnumField (Dot15d4,Dot15d4FCS).fcf_ackreq>, <BitEnumField (Dot15d4,Dot15d4FCS).fcf_pending>, <BitEnumField (Dot15d4,Dot15d4FCS).fcf_security>, <scapy.fields.Emph object>, <BitEnumField (Dot15d4,Dot15d4FCS).fcf_srcaddrmode>, <BitField (Dot15d4,Dot15d4FCS).fcf_framever>, <BitEnumField (Dot15d4,Dot15d4FCS).fcf_destaddrmode>, <BitField (Dot15d4,Dot15d4FCS).fcf_reserved_2>, <scapy.fields.Emph object>, <scapy.fields.FCSField object>]
- match_subclass = True