also extract payload data in ssl_heartbeat

This commit is contained in:
Bernhard Amann 2014-04-08 12:44:51 -07:00
parent f2c2da92c6
commit 2942a26280
4 changed files with 7 additions and 7 deletions

View file

@ -26,7 +26,7 @@ export {
}; };
} }
event ssl_heartbeat(c: connection, is_orig: bool, length: count, heartbeat_type: count, payload_length: count) event ssl_heartbeat(c: connection, is_orig: bool, length: count, heartbeat_type: count, payload_length: count, payload: string)
{ {
if ( heartbeat_type == 1 ) if ( heartbeat_type == 1 )
{ {

View file

@ -141,4 +141,4 @@ event ssl_session_ticket_handshake%(c: connection, ticket_lifetime_hint: count,
event ssl_encrypted_heartbeat%(c: connection, is_orig: bool, length: count%); event ssl_encrypted_heartbeat%(c: connection, is_orig: bool, length: count%);
event ssl_heartbeat%(c: connection, is_orig: bool, length: count, heartbeat_type: count, payload_length: count%); event ssl_heartbeat%(c: connection, is_orig: bool, length: count, heartbeat_type: count, payload_length: count, payload: string%);

View file

@ -325,11 +325,11 @@ refine connection SSL_Conn += {
return true; return true;
%} %}
function proc_heartbeat(rec : SSLRecord, type: uint8, payload_length: uint16) : bool function proc_heartbeat(rec : SSLRecord, type: uint8, payload_length: uint16, data: bytestring) : bool
%{ %{
BifEvent::generate_ssl_heartbeat(bro_analyzer(), BifEvent::generate_ssl_heartbeat(bro_analyzer(),
bro_analyzer()->Conn(), ${rec.is_orig}, ${rec.length}, type, payload_length); bro_analyzer()->Conn(), ${rec.is_orig}, ${rec.length}, type, payload_length,
new StringVal(data.length(), (const char*) data.data()));
return true; return true;
%} %}
@ -353,7 +353,7 @@ refine typeattr ApplicationData += &let {
}; };
refine typeattr Heartbeat += &let { refine typeattr Heartbeat += &let {
proc : bool = $context.connection.proc_heartbeat(rec, type, payload_length); proc : bool = $context.connection.proc_heartbeat(rec, type, payload_length, data);
}; };
refine typeattr ClientHello += &let { refine typeattr ClientHello += &let {

View file

@ -233,7 +233,7 @@ type ApplicationData(rec: SSLRecord) = record {
type Heartbeat(rec: SSLRecord) = record { type Heartbeat(rec: SSLRecord) = record {
type : uint8; type : uint8;
payload_length : uint16; payload_length : uint16;
data : bytestring &restofdata &transient; data : bytestring &restofdata;
}; };
###################################################################### ######################################################################