ECS::LogEntry::Dns
Inherits JSON::Serializable < Struct < Value < Object
Constructors
Instance methods
dns.answers
An array containing an object for each answer section returned by the server.
The main keys that should be present in these objects are defined by ECS. Records that have more information may contain more keys than what ECS defines.
Not all DNS data sources give all details about DNS answers. At minimum, answer
objects must contain the data key. If more information is available, map as
much of it to ECS as possible, and add any additional fields to the answer
objects as custom fields.
Level: Extended Type: Object Object Type: Keyword
dns.answers
An array containing an object for each answer section returned by the server.
The main keys that should be present in these objects are defined by ECS. Records that have more information may contain more keys than what ECS defines.
Not all DNS data sources give all details about DNS answers. At minimum, answer
objects must contain the data key. If more information is available, map as
much of it to ECS as possible, and add any additional fields to the answer
objects as custom fields.
Level: Extended Type: Object Object Type: Keyword
dns.header_flags
Array of 2 letter DNS header flags.
Expected values are: AA, TC, RD, RA, AD, CD, DO.
Level: Extended Type: Keyword Example:
["RD", "RA"]
dns.header_flags
Array of 2 letter DNS header flags.
Expected values are: AA, TC, RD, RA, AD, CD, DO.
Level: Extended Type: Keyword Example:
["RD", "RA"]
dns.id
The DNS packet identifier assigned by the program that generated the query. The identifier is copied to the response.
Level: Extended Type: Keyword Example:
62111
dns.id
The DNS packet identifier assigned by the program that generated the query. The identifier is copied to the response.
Level: Extended Type: Keyword Example:
62111
dns.op_code
The DNS operation code that specifies the kind of query in the message. This value is set by the originator of a query and copied into the response.
Level: Extended Type: Keyword Example:
QUERY
dns.op_code
The DNS operation code that specifies the kind of query in the message. This value is set by the originator of a query and copied into the response.
Level: Extended Type: Keyword Example:
QUERY
dns.resolved_ip
Array containing all IPs seen in answers.data.
The answers array can be difficult to use, because of the variety of data
formats it can contain. Extracting all IP addresses seen in there to
dns.resolved_ip makes it possible to index them as IP addresses, and makes them
easier to visualize and query for.
Level: Extended Type: IP Example:
["10.10.10.10", "10.10.10.11"]
dns.resolved_ip
Array containing all IPs seen in answers.data.
The answers array can be difficult to use, because of the variety of data
formats it can contain. Extracting all IP addresses seen in there to
dns.resolved_ip makes it possible to index them as IP addresses, and makes them
easier to visualize and query for.
Level: Extended Type: IP Example:
["10.10.10.10", "10.10.10.11"]
dns.response_code
The DNS response code.
Level: Extended Type: Keyword Example:
NOERROR
dns.response_code
The DNS response code.
Level: Extended Type: Keyword Example:
NOERROR
dns.type
The type of DNS event captured, query or answer.
If your source of DNS events only gives you DNS queries, you should only create
dns events of type dns.type:query.
If your source of DNS events gives you answers as well, you should create one event per query (optionally as soon as the query is seen). And a second event containing all query details as well as an array of answers.
Level: Extended Type: Keyword Example:
answer
dns.type
The type of DNS event captured, query or answer.
If your source of DNS events only gives you DNS queries, you should only create
dns events of type dns.type:query.
If your source of DNS events gives you answers as well, you should create one event per query (optionally as soon as the query is seen). And a second event containing all query details as well as an array of answers.
Level: Extended Type: Keyword Example:
answer