mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
dns_HINFO_reply event was never being generated.
On top of that, I modified the event to pass the relevant fields from the DNS message.
This commit is contained in:
parent
eeee2c41a3
commit
15b294098c
5 changed files with 36 additions and 10 deletions
|
@ -1650,15 +1650,6 @@ bool DNS_Interpreter::ParseRR_WKS(detail::DNS_MsgInfo* msg,
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DNS_Interpreter::ParseRR_HINFO(detail::DNS_MsgInfo* msg,
|
|
||||||
const u_char*& data, int& len, int rdlength)
|
|
||||||
{
|
|
||||||
data += rdlength;
|
|
||||||
len -= rdlength;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
static StringValPtr
|
static StringValPtr
|
||||||
extract_char_string(analyzer::Analyzer* analyzer,
|
extract_char_string(analyzer::Analyzer* analyzer,
|
||||||
const u_char*& data, int& len, int& rdlen)
|
const u_char*& data, int& len, int& rdlen)
|
||||||
|
@ -1687,6 +1678,29 @@ extract_char_string(analyzer::Analyzer* analyzer,
|
||||||
return rval;
|
return rval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool DNS_Interpreter::ParseRR_HINFO(detail::DNS_MsgInfo* msg,
|
||||||
|
const u_char*& data, int& len, int rdlength)
|
||||||
|
{
|
||||||
|
if ( ! dns_HINFO_reply || msg->skip_event )
|
||||||
|
{
|
||||||
|
data += rdlength;
|
||||||
|
len -= rdlength;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto cpu = extract_char_string(analyzer, data, len, rdlength);
|
||||||
|
auto os = extract_char_string(analyzer, data, len, rdlength);
|
||||||
|
|
||||||
|
if ( dns_HINFO_reply )
|
||||||
|
analyzer->EnqueueConnEvent(dns_HINFO_reply,
|
||||||
|
analyzer->ConnVal(),
|
||||||
|
msg->BuildHdrVal(),
|
||||||
|
msg->BuildAnswerVal(),
|
||||||
|
cpu, os);
|
||||||
|
|
||||||
|
return rdlength == 0;
|
||||||
|
}
|
||||||
|
|
||||||
bool DNS_Interpreter::ParseRR_TXT(detail::DNS_MsgInfo* msg,
|
bool DNS_Interpreter::ParseRR_TXT(detail::DNS_MsgInfo* msg,
|
||||||
const u_char*& data, int& len, int rdlength,
|
const u_char*& data, int& len, int rdlength,
|
||||||
const u_char* msg_start)
|
const u_char* msg_start)
|
||||||
|
|
|
@ -334,7 +334,8 @@ event dns_WKS_reply%(c: connection, msg: dns_msg, ans: dns_answer%);
|
||||||
## dns_mapping_valid dns_message dns_query_reply dns_rejected dns_request
|
## dns_mapping_valid dns_message dns_query_reply dns_rejected dns_request
|
||||||
## dns_max_queries dns_session_timeout dns_skip_addl
|
## dns_max_queries dns_session_timeout dns_skip_addl
|
||||||
## dns_skip_all_addl dns_skip_all_auth dns_skip_auth
|
## dns_skip_all_addl dns_skip_all_auth dns_skip_auth
|
||||||
event dns_HINFO_reply%(c: connection, msg: dns_msg, ans: dns_answer%);
|
event dns_HINFO_reply%(c: connection, msg: dns_msg, ans: dns_answer, cpu: string, os: string%);
|
||||||
|
event dns_HINFO_reply%(c: connection, msg: dns_msg, ans: dns_answer%) &deprecated="Remove in v5.2. Use the definition with the extra parameters for cpu and os.";
|
||||||
|
|
||||||
## Generated for DNS replies of type *MX*. For replies with multiple answers, an
|
## Generated for DNS replies of type *MX*. For replies with multiple answers, an
|
||||||
## individual event of the corresponding type is raised for each.
|
## individual event of the corresponding type is raised for each.
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||||
|
HINFO, [id=51592, opcode=0, rcode=0, QR=T, AA=T, TC=F, RD=T, RA=T, Z=0, num_queries=1, num_answers=1, num_auth=0, num_addl=1], [answer_type=1, query=zeek.example.net, qtype=13, qclass=1, TTL=1.0 hr], INTEL-386, Windows
|
BIN
testing/btest/Traces/dns/hinfo.pcap
Normal file
BIN
testing/btest/Traces/dns/hinfo.pcap
Normal file
Binary file not shown.
9
testing/btest/scripts/base/protocols/dns/hinfo.zeek
Normal file
9
testing/btest/scripts/base/protocols/dns/hinfo.zeek
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# @TEST-EXEC: zeek -b -r $TRACES/dns/hinfo.pcap %INPUT
|
||||||
|
# @TEST-EXEC: btest-diff .stdout
|
||||||
|
|
||||||
|
@load base/protocols/dns
|
||||||
|
|
||||||
|
event dns_HINFO_reply(c: connection, msg: dns_msg, ans: dns_answer, cpu: string, os: string)
|
||||||
|
{
|
||||||
|
print "HINFO", msg, ans, cpu, os;
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue