The headers Task

headers is a packet header parsing Task.

The headers Task requires the capture Task as a Source Task for the Directive.

Configuration options

headers has no configuration options.

Conditions

headers is not directly affected by the conditions.

Output

ethernet

map ethernet holds Ethernet header fields.

ethernet.src

string src is the source MAC address.

ethernet.dst

string dst is the destination MAC address.

ethernet.ethtype

string ethtype is the EthType.


ipv4

map ipv4 holds IPv4 header fields.

ipv4.version

uint8 IP version, should always be 4.

ipv4.ihl

uint8 The Internet Header Length field contains the size of the IPv4 header.

ipv4.tos

uint8 The Type of Service is field has changed purposes over the years and is also called the Differentiated Services Code Point.

ipv4.length

uint16 Th Length field defines the entire packet size in bytes, including header and data.

ipv4.id

uint16 The ID field is an identification field and is primarily used for uniquely identifying the group of fragments of a single IP datagram.

ipv4.flags

string A three-bit field follows and is used to control or identify fragments. They are (in order, from most significant to least significant): +

  • bit 0: Reserved; must be zero.[note 1]

  • bit 1: Don’t Fragment (DF)

  • bit 2: More Fragments (MF)

ipv4.fragoffset

uint16 The fragment offset field is measured in units of eight-byte blocks. It is 13 bits long and specifies the offset of a particular fragment relative to the beginning of the original unfragmented IP datagram.

ipv4.ttl

uint8 An eight-bit time to live field helps prevent datagrams from persisting (e.g. going in circles) on an internet.

ipv4.protocol

string This field defines the protocol used in the data portion of the IP datagram.

ipv4.checksum

uint16 The 16-bit IPv4 header checksum field is used for error-checking of the header.

ipv4.src

string This field is the IPv4 address of the sender of the packet.

ipv4.dst

string This field is the IPv4 address of the receiver of the packet.

ipv4.options

array of strings A rare number of optional parameters that may be present in an Internet Protocol version 4 datagram.


ipv6

map ipv6 holds IPv6 header fields.

ipv6.version

uint8 IP version, should always be 6.

ipv6.trafficclass

uint8 The bits of this field hold two values. The six most-significant bits hold the differentiated services field (DS field), which is used to classify packets. Currently, all standard DS fields end with a '0' bit. Any DS field that ends with two '1' bits is intended for local or experimental use. The remaining two bits are used for Explicit Congestion Notification (ECN) ; priority values subdivide into ranges: traffic where the source provides congestion control and non-congestion control traffic.

ipv6.flowlabel

uint32 A high-entropy identifier of a flow of packets between a source and destination.

ipv6.length

uint16 The size of the payload in octets, including any extension headers.

ipv6.nextheader

string Specifies the type of the next header.

ipv6.hoplimit

uint8 Replaces the time to live field in IPv4. This value is decremented by one at each forwarding node and the packet is discarded if it becomes 0.

ipv6.src

string The unicast IPv6 address of the sending node.

ipv6.dst

string The IPv6 unicast or multicast address of the destination node(s).


tcp

map tcp holds TCP header fields.

tcp.src

string Identifies the sending port.

tcp.dst

string Identifies the receiving port.

tcp.seq

uint32 The Sequence Number has a dual role: If the SYN flag is set (1), then this is the initial sequence number. The sequence number of the actual first data byte and the acknowledged number in the corresponding ACK are then this sequence number plus 1. If the SYN flag is clear (0), then this is the accumulated sequence number of the first data byte of this segment for the current session.

tcp.ack

uint32 If the ACK flag is set then the value of this field is the next sequence number that the sender of the ACK is expecting. This acknowledges receipt of all prior bytes (if any). The first ACK sent by each end acknowledges the other end’s initial sequence number itself, but no data.

tcp.dataoffset

uint8 Specifies the size of the TCP header in 32-bit words.

tcp.fin

bool Last packet from sender.

tcp.syn

bool Synchronize sequence numbers.

tcp.rst

bool Reset the connection.

tcp.psh

bool Push function.

tcp.ack

bool Indicates that the Acknowledgment field is significant.

tcp.urg

bool Indicates that the Urgent pointer field is significant.

tcp.ece

bool ECN-Echo has a dual role, depending on the value of the SYN flag.

tcp.cwr

bool Congestion window reduced (CWR) flag is set by the sending host to indicate that it received a TCP segment with the ECE flag set and had responded in congestion control mechanism.

tcp.ns

bool ECN-nonce - concealment protection.

tcp.window

uint16 The size of the receive window, which specifies the number of window size units that the sender of this segment is currently willing to receive.

tcp.checksum

uint16 The 16-bit checksum field is used for error-checking of the TCP header, the payload and an IP pseudo-header.

tcp.urgent

uint16 If the URG flag is set, then this 16-bit field is an offset from the sequence number indicating the last urgent data byte.

tcp.options

array of strings A number of optional parameters that may be present.


udp

map udp holds UDP header fields.

udp.srcport

uint16 This field identifies the sender’s port.

udp.dstport

uint16 This field identifies the receiver’s port.

udp.length

uint16 This field specifies the length in bytes of the UDP header and UDP data.

udp.checksum

uint16 The checksum field may be used for error-checking of the header and data.