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
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LENGTH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |VALU| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MpintMpint fields length
Nonevalue
BitLenField(0 bit)0
- class scapy.layers.ssh.NameList(_pkt, /, *, length=None, names=[])[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LENGTH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NAMES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NameListNameList fields length
Nonenames
_ComaStrField[]
- class scapy.layers.ssh.SSH(_pkt, /, *, packet_length=None, padding_length=None, pay=None, random_padding=b'')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PACKET LENGTH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PADDING LENGTH| PAY | RANDOM PADDING| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. SSHSSH fields packet_length
Nonepadding_length
Nonepay
Nonerandom_padding
b''
- class scapy.layers.ssh.SSHCertificate(_pkt, /, *, format_identifier=<SSHString |>, data=None)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FORMAT IDENTIFIER | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SSHCertificateSSHCertificate fields format_identifier
<SSHString |>data
_SSHCertificateNone
- class scapy.layers.ssh.SSHDisconnect(_pkt, /, *, type=1, reason_code=0, description=<SSHString |>, language_tag=<SSHString |>)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | REASON CODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | DESCRIPTION | LANGUAGE TAG | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. SSHDisconnectSSHDisconnect fields type
1reason_code
0description
<SSHString |>language_tag
<SSHString |>
- class scapy.layers.ssh.SSHExtInfo(_pkt, /, *, type=7, nr_extensions=None, extensions=[])[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | NR EXTENSIONS | EXTENSIONS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. SSHExtInfoSSHExtInfo fields type
7nr_extensions
Noneextensions
[]
- class scapy.layers.ssh.SSHExtension(_pkt, /, *, extension_name=<SSHString |>, extension_value=<SSHString |>)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EXTENSION NAME | EXTENSION VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SSHExtensionSSHExtension fields extension_name
<SSHString |>extension_value
<SSHString |>
- class scapy.layers.ssh.SSHIgnore(_pkt, /, *, type=2, data=<SSHString |>)[source]
Bases:
Packet- aliastypes
- class scapy.layers.ssh.SSHKexDHInit(_pkt, /, *, type=30, e=<Mpint |>)[source]
Bases:
Packet- aliastypes
- class scapy.layers.ssh.SSHKexDHReply(_pkt, /, *, type=31, K_S=<SSHString |>, f=<Mpint |>, H_hash=<SSHString |>)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | K S | F | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | H HASH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SSHKexDHReplySSHKexDHReply fields type
31K_S
<SSHString |>f
<Mpint |>H_hash
<SSHString |>
- 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
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | COOKIE | +-+-+-+-+-+-+-+-+ + | | + + | | + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | KEX ALGORITHMS |SERVER HOST KEY| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |ENCRYPTION ALGORITHMS CLIENT TO|ENCRYPTION ALGO| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |MAC ALGORITHMS CLIENT TO SERVER|MAC ALGORITHMS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |COMPRESSION ALGORITHMS CLIENT T|COMPRESSION ALG| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | LANGUAGES CLIENT TO SERVER |LANGUAGES SERVE| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |FIRST KEX PACKE| RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SSHKexInitSSHKexInit fields type
20cookie
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
0reserved
0
- class scapy.layers.ssh.SSHNewCompress(_pkt, /, *, type=3)[source]
Bases:
Packet- aliastypes
- class scapy.layers.ssh.SSHNewKeys(_pkt, /, *, type=21)[source]
Bases:
Packet- aliastypes
- 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
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FORMAT IDENTIFIER | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SSHPublicKeySSHPublicKey fields format_identifier
<SSHString |>data
_SSHPublicKeyNone
- class scapy.layers.ssh.SSHPublicKeyEd25519(_pkt, /, *, key=<SSHString |>)[source]
Bases:
Packet- aliastypes
- class scapy.layers.ssh.SSHPublicKeyEd448(_pkt, /, *, key=<SSHString |>)[source]
Bases:
Packet- aliastypes
- class scapy.layers.ssh.SSHServiceAccept(_pkt, /, *, type=6, service_name=<SSHString |>)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | SERVICE NAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SSHServiceAcceptSSHServiceAccept fields type
6service_name
<SSHString |>
- class scapy.layers.ssh.SSHServiceDebug(_pkt, /, *, type=4, always_display=0, message=<SSHString |>, language_tag=<SSHString |>)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | ALWAYS DISPLAY| MESSAGE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LANGUAGE TAG | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SSHServiceDebugSSHServiceDebug fields type
4always_display
0message
<SSHString |>language_tag
<SSHString |>
- class scapy.layers.ssh.SSHServiceRequest(_pkt, /, *, type=5, service_name=<SSHString |>)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | SERVICE NAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SSHServiceRequestSSHServiceRequest fields type
5service_name
<SSHString |>
- class scapy.layers.ssh.SSHSignature(_pkt, /, *, format_identifier=<SSHString |>, data=None)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FORMAT IDENTIFIER | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SSHSignatureSSHSignature fields format_identifier
<SSHString |>data
_SSHSignatureNone
- class scapy.layers.ssh.SSHSignatureEd25519(_pkt, /, *, key=<SSHString |>)[source]
Bases:
Packet- aliastypes
- class scapy.layers.ssh.SSHSignatureEd448(_pkt, /, *, key=<SSHString |>)[source]
Bases:
Packet- aliastypes
- class scapy.layers.ssh.SSHString(_pkt, /, *, length=None, value=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LENGTH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SSHStringSSHString fields length
Nonevalue
0
- class scapy.layers.ssh.SSHUnimplemented(_pkt, /, *, type=3, seq_num=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | SEQ NUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. SSHUnimplementedSSHUnimplemented fields type
3seq_num
0
- class scapy.layers.ssh.SSHVersionExchange(_pkt, /, *, lines=[])[source]
Bases:
Packet- aliastypes
- class scapy.layers.ssh.StrCRLFField(name: str, default: I | None, fmt: str = 'H', remain: int = 0)[source]
Bases:
StrNullField- DELIMITER = b'\r\n'