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 )
{

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_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;
%}
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(),
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;
%}
@ -353,7 +353,7 @@ refine typeattr ApplicationData += &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 {

View file

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