Network File System Monitor
NFS and CIFS tracing/monitoring/capturing/analyzing tool
It performs live Ethernet 1 Gbps – 10 Gbps packets capturing and helps to determine NFS/CIFS procedures in raw network traffic. Furthermore, it performs filtration, dumping, compression, statistical analysis, visualization and provides the API for custom pluggable analysis modules.
nfstrace is written in C++ programming language and supports the following protocols:
Ethernet
IPv4 | IPv6
UDP | TCP
NFSv3 | NFSv4 | NFSv4.1 | CIFSv1 | CIFSv2
nfstrace has been tested on the following GNU/Linux and FreeBSD systems:
Debian Sid packages build-logs
Fedora 26
OpenSUSE 13.2
Ubuntu 16.04 LTS
CentOS 7
Arch Linux
FreeBSD 10.1
Alt Linux 7.0.5
External Dependencies
PCAP library (core component)
JSON-C library (used for libjson.so plugin)
Curses (used for libwatch.so plugin)
GMock (used for testing)
Building
Since nfstrace is written in C++ you have to use gcc >= 6 or clang >= 3.8. Additionally, you need to install development version of libpcap (version 1.3 or newer).
You can build nfstrace using CMake (version 3.0 or newer). From the top level project’s directory run:
$ mkdir release
$ cd release
$ cmake -DCMAKE_BUILD_TYPE=release ../
$ make
If you want to use specific compiler you can set the CC and CXX environment variables:
$ CC="path/to/clang" CXX="path/to/clang++" cmake -DCMAKE_BUILD_TYPE=release ../
If you want to build unit-tests initialize git submodules and provide a path to googltest directory via CMake option:
$ -DGTEST_SOURCE_DIR=/home/user/nfstrace/third_party/googletest
If you want to specify different installation prefix:
$ cmake -DCMAKE_INSTALL_PREFIX=/your/path ../
You can use different build tools, compilers, packaging systems with required parameters. Please refer to CMake, CPack andReference Manuals.
Installation
You can install nfstrace to default location. After you build nfstrace simply run:
$ sudo make install
If you’re using rpm- or debian based Linux distribution you can try to generate package for your system using cpack. Please note that you need rpm or debian tools to be installed.
In order to generate rpm package:
$ cpack -G RPM
In order to generate deb package:
$ cpack -G DEB
After that you’ll be able to install generated package using your package manager.
Download
NFS and CIFS tracing/monitoring/capturing/analyzing tool
It performs live Ethernet 1 Gbps – 10 Gbps packets capturing and helps to determine NFS/CIFS procedures in raw network traffic. Furthermore, it performs filtration, dumping, compression, statistical analysis, visualization and provides the API for custom pluggable analysis modules.
nfstrace is written in C++ programming language and supports the following protocols:
Ethernet
IPv4 | IPv6
UDP | TCP
NFSv3 | NFSv4 | NFSv4.1 | CIFSv1 | CIFSv2
nfstrace has been tested on the following GNU/Linux and FreeBSD systems:
Debian Sid packages build-logs
Fedora 26
OpenSUSE 13.2
Ubuntu 16.04 LTS
CentOS 7
Arch Linux
FreeBSD 10.1
Alt Linux 7.0.5
External Dependencies
PCAP library (core component)
JSON-C library (used for libjson.so plugin)
Curses (used for libwatch.so plugin)
GMock (used for testing)
Building
Since nfstrace is written in C++ you have to use gcc >= 6 or clang >= 3.8. Additionally, you need to install development version of libpcap (version 1.3 or newer).
You can build nfstrace using CMake (version 3.0 or newer). From the top level project’s directory run:
$ mkdir release
$ cd release
$ cmake -DCMAKE_BUILD_TYPE=release ../
$ make
If you want to use specific compiler you can set the CC and CXX environment variables:
$ CC="path/to/clang" CXX="path/to/clang++" cmake -DCMAKE_BUILD_TYPE=release ../
If you want to build unit-tests initialize git submodules and provide a path to googltest directory via CMake option:
$ -DGTEST_SOURCE_DIR=/home/user/nfstrace/third_party/googletest
If you want to specify different installation prefix:
$ cmake -DCMAKE_INSTALL_PREFIX=/your/path ../
You can use different build tools, compilers, packaging systems with required parameters. Please refer to CMake, CPack andReference Manuals.
Installation
You can install nfstrace to default location. After you build nfstrace simply run:
$ sudo make install
If you’re using rpm- or debian based Linux distribution you can try to generate package for your system using cpack. Please note that you need rpm or debian tools to be installed.
In order to generate rpm package:
$ cpack -G RPM
In order to generate deb package:
$ cpack -G DEB
After that you’ll be able to install generated package using your package manager.
Download