ZEEK(8)

πŸ“¦ version 6.0.4, in epel 9, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable

πŸ’– ZEEK(8) πŸ’–

System Administration Utilities ✨ β€” okay bestie, this is the manual page for zeek(8), and we are gonna get you fluent in it, no cap.


🌸 NAME 🌸

zeek β€” your passive network traffic analyzer, and honestly? she's the main character of network security.


✨ SYNOPSIS ✨

zeek [options] [file ...]

πŸ¦‹ DESCRIPTION πŸ¦‹

So like, Zeek is primarily a security monitor β€” she inspects all traffic on a link, in depth, looking for signs of suspicious activity. That's her whole vibe. But ngl, that's not all she does: Zeek supports a wide range of traffic analysis tasks even outside the security domain, including performance measurements and helping with trouble-shooting. Versatile queen πŸ’…

Zeek comes with built-in functionality for a range of analysis and detection tasks, and here's the list, no skipping:

  • detecting malware by interfacing to external registries
  • reporting vulnerable versions of software seen on the network
  • identifying popular web applications
  • detecting SSH brute-forcing
  • validating SSL certificate chains
  • among others
⚠️ Real talk though: you must have the necessary permissions to access the files or interfaces specified. No permissions, no vibes. 😭

πŸŽ€ OPTIONS πŸŽ€

  • <file> β€” policy file, or read stdin. Your call, bestie.

  • -a, --parse-only β€” exit immediately after parsing scripts. Like, parse and dip. 🫢
  • -b, --bare-mode β€” don't load scripts from the base/ directory. Strip it down, minimal aesthetic.
  • -d, --debug-policy β€” activate policy file debugging. πŸ‘‘
  • -e, --exec <zeek code> β€” augment loaded policies by given code.
  • -f, --filter <filter> β€” tcpdump filter.
  • -h, --help|-? β€” command line help. We love a helpful icon.
  • -i, --iface <interface> β€” read from given interface.
  • -p, --prefix <prefix> β€” add given prefix to policy file resolution.
  • -r, --readfile <readfile> β€” read from given tcpdump file.
  • -s, --rulefile <rulefile> β€” read rules from given file.
  • -t, --tracefile <tracefile> β€” activate execution tracing.
  • -w, --writefile <writefile> β€” write to given tcpdump file.
  • -v, --version β€” print version and exit. Short and sweet, periodt.
  • -x, --print-state <file.bst> β€” print contents of state file.
  • -C, --no-checksums β€” okay so when this option is set, Zeek ignores invalid packet checksums and does process the packets. Furthermore, if this option is set Zeek also processes IP packets with a zero total length field, which is typically caused by TCP (TCP Segment Offloading) on the NIC. 😀
  • -F, --force-dns β€” force DNS.
  • -I, --print-id <ID name> β€” print out given ID.
  • -N, --print-plugins β€” print available plugins and exit (-NN for verbose). Double the N, double the tea β˜•
  • -P, --prime-dns β€” prime DNS.
  • -Q, --time β€” print execution time summary to stderr.
  • -R, --replay <events.bst> β€” replay events. it's giving time travel πŸ•°οΈ
  • -S, --debug-rules β€” enable rule debugging.
  • -T, --re-level <level> β€” set 'RE_level' for rules.
  • -U, --status-file <file> β€” Record process status in file.
  • -W, --watchdog β€” activate watchdog timer. she's watching 🐢
  • -X, --zeekygen <cfgfile> β€” generate documentation based on config file.
  • --pseudo-realtime[=<speedup>] β€” enable pseudo-realtime for performance evaluation (default 1).
  • --load-seeds <file> β€” load seeds from given file.
  • --save-seeds <file> β€” save seeds to given file.

The following option is available only when Zeek is built with the --enable-debug configure option:

  • -B, --debug <dbgstreams> β€” Enable debugging output for selected streams ('-B help' for help).

The following options are available only when Zeek is built with gperftools support (use the --enable-perftools and --enable-perftools-debug configure options):

  • -m, --mem-leaks β€” show leaks.
  • -M, --mem-profile β€” record heap.

🌈 ENVIRONMENT 🌈

  • ZEEKPATH β€” file search path.
  • ZEEK_PLUGIN_PATH β€” plugin search path.
  • ZEEK_PLUGIN_ACTIVATE β€” plugins to always activate.
  • ZEEK_PREFIXES β€” prefix list.
  • ZEEK_DNS_FAKE β€” disable DNS lookups.
  • ZEEK_SEED_FILE β€” file to load seeds from.
  • ZEEK_LOG_SUFFIX β€” ASCII log file extension.
  • ZEEK_PROFILER_FILE β€” Output file for script execution statistics.
  • ZEEK_DISABLE_ZEEKYGEN β€” Disable Zeekygen (Broxygen) documentation support.

πŸ’œ OUTPUT FORMAT πŸ’œ

Output is written in multiple files depending on configuration. The default location is the current directory. 🏠

The output written by Zeek can be formatted in multiple ways using the logging framework.

The default are files in human-readable (ASCII) format. The data is organized into columns (tab-delimited). The data can be processed using, e.g., the zeek-cut tool. Slay.


⭐ EXAMPLES ⭐

Read a capture file and generate the default logs:

# zeek -r test-capture.pcap

When running on live traffic, Zeek is usually started by running zeekctl. To configure Zeek with an initial configuration, install, and restart:

# zeekctl deploy
πŸ“ Note: the zeekctl configuration may need to be updated before first use. Especially the network interface used should be the correct one. (Check it twice, bestie, fr fr.)

πŸ‘‘ SEE ALSO πŸ‘‘

zeekctl(8) zeek-cut(1)


🌸 AUTHOR 🌸

zeek was written by The Zeek Project <info@zeek.org>.


okay that's the whole page, you ate that πŸ’… β€” this was zeek, from the System Administration Utilities manual, dated November 2014, version vibes included. Go forth and analyze some traffic, bestie πŸ¦‹βœ¨

πŸ“¦ where this page comes from