mirror of
https://github.com/zeek/zeek.git
synced 2025-10-17 14:08:20 +00:00
Support parsing of several TLS extensions.
At the moment, we have support for: elliptic_curves: client supported elliptic curves ec_point_formats: list of client supported EC point formats application_layer_protocol_negotiation: list of supported application layer protocols (used for spdy/http2 negotiation) server_name: server name sent by client. This was supported before, but... a bit brittle.
This commit is contained in:
parent
594975c93d
commit
4ae52d9e1c
6 changed files with 252 additions and 50 deletions
|
@ -159,12 +159,16 @@ event ssl_server_hello(c: connection, version: count, possible_ts: time, server_
|
|||
c$ssl$cipher = cipher_desc[cipher];
|
||||
}
|
||||
|
||||
event ssl_extension(c: connection, is_orig: bool, code: count, val: string) &priority=5
|
||||
event tls_extension_server_name(c: connection, is_orig: bool, names: string_vec) &priority=5
|
||||
{
|
||||
set_session(c);
|
||||
|
||||
if ( is_orig && extensions[code] == "server_name" )
|
||||
c$ssl$server_name = sub_bytes(val, 6, |val|);
|
||||
if ( is_orig && |names| > 0 )
|
||||
{
|
||||
c$ssl$server_name = names[0];
|
||||
if ( |names| > 1 )
|
||||
event conn_weird("SSL_many_server_names", c, cat(names));
|
||||
}
|
||||
}
|
||||
|
||||
event ssl_alert(c: connection, is_orig: bool, level: count, desc: count) &priority=5
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue