Client Fields

edit

A client is defined as the initiator of a network connection for events regarding sessions, connections, or bidirectional flow records.

For TCP events, the client is the initiator of the TCP connection that sends the SYN packet(s). For other protocols, the client is generally the initiator or requestor in the network transaction. Some systems use the term "originator" to refer the client in TCP connections. The client fields describe details about the system acting as the client in the network event. Client fields are usually populated in conjunction with server fields. Client fields are generally not populated for packet-level events.

Client / server representations can add semantic context to an exchange, which is helpful to visualize the data in certain situations. If your context falls in that category, you should still ensure that source and destination are filled appropriately.

Client Field Details

edit
Field Description Level

client.address

Some event client addresses are defined ambiguously. The event will sometimes list an IP, a domain or a unix socket. You should always store the raw address in the .address field.

Then it should be duplicated to .ip or .domain, depending on which one it is.

type: keyword

extended

client.bytes

Bytes sent from the client to the server.

type: long

example: 184

core

client.domain

Client domain.

type: keyword

core

client.ip

IP address of the client (IPv4 or IPv6).

type: ip

core

client.mac

MAC address of the client.

type: keyword

core

client.nat.ip

Translated IP of source based NAT sessions (e.g. internal client to internet).

Typically connections traversing load balancers, firewalls, or routers.

type: ip

extended

client.nat.port

Translated port of source based NAT sessions (e.g. internal client to internet).

Typically connections traversing load balancers, firewalls, or routers.

type: long

extended

client.packets

Packets sent from the client to the server.

type: long

example: 12

core

client.port

Port of the client.

type: long

core

client.registered_domain

The highest registered client domain, stripped of the subdomain.

For example, the registered domain for "foo.example.com" is "example.com".

This value can be determined precisely with a list like the public suffix list (http://publicsuffix.org). Trying to approximate this by simply taking the last two labels will not work well for TLDs such as "co.uk".

type: keyword

example: example.com

extended

client.subdomain

The subdomain portion of a fully qualified domain name includes all of the names except the host name under the registered_domain. In a partially qualified domain, or if the the qualification level of the full name cannot be determined, subdomain contains all of the names below the registered domain.

For example the subdomain portion of "www.east.mydomain.co.uk" is "east". If the domain has multiple levels of subdomain, such as "sub2.sub1.example.com", the subdomain field should contain "sub2.sub1", with no trailing period.

type: keyword

example: east

extended

client.top_level_domain

The effective top level domain (eTLD), also known as the domain suffix, is the last part of the domain name. For example, the top level domain for example.com is "com".

This value can be determined precisely with a list like the public suffix list (http://publicsuffix.org). Trying to approximate this by simply taking the last label will not work well for effective TLDs such as "co.uk".

type: keyword

example: co.uk

extended

Field Reuse

edit
Field sets that can be nested under Client
edit
Nested fields Description

client.as.*

Fields describing an Autonomous System (Internet routing prefix).

client.geo.*

Fields describing a location.

client.user.*

Fields to describe the user relevant to the event.