mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00

This change revamps SSH banner parsing. The previous behavior was both a bit too strict in some regards, and too permissive in other. Specifically, clients are now required to send a line starting with "SSH-" as the first line. This is in line with the RFC, as well with observed behavior. This also prevents the creation of `ssh.log` for non-SSH traffic on port 22. For the server side, we now accept text before the SSH banner. This previously led to a protocol violation but is allowed by the spec. New tests are added to cover these cases.
11 lines
306 B
Text
11 lines
306 B
Text
# This tests a trace that has data before the banner.
|
|
|
|
# @TEST-EXEC: zeek -r $TRACES/ssh/server-pre-banner-data.pcap %INPUT
|
|
# @TEST-EXEC: btest-diff ssh.log
|
|
# @TEST-EXEC: btest-diff conn.log
|
|
# @TEST-EXEC: btest-diff .stdout
|
|
|
|
event ssh_server_pre_banner_data(c: connection, data: string)
|
|
{
|
|
print data;
|
|
}
|