Skip to content

Commit 44f22fe

Browse files
committed
Add readme
1 parent 5a845ef commit 44f22fe

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

README.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Mercury for Zeek
2+
3+
This Zeek plugin implements the [Network Protocol Fingerprinting (NPF) format](https://github.com/cisco/mercury/blob/main/doc/npf.md) as specified in the [Mercury](https://github.com/cisco/mercury) project.
4+
5+
## Overview
6+
7+
The plugin inspects the following protocols and generates the NPF for them:
8+
9+
* TCP
10+
* TLS and DTLS
11+
* QUIC
12+
* HTTP
13+
* SSH
14+
* OpenVPN (requires installation of https://github.com/corelight/zeek-spicy-openvpn)
15+
* STUN (requires installation of https://github.com/corelight/zeek-spicy-stun)
16+
17+
## Installation
18+
19+
This plugin is distributed as a Zeek package. You can install it using the Zeek package manager `zkg` after cloning the repository using
20+
21+
```bash
22+
zkg install .
23+
```
24+
25+
### Configuration
26+
27+
The plugin provides configuration options to control the version of the fingerprints generated for some protocols.
28+
29+
#### QUIC
30+
31+
You can choose between two QUIC fingerprint versions:
32+
33+
* `Mercury::QUIC::MERCURY_QUIC` (default)
34+
* `Mercury::QUIC::MERCURY_QUIC_1`
35+
36+
To change the version, add the following to your `local.zeek`:
37+
38+
```zeek
39+
redef Mercury::QUIC::fingerprint_version = Mercury::QUIC::MERCURY_QUIC_1
40+
```
41+
42+
#### TLS/DTLS
43+
44+
You can choose between three TLS/DTLS fingerprint versions:
45+
46+
* `Mercury::TLS::MERCURY_TLS` (default)
47+
* `Mercury::TLS::MERCURY_TLS_1`
48+
* `Mercury::TLS::MERCURY_TLS_2`
49+
50+
To change the version, add the following to your `local.zeek`:
51+
52+
```zeek
53+
redef Mercury::TLS::fingerprint_version = Mercury::TLS::MERCURY_TLS_2;
54+
```

0 commit comments

Comments
 (0)