scapy.layers.ssh module
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. Mpint
length
None
value
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. NameList
length
None
names
_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. SSH
packet_length
None
padding_length
None
pay
None
random_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. SSHCertificate
format_identifier
<SSHString |>
data
_SSHCertificate
None
- 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. SSHDisconnect
type
1
reason_code
0
description
<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. SSHExtInfo
type
7
nr_extensions
None
extensions
[]
- 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. SSHExtension
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. SSHKexDHReply
type
31
K_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. SSHKexInit
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
- 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. SSHPublicKey
format_identifier
<SSHString |>
data
_SSHPublicKey
None
- 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. SSHServiceAccept
type
6
service_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. SSHServiceDebug
type
4
always_display
0
message
<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. SSHServiceRequest
type
5
service_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. SSHSignature
format_identifier
<SSHString |>
data
_SSHSignature
None
- 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. SSHString
length
None
value
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. SSHUnimplemented
type
3
seq_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'