scapy.layers.ssh
Secure Shell (SSH) Transport Layer Protocol
RFC 4250, 4251, 4252, 4253 and 4254
- class scapy.layers.ssh.Mpint(_pkt, /, *, length=None, value=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.Mpint'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.NameList(_pkt, /, *, length=None, names=[])[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.NameList'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.SSH(_pkt, /, *, packet_length=None, padding_length=None, pay=None, random_padding=b'')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.SSH'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.SSHCertificate(_pkt, /, *, format_identifier=<SSHString |>, data=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.SSHCertificate'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.SSHDisconnect(_pkt, /, *, type=1, reason_code=0, description=<SSHString |>, language_tag=<SSHString |>)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.SSHDisconnect'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.SSHExtInfo(_pkt, /, *, type=7, nr_extensions=None, extensions=[])[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.SSHExtInfo'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.SSHExtension(_pkt, /, *, extension_name=<SSHString |>, extension_value=<SSHString |>)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.SSHExtension'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.SSHIgnore(_pkt, /, *, type=2, data=<SSHString |>)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.SSHIgnore'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.SSHKexDHInit(_pkt, /, *, type=30, e=<Mpint |>)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.SSHKexDHInit'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.SSHKexDHReply(_pkt, /, *, type=31, K_S=<SSHString |>, f=<Mpint |>, H_hash=<SSHString |>)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.SSHKexDHReply'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.SSHKexInit(_pkt, /, *, type=20, cookie=b'', kex_algorithms=<NameList |>, server_host_key_algorithms=<NameList |>, encryption_algorithms_client_to_server=<NameList |>, encryption_algorithms_server_to_client=<NameList |>, mac_algorithms_client_to_server=<NameList |>, mac_algorithms_server_to_client=<NameList |>, compression_algorithms_client_to_server=<NameList |>, compression_algorithms_server_to_client=<NameList |>, languages_client_to_server=<NameList |>, languages_server_to_client=<NameList |>, first_kex_packet_follows=0, reserved=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.SSHKexInit'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (SSHKexInit).type>, <StrFixedLenField (SSHKexInit).cookie>, <PacketField (SSHKexInit).kex_algorithms>, <PacketField (SSHKexInit).server_host_key_algorithms>, <PacketField (SSHKexInit).encryption_algorithms_client_to_server>, <PacketField (SSHKexInit).encryption_algorithms_server_to_client>, <PacketField (SSHKexInit).mac_algorithms_client_to_server>, <PacketField (SSHKexInit).mac_algorithms_server_to_client>, <PacketField (SSHKexInit).compression_algorithms_client_to_server>, <PacketField (SSHKexInit).compression_algorithms_server_to_client>, <PacketField (SSHKexInit).languages_client_to_server>, <PacketField (SSHKexInit).languages_server_to_client>, <YesNoByteField (SSHKexInit).first_kex_packet_follows>, <IntField (SSHKexInit).reserved>]
- class scapy.layers.ssh.SSHNewCompress(_pkt, /, *, type=3)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.SSHNewCompress'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.SSHNewKeys(_pkt, /, *, type=21)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.SSHNewKeys'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.SSHPacketStringField(name, sub_cls)[source]
Bases:
PacketField- sub_cls
- class scapy.layers.ssh.SSHPublicKey(_pkt, /, *, format_identifier=<SSHString |>, data=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.SSHPublicKey'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.SSHPublicKeyEd25519(_pkt, /, *, key=<SSHString |>)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.SSHPublicKeyEd25519'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.SSHPublicKeyEd448(_pkt, /, *, key=<SSHString |>)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.SSHPublicKeyEd448'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.SSHServiceAccept(_pkt, /, *, type=6, service_name=<SSHString |>)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.SSHServiceAccept'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.SSHServiceDebug(_pkt, /, *, type=4, always_display=0, message=<SSHString |>, language_tag=<SSHString |>)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.SSHServiceDebug'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.SSHServiceRequest(_pkt, /, *, type=5, service_name=<SSHString |>)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.SSHServiceRequest'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.SSHSignature(_pkt, /, *, format_identifier=<SSHString |>, data=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.SSHSignature'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.SSHSignatureEd25519(_pkt, /, *, key=<SSHString |>)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.SSHSignatureEd25519'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.SSHSignatureEd448(_pkt, /, *, key=<SSHString |>)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.SSHSignatureEd448'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.SSHString(_pkt, /, *, length=None, value=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.SSHString'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.SSHUnimplemented(_pkt, /, *, type=3, seq_num=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.SSHUnimplemented'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.SSHVersionExchange(_pkt, /, *, lines=[])[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.ssh.SSHVersionExchange'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.ssh.StrCRLFField(name: str, default: I | None, fmt: str = 'H', remain: int = 0)[source]
Bases:
StrNullField- DELIMITER = b'\r\n'