scapy.layers.eap
Extensible Authentication Protocol (EAP)
- class scapy.layers.eap.EAP(_pkt, /, *, code=4, id=0, len=None, type=0, desired_auth_types=[], identity=b'', message=b'')[source]
Bases:
PacketRFC 3748 - Extensible Authentication Protocol (EAP)
- FAILURE = 4
- FINISH = 6
- INITIATE = 5
- REQUEST = 1
- RESPONSE = 2
- SUCCESS = 3
- aliastypes = [<class 'scapy.layers.eap.EAP'>, <class 'scapy.packet.Packet'>]
- fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (EAP).code>, <ByteField (EAP).id>, <ShortField (EAP).len>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
- registered_methods = {0: <class 'scapy.layers.eap.EAP'>, 4: <class 'scapy.layers.eap.EAP_MD5'>, 13: <class 'scapy.layers.eap.EAP_TLS'>, 17: <class 'scapy.layers.eap.LEAP'>, 21: <class 'scapy.layers.eap.EAP_TTLS'>, 25: <class 'scapy.layers.eap.EAP_PEAP'>, 43: <class 'scapy.layers.eap.EAP_FAST'>}
- class scapy.layers.eap.EAPOL(_pkt, /, *, version=1, type=0, len=None)[source]
Bases:
PacketEAPOL - IEEE Std 802.1X-2010
- ASF = 4
- EAP_PACKET = 0
- KEY = 3
- LOGOFF = 2
- START = 1
- aliastypes = [<class 'scapy.layers.eap.EAPOL'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.eap.EAPOL_KEY(_pkt, /, *, key_descriptor_type=1, res2=0, smk_message=0, encrypted_key_data=0, request=0, error=0, secure=0, has_key_mic=1, key_ack=0, install=0, res=0, key_type=0, key_descriptor_type_version=0, key_length=None, key_replay_counter=0, key_nonce=b'', key_iv=b'', key_rsc=b'', key_id=b'', key_mic=b'', key_data_length=None, key_data=b'')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.eap.EAPOL_KEY'>, <class 'scapy.packet.Packet'>]
- deprecated_fields: Dict[str, Tuple[str, str]] = {'key': ('key_data', '2.6.0'), 'len': ('key_length', '2.6.0')}
- fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (EAPOL_KEY).key_descriptor_type>, <BitField (EAPOL_KEY).res2>, <BitField (EAPOL_KEY).smk_message>, <BitField (EAPOL_KEY).encrypted_key_data>, <BitField (EAPOL_KEY).request>, <BitField (EAPOL_KEY).error>, <BitField (EAPOL_KEY).secure>, <BitField (EAPOL_KEY).has_key_mic>, <BitField (EAPOL_KEY).key_ack>, <BitField (EAPOL_KEY).install>, <BitField (EAPOL_KEY).res>, <BitEnumField (EAPOL_KEY).key_type>, <BitEnumField (EAPOL_KEY).key_descriptor_type_version>, <LenField (EAPOL_KEY).key_length>, <LongField (EAPOL_KEY).key_replay_counter>, <XStrFixedLenField (EAPOL_KEY).key_nonce>, <XStrFixedLenField (EAPOL_KEY).key_iv>, <XStrFixedLenField (EAPOL_KEY).key_rsc>, <XStrFixedLenField (EAPOL_KEY).key_id>, <XStrFixedLenField (EAPOL_KEY).key_mic>, <FieldLenField (EAPOL_KEY).key_data_length>, <XStrLenField (EAPOL_KEY).key_data>]
- class scapy.layers.eap.EAP_FAST(_pkt, /, *, code=1, id=0, len=None, type=43, L=0, M=0, S=0, reserved=0, version=0, message_len=0, data=b'')[source]
Bases:
EAPRFC 4851 - “The Flexible Authentication via Secure Tunneling Extensible Authentication Protocol Method (EAP-FAST)”
- aliastypes = [<class 'scapy.layers.eap.EAP_FAST'>, <class 'scapy.layers.eap.EAP'>, <class 'scapy.packet.Packet'>]
- fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (EAP_FAST).code>, <ByteField (EAP_FAST).id>, <FieldLenField (EAP_FAST).len>, <ByteEnumField (EAP_FAST).type>, <BitField (EAP_FAST).L>, <BitField (EAP_FAST).M>, <BitField (EAP_FAST).S>, <BitField (EAP_FAST).reserved>, <BitField (EAP_FAST).version>, <scapy.fields.ConditionalField object>, <XStrLenField (EAP_FAST).data>]
- match_subclass = True
- class scapy.layers.eap.EAP_MD5(_pkt, /, *, code=1, id=0, len=None, type=4, value_size=None, value=b'', optional_name=b'')[source]
Bases:
EAPRFC 3748 - “Extensible Authentication Protocol (EAP)”
- aliastypes = [<class 'scapy.layers.eap.EAP_MD5'>, <class 'scapy.layers.eap.EAP'>, <class 'scapy.packet.Packet'>]
- fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (EAP_MD5).code>, <ByteField (EAP_MD5).id>, <FieldLenField (EAP_MD5).len>, <ByteEnumField (EAP_MD5).type>, <FieldLenField (EAP_MD5).value_size>, <XStrLenField (EAP_MD5).value>, <XStrLenField (EAP_MD5).optional_name>]
- match_subclass = True
- class scapy.layers.eap.EAP_PEAP(_pkt, /, *, code=1, id=0, len=None, type=25, L=0, M=0, S=0, reserved=0, version=1, tls_message_len=0, tls_data=b'')[source]
Bases:
EAPdraft-josefsson-pppext-eap-tls-eap-05.txt - “Protected EAP Protocol (PEAP)”
- aliastypes = [<class 'scapy.layers.eap.EAP_PEAP'>, <class 'scapy.layers.eap.EAP'>, <class 'scapy.packet.Packet'>]
- fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (EAP_PEAP).code>, <ByteField (EAP_PEAP).id>, <FieldLenField (EAP_PEAP).len>, <ByteEnumField (EAP_PEAP).type>, <BitField (EAP_PEAP).L>, <BitField (EAP_PEAP).M>, <BitField (EAP_PEAP).S>, <BitField (EAP_PEAP).reserved>, <BitField (EAP_PEAP).version>, <scapy.fields.ConditionalField object>, <XStrLenField (EAP_PEAP).tls_data>]
- match_subclass = True
- class scapy.layers.eap.EAP_TLS(_pkt, /, *, code=1, id=0, len=None, type=13, L=0, M=0, S=0, reserved=0, tls_message_len=0, tls_data=b'')[source]
Bases:
EAPRFC 5216 - “The EAP-TLS Authentication Protocol”
- aliastypes = [<class 'scapy.layers.eap.EAP_TLS'>, <class 'scapy.layers.eap.EAP'>, <class 'scapy.packet.Packet'>]
- fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (EAP_TLS).code>, <ByteField (EAP_TLS).id>, <FieldLenField (EAP_TLS).len>, <ByteEnumField (EAP_TLS).type>, <BitField (EAP_TLS).L>, <BitField (EAP_TLS).M>, <BitField (EAP_TLS).S>, <BitField (EAP_TLS).reserved>, <scapy.fields.ConditionalField object>, <XStrLenField (EAP_TLS).tls_data>]
- match_subclass = True
- class scapy.layers.eap.EAP_TTLS(_pkt, /, *, code=1, id=0, len=None, type=21, L=0, M=0, S=0, reserved=0, version=0, message_len=0, data=b'')[source]
Bases:
EAPRFC 5281 - “Extensible Authentication Protocol Tunneled Transport Layer Security Authenticated Protocol Version 0 (EAP-TTLSv0)”
- aliastypes = [<class 'scapy.layers.eap.EAP_TTLS'>, <class 'scapy.layers.eap.EAP'>, <class 'scapy.packet.Packet'>]
- fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (EAP_TTLS).code>, <ByteField (EAP_TTLS).id>, <FieldLenField (EAP_TTLS).len>, <ByteEnumField (EAP_TTLS).type>, <BitField (EAP_TTLS).L>, <BitField (EAP_TTLS).M>, <BitField (EAP_TTLS).S>, <BitField (EAP_TTLS).reserved>, <BitField (EAP_TTLS).version>, <scapy.fields.ConditionalField object>, <XStrLenField (EAP_TTLS).data>]
- match_subclass = True
- class scapy.layers.eap.LEAP(_pkt, /, *, code=1, id=0, len=None, type=17, version=1, unused=0, count=None, challenge_response=b'', username=b'')[source]
Bases:
EAPCisco LEAP (Lightweight EAP) https://freeradius.org/rfc/leap.txt
- aliastypes = [<class 'scapy.layers.eap.LEAP'>, <class 'scapy.layers.eap.EAP'>, <class 'scapy.packet.Packet'>]
- fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (LEAP).code>, <ByteField (LEAP).id>, <ShortField (LEAP).len>, <ByteEnumField (LEAP).type>, <ByteField (LEAP).version>, <XByteField (LEAP).unused>, <FieldLenField (LEAP).count>, <XStrLenField (LEAP).challenge_response>, <StrLenField (LEAP).username>]
- match_subclass = True
- class scapy.layers.eap.MACsecSCI(_pkt, /, *, system_identifier=None, port_identifier=0)[source]
Bases:
PacketSecure Channel Identifier.
- aliastypes = [<class 'scapy.layers.eap.MACsecSCI'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.eap.MKABasicParamSet(_pkt, /, *, mka_version_id=0, key_server_priority=0, key_server=0, macsec_desired=0, macsec_capability=0, param_set_body_len=0, SCI=<MACsecSCI |>, actor_member_id=b'', actor_message_number=0, algorithm_agility=0, cak_name=b'')[source]
Bases:
PacketBasic Parameter Set (802.1X-2010, section 11.11).
- aliastypes = [<class 'scapy.layers.eap.MKABasicParamSet'>, <class 'scapy.packet.Packet'>]
- fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteField (MKABasicParamSet).mka_version_id>, <ByteField (MKABasicParamSet).key_server_priority>, <BitField (MKABasicParamSet).key_server>, <BitField (MKABasicParamSet).macsec_desired>, <BitField (MKABasicParamSet).macsec_capability>, <BitField (MKABasicParamSet).param_set_body_len>, <PacketField (MKABasicParamSet).SCI>, <XStrFixedLenField (MKABasicParamSet).actor_member_id>, <XIntField (MKABasicParamSet).actor_message_number>, <XIntField (MKABasicParamSet).algorithm_agility>, <scapy.fields.PadField object>]
- class scapy.layers.eap.MKADistributedCAKParamSet(_pkt, /, *, param_set_type=5, param_set_body_len=0, cak_aes_key_wrap=b'', cak_key_name=b'')[source]
Bases:
MKAParamSetDistributed CAK Parameter Set (802.1X-2010, section 11.11).
- aliastypes = [<class 'scapy.layers.eap.MKADistributedCAKParamSet'>, <class 'scapy.layers.eap.MKAParamSet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.eap.MKADistributedSAKParamSet(_pkt, /, *, param_set_type=4, distributed_an=0, confidentiality_offset=0, unused=0, param_set_body_len=0, key_number=b'', macsec_cipher_suite=b'', sak_aes_key_wrap=b'')[source]
Bases:
MKAParamSetDistributed SAK parameter set (802.1X-2010, section 11.11).
- aliastypes = [<class 'scapy.layers.eap.MKADistributedSAKParamSet'>, <class 'scapy.layers.eap.MKAParamSet'>, <class 'scapy.packet.Packet'>]
- fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (MKADistributedSAKParamSet).param_set_type>, <BitField (MKADistributedSAKParamSet).distributed_an>, <BitField (MKADistributedSAKParamSet).confidentiality_offset>, <BitField (MKADistributedSAKParamSet).unused>, <ShortField (MKADistributedSAKParamSet).param_set_body_len>, <XStrFixedLenField (MKADistributedSAKParamSet).key_number>, <scapy.fields.ConditionalField object>, <XStrFixedLenField (MKADistributedSAKParamSet).sak_aes_key_wrap>]
- class scapy.layers.eap.MKAICVSet(_pkt, /, *, param_set_type=255, param_set_body_len=0, icv=b'')[source]
Bases:
MKAParamSetICV (802.1X-2010, section 11.11).
- aliastypes = [<class 'scapy.layers.eap.MKAICVSet'>, <class 'scapy.layers.eap.MKAParamSet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.eap.MKALivePeerListParamSet(_pkt, /, *, param_set_type=1, param_set_body_len=0, member_id_message_num=[])[source]
Bases:
MKAParamSetLive Peer List parameter sets (802.1X-2010, section 11.11).
- aliastypes = [<class 'scapy.layers.eap.MKALivePeerListParamSet'>, <class 'scapy.layers.eap.MKAParamSet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.eap.MKAPDU(_pkt, /, *, basic_param_set=b'', parameter_sets=[])[source]
Bases:
PacketMACsec Key Agreement Protocol Data Unit.
- aliastypes = [<class 'scapy.layers.eap.MKAPDU'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.eap.MKAParamSet(_pkt, /)[source]
Bases:
PacketClass from which every parameter set class inherits (except MKABasicParamSet, which has no “Parameter set type” field, and must come first in the list of parameter sets).
- EAPOL_MKA_DEFAULT_KEY_WRAP_LEN = 24
- MACSEC_DEFAULT_ICV_LEN = 16
- aliastypes = [<class 'scapy.layers.eap.MKAParamSet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.eap.MKAParamSetPacketListField(name: str, default: Optional[List[BasePacket]], pkt_cls: Optional[Union[Callable[[bytes], Packet], Type[Packet]]] # noqa: E501 = None, count_from: Optional[Callable[[Packet], int]] = None, length_from: Optional[Callable[[Packet], int]] = None, next_cls_cb: Optional[Callable[[Packet, List[BasePacket], Optional[Packet], bytes], Optional[Type[Packet]]]] # noqa: E501 = None, max_count: Optional[int] = None)[source]
Bases:
PacketListFieldPacketListField that handles the parameter sets.
- PARAM_SET_LEN_MASK = 4095
- class scapy.layers.eap.MKAPeerListTuple(_pkt, /, *, member_id=b'', message_number=b'')[source]
Bases:
PacketLive / Potential Peer List parameter sets tuples (802.1X-2010, section 11.11). # noqa: E501
- aliastypes = [<class 'scapy.layers.eap.MKAPeerListTuple'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.eap.MKAPotentialPeerListParamSet(_pkt, /, *, param_set_type=2, param_set_body_len=0, member_id_message_num=[])[source]
Bases:
MKAParamSetPotential Peer List parameter sets (802.1X-2010, section 11.11).
- aliastypes = [<class 'scapy.layers.eap.MKAPotentialPeerListParamSet'>, <class 'scapy.layers.eap.MKAParamSet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.eap.MKASAKUseParamSet(_pkt, /, *, param_set_type=3, latest_key_an=0, latest_key_tx=0, latest_key_rx=0, old_key_an=0, old_key_tx=0, old_key_rx=0, plain_tx=0, plain_rx=0, X=0, delay_protect=0, param_set_body_len=0, latest_key_key_server_member_id=b'', latest_key_key_number=b'', latest_key_lowest_acceptable_pn=b'', old_key_key_server_member_id=b'', old_key_key_number=b'', old_key_lowest_acceptable_pn=b'')[source]
Bases:
MKAParamSetSAK Use Parameter Set (802.1X-2010, section 11.11).
- aliastypes = [<class 'scapy.layers.eap.MKASAKUseParamSet'>, <class 'scapy.layers.eap.MKAParamSet'>, <class 'scapy.packet.Packet'>]
- fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteEnumField (MKASAKUseParamSet).param_set_type>, <BitField (MKASAKUseParamSet).latest_key_an>, <BitField (MKASAKUseParamSet).latest_key_tx>, <BitField (MKASAKUseParamSet).latest_key_rx>, <BitField (MKASAKUseParamSet).old_key_an>, <BitField (MKASAKUseParamSet).old_key_tx>, <BitField (MKASAKUseParamSet).old_key_rx>, <BitField (MKASAKUseParamSet).plain_tx>, <BitField (MKASAKUseParamSet).plain_rx>, <BitField (MKASAKUseParamSet).X>, <BitField (MKASAKUseParamSet).delay_protect>, <BitField (MKASAKUseParamSet).param_set_body_len>, <XStrFixedLenField (MKASAKUseParamSet).latest_key_key_server_member_id>, <XStrFixedLenField (MKASAKUseParamSet).latest_key_key_number>, <XStrFixedLenField (MKASAKUseParamSet).latest_key_lowest_acceptable_pn>, <XStrFixedLenField (MKASAKUseParamSet).old_key_key_server_member_id>, <XStrFixedLenField (MKASAKUseParamSet).old_key_key_number>, <XStrFixedLenField (MKASAKUseParamSet).old_key_lowest_acceptable_pn>]