Tools for distributed pcap recording (osmo-pcap-server, osmo-pcap-client) https://osmocom.org/projects/osmo-pcap
Go to file
Oliver Smith 7aa63021b6 osmoappdesc.py: switch to python 3
Make build and external tests work with python3, so we can drop
the python2 dependency.

Note that the external tests, which are using this file, are currently
not enabled in jenkins (OS#4317). However, I've manually verified that the
external tests work with this change.

Related: OS#2819
Depends: osmo-python-tests I3ffc3519bf6c22536a49dad7a966188ddad351a7
Change-Id: I19a996458745026cff60608710944e5ab76d8976
2019-12-11 09:38:21 +01:00
contrib contrib/jenkins.sh: run "make maintainer-clean" 2019-07-10 12:30:53 +02:00
debian Bump version: 0.1.0.2-ce06 → 0.1.1 2019-08-07 13:12:48 +02:00
doc Install cfg files with autotools 2018-11-01 12:52:22 +01:00
include server: Add pcap snaplen VTY cmd 2018-10-08 20:20:43 +02:00
src Remove undefined param passed to {logging,osmo_stats}_vty_add_cmds 2019-08-05 16:28:11 +02:00
tests tests/Makefile.am: Fix "./configure && make clean && make" 2019-07-04 12:21:33 +02:00
.gitignore gitignore: fix application names 2019-07-04 15:35:05 +02:00
.gitreview Add gitreview config 2017-08-22 12:34:59 +02:00
.travis.yml client: Initial support for TLS in the client 2016-09-08 16:16:55 +02:00
AUTHORS osmo-pcap: Start with the autoconf/automake skeleton for this project 2011-05-31 10:19:47 +02:00
COPYING osmo-pcap: Start with the autoconf/automake skeleton for this project 2011-05-31 10:19:47 +02:00
Makefile.am Fix DISTCHECK_CONFIGURE_FLAGS override 2018-12-04 15:44:40 +01:00
README.md Cosmetic: README.md: document how to run tests 2019-12-10 15:39:50 +01:00
TLS_TODO tls: Add initial ideas about TLS in the client/server 2016-09-08 15:48:02 +02:00
TODO misc: Update the todo with an obvious thing to do 2016-08-12 11:01:59 +02:00
configure.ac Require libosmocore 0.11.0 2019-08-07 13:11:03 +02:00
git-version-gen misc: Fix the version determination of git-version-gen 2012-11-06 08:48:33 +01:00
osmoappdesc.py osmoappdesc.py: switch to python 3 2019-12-11 09:38:21 +01:00

README.md

osmo-pcap distributed network capture

osmo-pcap has been created to collect network traces at different nodes but store them centrally at a dedicated note for further analysis. This might be needed for auditing, resolving conflicts, post processing or debugging a distributed system.

The system consists out of the osmo-pcap-client to capture traffic at a host and osmo-pcap-server to receive the traffic, store and rotate the traffic at a centralized server. There is a shell script to compress and expire old traces.

osmo-pcap-client

The osmo-pcap-client is using libpcap and has a built-in detector for the GPRS-NS/BSSGP protocol to exclude user traffic. The client is known to work on 32/64 bit systems. It can be configured through the VTY and the minimal config includes the interface to monitor, the pcap filter to use and the server to send it to.

osmo-pcap-server

The osmo-pcap-server will listen for new TCP connections and then will receive the data from the client if it is coming from a known/good source IPv4/port. The server is configured to write one file per client and to change/rotate the file when the link encapsulation is changing. It can be configured to rotate the file a given time interval and/or if the filesize is over a threshold.

The osmo-pcap-server comes with a shell script to rotate and compress old traces. Currently the configuration parameters (age or amount based) need to be tuned in the script itself.

Installation and Configuration

There are Debian, Ubuntu, Raspbian packages available via the excellent openSUSE Build Service.

Please see the contrib/osmo-pcap-server.cfg and contrib/osmo-pcap-client.cfg file in the repository

Running tests

In order to run all tests, do the following:

$ ./configure --enable-external-tests $ make -j5 $ sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' src/osmo-pcap-client $ make check

Wishlist/TODO

  • Add non-blocking TLS (probably GNUtls) support between client and server.
  • Improve the clean-up script, maybe re-write in python with exteral configuration.
  • Add hooks to the server to have an application receive all packages

Author and License

osmo-pcap has been created by Holger Hans Peter Freyther (holger@freyther.de) and is licensed as AGPLv3+. The author appreciates failure or success reports of using the software.