Skip to content

Commit 868137f

Browse files
andrewchiGitHub Enterprise
authored andcommitted
Merge pull request #578 from network-intelligence/dev
Mercury version 2.9.0 (dev -> trunk)
2 parents 8796185 + c596cd3 commit 868137f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

92 files changed

+2659
-668
lines changed

README.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ Mercury produces fingerprint strings for TLS, DTLS, SSH, HTTP, TCP, and other pr
2929
Mercury itself has minimal dependencies other than a g++ or llvm build environment, but to run the automated tests and ancillary programs in this package, you will need to install additional packages, as in the following Debian/Ubuntu example:
3030
```
3131
sudo apt install g++ jq git zlib1g-dev tcpreplay valgrind python3-pip libssl-dev clang
32-
pip3 install jsonschema
32+
python3 -m pip install --upgrade pip
33+
python3 -m pip install --upgrade jsonschema cryptography Cython wheel setuptools
3334
```
3435
To build mercury, in the root directory, run
3536
```
@@ -44,6 +45,7 @@ interface, since AF_PACKET is Linux-specific. The following has been tested
4445
on an M2 mac with Python 3.13.2 installed via the Homebrew command below.
4546
```
4647
brew install python openssl zlib
48+
brew install cmake # optional: libmerc can be also built with CMake
4749
mkdir -p ~/.envs
4850
python3 -m venv ~/.envs/merc
4951
source ~/.envs/merc/bin/activate
@@ -53,6 +55,16 @@ python3 -m pip install --upgrade jsonschema cryptography Cython wheel setuptools
5355
cd src/cython && make && make wheel
5456
```
5557

58+
In terms of runtime dependencies, the `mercury` standalone binary should only require:
59+
- [zlib](https://zlib.net)
60+
- [OpenSSL](https://www.openssl.org/)
61+
62+
The included [Dockerfile](Dockerfile) provides a working example on Debian.
63+
Ancillary tools such as the ones listed below may require other packages.
64+
- [pmercury](python/README.md) and associated tools: Python 3.8+ and several pip
65+
packages.
66+
- `batch_gcd`: [GNU Multiple Precision Arithmetic Library (GMP)](https://gmplib.org/)
67+
5668
### Installation
5769
In the root directory, edit mercury.cfg with the network interface you want to capture from, then run
5870
```
@@ -133,6 +145,7 @@ GENERAL OPTIONS
133145
--certs-json # output certs as JSON, not base64
134146
--metadata # output more protocol metadata in JSON
135147
--raw-features # select protocols to write out raw features string(see --help)
148+
--network-behavioral-detections # perform network behavioral detections
136149
--minimize-ram # minimize the ram usage of mercury library
137150
[-v or --verbose] # additional information sent to stderr
138151
--license # write license information to stdout
@@ -276,8 +289,13 @@ DETAILS
276289
none None of the above
277290
<no option> None of the above
278291
292+
--network-behavioral-detections performs analysis on packets, sessions, and
293+
sets of sessions independent of the core mercury analysis functionality. These
294+
are not driven by the resources file. An example detection includes detecting
295+
residential proxies.
296+
279297
--minimize-ram minimizes the ram usage of mercury library by reducing classifer
280-
features and minimizing the maximum reassembly segments."
298+
features and minimizing the maximum reassembly segments.
281299
282300
[-v or --verbose] writes additional information to the standard error,
283301
including the packet count, byte count, elapsed time and processing rate, as

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.8.1
1+
2.9.0

aclocal.m4

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# generated automatically by aclocal 1.16.1 -*- Autoconf -*-
1+
# generated automatically by aclocal 1.18.1 -*- Autoconf -*-
22

3-
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
3+
# Copyright (C) 1996-2025 Free Software Foundation, Inc.
44

55
# This file is free software; the Free Software Foundation
66
# gives unlimited permission to copy and/or distribute it,

0 commit comments

Comments
 (0)