Documentation
¶
Index ¶
Constants ¶
View Source
const ConnPrefix = "conn"
View Source
const ConnSummaryPrefixHyphen = "conn-summary"
View Source
const ConnSummaryPrefixUnderscore = "conn_summary"
View Source
const DNSPrefix = "dns"
View Source
const HTTPPrefix = "http"
View Source
const OpenConnPrefix = "open_conn"
View Source
const OpenHTTPPrefix = "open_http"
View Source
const OpenSSLPrefix = "open_ssl"
View Source
const SSLPrefix = "ssl"
View Source
const ZeekDateTimeFmt = "2006-01-02-15-04-05"
ZeekDateTimeFmt is the common format for zeek header datetimes
Variables ¶
View Source
var ErrAllFilesPreviouslyImported = errors.New("all files were previously imported")
Functions ¶
This section is empty.
Types ¶
type ConnEntry ¶
type ConnEntry struct {
ImportTime time.Time `ch:"import_time"`
ZeekUID util.FixedString `ch:"zeek_uid"`
ImportID util.FixedString `ch:"import_id"`
Filtered bool `ch:"filtered"`
Hash util.FixedString `ch:"hash"`
Timestamp time.Time `ch:"ts"`
Src net.IP `ch:"src"`
Dst net.IP `ch:"dst"`
SrcNUID uuid.UUID `ch:"src_nuid"`
DstNUID uuid.UUID `ch:"dst_nuid"`
SrcPort uint16 `ch:"src_port"`
DstPort uint16 `ch:"dst_port"`
MissingHostHeader bool `ch:"missing_host_header"` // used to mark HTTP entries that have a missing host header
MissingHostUseragent string `ch:"missing_host_useragent"` // useragent for connections that have a missing host header
Proto string `ch:"proto"`
Service string `ch:"service"`
Duration float64 `ch:"duration"`
SrcLocal bool `ch:"src_local"`
DstLocal bool `ch:"dst_local"`
ICMPType int `ch:"icmp_type"`
ICMPCode int `ch:"icmp_code"`
SrcBytes int64 `ch:"src_bytes"`
DstBytes int64 `ch:"dst_bytes"`
SrcIPBytes int64 `ch:"src_ip_bytes"`
DstIPBytes int64 `ch:"dst_ip_bytes"`
SrcPackets int64 `ch:"src_packets"`
DstPackets int64 `ch:"dst_packets"`
ConnState string `ch:"conn_state"`
MissedBytes int64 `ch:"missed_bytes"`
ZeekHistory string `ch:"zeek_history"`
}
type DNSEntry ¶
type DNSEntry struct {
ImportTime time.Time `ch:"import_time"`
ZeekUID util.FixedString `ch:"zeek_uid"`
Hash util.FixedString `ch:"hash"`
Timestamp time.Time `ch:"ts"`
Src net.IP `ch:"src"`
Dst net.IP `ch:"dst"`
SrcNUID uuid.UUID `ch:"src_nuid"`
DstNUID uuid.UUID `ch:"dst_nuid"`
SrcPort uint16 `ch:"src_port"`
DstPort uint16 `ch:"dst_port"`
SrcLocal bool `ch:"src_local"`
DstLocal bool `ch:"dst_local"`
TransactionID uint16 `ch:"transaction_id"`
RoundTripTime float64 `ch:"round_trip_time"`
Query string `ch:"query"`
QueryClassCode uint16 `ch:"query_class_code"`
QueryClassName string `ch:"query_class_name"`
QueryTypeCode uint16 `ch:"query_type_code"`
QueryTypeName string `ch:"query_type_name"`
ResponseCode uint16 `ch:"response_code"`
ResponseCodeName string `ch:"response_code_name"`
AuthoritativeAnswer bool `ch:"authoritative_answer"`
RecursionDesired bool `ch:"recursion_desired"`
RecursionAvailable bool `ch:"recursion_available"`
Z uint16 `ch:"z"`
Answers []string `ch:"answers"`
TTLs []float64 `ch:"ttls"`
Rejected bool `ch:"rejected"`
// PDNS field
ResolvedIP net.IP `ch:"resolved_ip"`
}
type EntryChans ¶
type HTTPEntry ¶
type HTTPEntry struct {
ImportTime time.Time `ch:"import_time"`
ZeekUID util.FixedString `ch:"zeek_uid"`
Hash util.FixedString `ch:"hash"`
Timestamp time.Time `ch:"ts"`
Src net.IP `ch:"src"`
Dst net.IP `ch:"dst"`
SrcNUID uuid.UUID `ch:"src_nuid"`
DstNUID uuid.UUID `ch:"dst_nuid"`
MultiRequest bool `ch:"multi_request"`
SrcPort uint16 `ch:"src_port"`
DstPort uint16 `ch:"dst_port"`
Duration float64 `ch:"duration"`
SrcLocal bool `ch:"src_local"`
DstLocal bool `ch:"dst_local"`
SrcBytes int64 `ch:"src_bytes"`
DstBytes int64 `ch:"dst_bytes"`
SrcIPBytes int64 `ch:"src_ip_bytes"`
DstIPBytes int64 `ch:"dst_ip_bytes"`
SrcPackets int64 `ch:"src_packets"`
DstPackets int64 `ch:"dst_packets"`
Proto string `ch:"proto"`
Service string `ch:"service"`
ConnState string `ch:"conn_state"`
TransDepth uint16 `ch:"trans_depth"`
Method string `ch:"method"`
Host string `ch:"host"`
URI string `ch:"uri"`
Referrer string `ch:"referrer"`
HTTPVersion string `ch:"http_version"`
UserAgent string `ch:"useragent"`
Origin string `ch:"origin"`
StatusCode int64 `ch:"status_code"`
StatusMsg string `ch:"status_msg"`
InfoCode int64 `ch:"info_code"`
InfoMsg string `ch:"info_msg"`
Username string `ch:"username"`
Password string `ch:"password"`
SrcFUIDs []string `ch:"src_fuids"`
SrcFileNames []string `ch:"src_file_names"`
SrcMIMETypes []string `ch:"src_mime_types"`
DstFUIDs []string `ch:"dst_fuids"`
DstFileNames []string `ch:"dst_file_names"`
DstMIMETypes []string `ch:"dst_mime_types"`
}
type Importer ¶
type Importer struct {
Database *database.DB
ImportID util.FixedString
LogDirectory string
FileMap map[string][]string
EntryChannels EntryChans
MetaDBChannel chan MetaDBFile
Paths chan string
ErrChannel chan error
TotalFileCount int
DoneChannels DoneChans
Writers writers
WriteLimiter *rate.Limiter
ProgressBar *mpb.Progress
FileProgressBar *mpb.Bar
ProgressLogger *log.Logger
HTTPLinkMutex sync.Mutex
OpenHTTPLinkMutex sync.Mutex
NumParsers int
NumDigesters int
NumWriters int
ResultCounts ResultCounts
// contains filtered or unexported fields
}
type MetaDBFile ¶
type MetaDBFile struct {
// contains filtered or unexported fields
}
type ResultCounts ¶
type SSLEntry ¶
type SSLEntry struct {
ImportTime time.Time `ch:"import_time"`
ZeekUID util.FixedString `ch:"zeek_uid"`
Hash util.FixedString `ch:"hash"`
Timestamp time.Time `ch:"ts"`
Src net.IP `ch:"src"`
Dst net.IP `ch:"dst"`
SrcNUID uuid.UUID `ch:"src_nuid"`
DstNUID uuid.UUID `ch:"dst_nuid"`
SrcPort uint16 `ch:"src_port"`
DstPort uint16 `ch:"dst_port"`
Duration float64 `ch:"duration"`
SrcLocal bool `ch:"src_local"`
DstLocal bool `ch:"dst_local"`
SrcBytes int64 `ch:"src_bytes"`
DstBytes int64 `ch:"dst_bytes"`
SrcIPBytes int64 `ch:"src_ip_bytes"`
DstIPBytes int64 `ch:"dst_ip_bytes"`
SrcPackets int64 `ch:"src_packets"`
DstPackets int64 `ch:"dst_packets"`
Proto string `ch:"proto"`
Service string `ch:"service"`
ConnState string `ch:"conn_state"`
Version string `ch:"version"`
Cipher string `ch:"cipher"`
Curve string `ch:"curve"`
ServerName string `ch:"server_name"`
Resumed bool `ch:"resumed"`
NextProtocol string `ch:"next_protocol"`
Established bool `ch:"established"`
ServerCertFUIDs []string `ch:"server_cert_fuids"`
ClientCertFUIDs []string `ch:"client_cert_fuids"`
ServerSubject string `ch:"server_subject"`
ServerIssuer string `ch:"server_issuer"`
ClientSubject string `ch:"client_subject"`
ClientIssuer string `ch:"client_issuer"`
ValidationStatus string `ch:"validation_status"`
JA3 string `ch:"ja3"`
JA3S string `ch:"ja3s"`
}
type UniqueConn ¶
type UniqueFQDN ¶
type WaitGroups ¶
type ZeekHeader ¶
type ZeekHeader[Z zeekRecord] struct {
// contains filtered or unexported fields
}
ZeekHeader stores vars in the header of the zeek log
type ZeekUIDRecord ¶
type ZeekUIDRecord struct {
UID util.FixedString
Timestamp time.Time
UsedByFQDNBeacon bool
UsedByDNS bool
LinkedToHTTPEntry bool
NumUsedByHTTP int
Duration float64
SrcBytes int64
DstBytes int64
SrcIPBytes int64
DstIPBytes int64
SrcPackets int64
DstPackets int64
ConnState string
Proto string
Service string
}
Click to show internal directories.
Click to hide internal directories.