logdata

package
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 19, 2021 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BaseLogData

type BaseLogData struct {
	Timestamp  string              `json:"timestamp"`
	Session    string              `json:"session"`
	Type       string              `json:"type"`
	SourceIP   string              `json:"src_ip"`
	DestPort   uint16              `json:"dst_port"`
	Tags       map[string][]string `json:"matches"`
	InlineTags []string            `json:"inline_matches"`
	Additional map[string]string   `json:"embedded"`
}

BaseLogData is used as the base packet log and contains common data, such as the timestamp

func (*BaseLogData) Init

func (l *BaseLogData) Init(ev loggable.Loggable)

Init takes the common BaseEvent attributes to setup the BaseLogData struct

type HTTPEventLog

type HTTPEventLog struct {
	HTTP HTTPLogData `json:"http"`
	IP   IPLogData   `json:"ip"`
	BaseLogData
}

HTTPEventLog is the event log struct for reassembled HTTP packets

func (HTTPEventLog) String

func (eventLog HTTPEventLog) String() (string, error)

type HTTPLogData

type HTTPLogData struct {
	Verb          string            `json:"verb"`
	Proto         string            `json:"proto"`
	RequestURI    string            `json:"uri"`
	SourcePort    uint16            `json:"src_port"`
	DestHost      string            `json:"dst_host"`
	UserAgent     string            `json:"user_agent"`
	Headers       map[string]string `json:"headers"`
	HeadersKeys   []string          `json:"headers_keys"`
	HeadersValues []string          `json:"headers_values"`
	Errors        []string          `json:"errors"`
	Body          Payload           `json:"body"`
	IsTLS         bool              `json:"is_tls"`
}

HTTPLogData is the struct describing the logged data for reassembled HTTP packets

type ICMPv4EventLog

type ICMPv4EventLog struct {
	ICMPv4 ICMPv4LogData `json:"icmpv4"`
	IP     IPv4LogData   `json:"ip"`
	BaseLogData
}

ICMPv4EventLog is the event log struct for ICMPv4 packets

func (ICMPv4EventLog) String

func (eventLog ICMPv4EventLog) String() (string, error)

type ICMPv4LogData

type ICMPv4LogData struct {
	TypeCode     layers.ICMPv4TypeCode `json:"type_code"`
	Type         uint8                 `json:"type"`
	Code         uint8                 `json:"code"`
	TypeCodeName string                `json:"type_code_name"`
	Checksum     uint16                `json:"checksum"`
	ID           uint16                `json:"id"`
	Seq          uint16                `json:"seq"`
	Payload      Payload               `json:"payload"`
}

ICMPv4LogData is the struct describing the logged data for ICMPv4 packets

type ICMPv6EventLog

type ICMPv6EventLog struct {
	ICMPv6 ICMPv6LogData `json:"icmpv6"`
	IP     IPv6LogData   `json:"ip"`
	BaseLogData
}

ICMPv6EventLog is the event log struct for ICMPv6 packets

func (ICMPv6EventLog) String

func (eventLog ICMPv6EventLog) String() (string, error)

type ICMPv6LogData

type ICMPv6LogData struct {
	TypeCode     layers.ICMPv6TypeCode `json:"type_code"`
	Type         uint8                 `json:"type"`
	Code         uint8                 `json:"code"`
	TypeCodeName string                `json:"type_code_name"`
	Checksum     uint16                `json:"checksum"`
	Payload      Payload               `json:"payload"`
}

ICMPv6LogData is the struct describing the logged data for ICMPv6 packets

type IPLogData

type IPLogData interface{}

IPLogData is the interface used by packet structs supporting an IP layer

type IPv4LogData

type IPv4LogData struct {
	Version    uint8             `json:"version"`
	IHL        uint8             `json:"ihl"`
	TOS        uint8             `json:"tos"`
	Length     uint16            `json:"length"`
	ID         uint16            `json:"id"`
	Fragbits   string            `json:"fragbits"`
	FragOffset uint16            `json:"frag_offset"`
	TTL        uint8             `json:"ttl"`
	Protocol   layers.IPProtocol `json:"protocol"`
	IPLogData  `json:"-"`
}

IPv4LogData is the struct describing the logged data for IPv4 header

func NewIPv4LogData

func NewIPv4LogData(ipv4Layer helpers.IPv4Layer) IPv4LogData

NewIPv4LogData is used to create a new IPv4LogData struct

type IPv6LogData

type IPv6LogData struct {
	Version        uint8             `json:"version"`
	Length         uint16            `json:"length"`
	NextHeader     layers.IPProtocol `json:"next_header"`
	NextHeaderName string            `json:"next_header_name"`
	TrafficClass   uint8             `json:"traffic_class"`
	FlowLabel      uint32            `json:"flow_label"`
	HopLimit       uint8             `json:"hop_limit"`
	IPLogData      `json:"-"`
}

IPv6LogData is the struct describing the logged data for IPv6 header

func NewIPv6LogData

func NewIPv6LogData(ipv6Layer helpers.IPv6Layer) IPv6LogData

NewIPv6LogData is used to create a new IPv6LogData struct

type Payload

type Payload struct {
	Content   string `json:"content"`
	Base64    string `json:"base64"`
	Truncated bool   `json:"truncated"`
}

Payload is the struct describing the logged data packets' payload when supported

func NewPayloadLogData

func NewPayloadLogData(data []byte, maxLength uint64) Payload

NewPayloadLogData is used to create a new Payload struct

type TCPEventLog

type TCPEventLog struct {
	TCP TCPLogData `json:"tcp"`
	IP  IPLogData  `json:"ip"`
	BaseLogData
}

TCPEventLog is the event log struct for TCP packets

func (TCPEventLog) String

func (eventLog TCPEventLog) String() (string, error)

type TCPLogData

type TCPLogData struct {
	Window     uint16  `json:"window"`
	Seq        uint32  `json:"seq"`
	Ack        uint32  `json:"ack"`
	DataOffset uint8   `json:"data_offset"`
	Flags      string  `json:"flags"`
	Urgent     uint16  `json:"urgent"`
	Payload    Payload `json:"payload"`
}

TCPLogData is the struct describing the logged data for TCP packets

type UDPEventLog

type UDPEventLog struct {
	UDP UDPLogData `json:"udp"`
	IP  IPLogData  `json:"ip"`
	BaseLogData
}

UDPEventLog is the event log struct for UDP packets

func (UDPEventLog) String

func (eventLog UDPEventLog) String() (string, error)

type UDPLogData

type UDPLogData struct {
	Payload  Payload `json:"payload"`
	Length   uint16  `json:"length"`
	Checksum uint16  `json:"checksum"`
}

UDPLogData is the struct describing the logged data for UDP packets

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL