SSH2パケットフォーマット(圧縮なし)

SSH2パケットフォーマット(圧縮なし)
ビッグエンディアン
HMACが付かない
場合もある。
パディング
pvar->ssh_state.outbuf
dummy
パケットサイズ
7バイト
4バイト
ペイロード
パディングデータ
1バイト
HMAC
20バイト
暗号化対象
送信対象
SSH2パケットの送信処理は、finish_send_packet_special()で
パケット構築と暗号化が行われた上で、
send_packet_blocking()でTCP通信される。
SSH2パケットフォーマット(圧縮あり)
ペイロード
zlib圧縮
00
00
00
00
00
圧縮ペイロード
パケット構築
pvar->ssh_state.outbuf
dummy
パケットサイズ
7バイト
4バイト
圧縮ペイロード
パディングデータ
HMAC
1バイト
20バイト
暗号化対象
送信対象
SSH2パケットの圧縮は、finish_send_packet_special()内で、
パケット構築と暗号化の前に行われる。
圧縮処理により、逆にペイロードが大きくなる場合もある。