There are two ways you can start up ipfixprobe.
Ipfixprobe can be set up to be used as a daemon to continuously process incoming packets.
All you need to do is create NAME.conf (e.g. instance.conf
) file in /etc/ipfixprobe/
ℹ️ To see how to write your .conf
, check out our example file or for plugins specific option see plugins guide
⚠️ Exchange NAME for name of your .conf
file
sudo systemctl start ipfixprobe@NAME.service
sudo systemctl stop ipfixprobe@NAME.service
sudo systemctl enable ipfixprobe@NAME.service
sudo systemctl disable ipfixprobe@NAME.service
⚠️ If you are having trouble setting up ipfixprobe as systemd service make sure that:
.conf
file is in /etc/ipfixprobe/
.conf
filesystemctl status ipfixprobe@NAME.service
sudo journalctl -xeu ipfixprobe@NAME.service
/usr/bin/ipfixprobe/
ipfixprobed
in the init
directory and make sure the config2args.py
and scheme.json
are installed in IPFIXPROBE_LIB_DIR
(recompile after change)Once ipfixprobe is running, you can check out the process by
pgrep -af ipfixprobe
Or kill the process by
kill PROCESS_NUMBER
You can have more than one ipfixprobe instance running at the same time
⚠️ Some command line parameters for ipfixprobe and its plugins are NOT supported as systemd parameters. (most are) See example file above for all available options, or run ipfixprobe as a daemon from the command line (without the need for a .conf
file) by adding -d
flag.
Ipfixprobe supports manual launching from a terminal by specifying parameters.
⚠️ Remember: Ipfixprobe MUST be run with: 1 input
- 1 storage
- 0-N process
- 0-1 output
plugins at the same time
Lunch ipfixprobe from the terminal with raw socket
, cache
, and text
output.
ipfixprobe -i 'raw;i=eth0' -s cache -o text
ℹ️ For more information about plugins check out our plugin guide.
input
and storage
storage
and output
CMAKE_INSTALL_FULL_LIBDIR/ipfixprobe/
e.g. /usr/local/lib64/ipfixprobe
) Define the new path to the plugins directoryGet data from packet files or probes output stored in different formats for later usage.
You can use ipfixprobe with a combination of other tools from NEMEA to convert .pcap
files to .csv
(Comma Separated Values) format. To do this, you can choose from two options. Install ipfixprobe and dependencies locally or use a Docker image.
ℹ️ You can easily adjust this procedure to convert any Ipfixprobe input to CVS files.
1️⃣Install ipfixprobe (Check installation guide)
2️⃣Insatll ipfixprobe plugins
sudo dnf copr -y enable @CESNET/ipfixprobe
sudo dnf install ipfixprobe-nemea ipfixprobe-input-pcap ipfixprobe-nemea-process-experimental ipfixprobe-nemea-output-unirec
3️⃣Install Nemea
sudo dnf copr -y enable @CESNET/NEMEA
sudo dnf install nemea
4️⃣Install Extra Packages for Enterprise Linux
dnf install -y epel-release
1️⃣Install ipfixprobe (Check installation guide)
2️⃣Insatll ipfixprobe plugins
cd build
cmake -DENABLE_INPUT_PCAP=ON -DENABLE_OUTPUT_UNIREC=ON -DENABLE_PROCESS_EXPERIMENTAL=ON -DENABLE_NEMEA=ON ..
cd ..
make -j
make install
3️⃣Install Nemea
4️⃣Install Extra Packages for Enterprise Linux
dnf install -y epel-release
1️⃣ Create a .trapcap
file with ipfixprobe out of your .pcap
file. (replace NAME with path to pcap file)
ipfixprobe -i "pcap;file=NAME.pcap" -p "pstats" -p "nettisa" -o "unirec;i=f:tmpTrap.trapcap:timeout=WAIT;p=(pstats,nettisa)"
2️⃣ Conver .trapcap
file to .csv
file with NEMEA module logger
. (replace NAME with path to csv file)
/usr/bin/nemea/logger -t -i "f:tmpTrap.trapcap" -w "NAME.csv"
There could be more tools named logger
on your system. Use NEMEA module.
3️⃣ Remove the temporary .trapcap
file.
rm tmpTrap.trapcap
Use the provided Docker image to convert files from .pcap
to .csv
.
Ipfixprobe must be installed from source to use Docker image
Use the provided script in the build files (in the docker folder) for ipfixprobe to convert PCAP to CSV with a Docker image.
Provided script builds Docker image automatically. Make sure to be in the same directory as Dockerfile
.
bash ./ipfixprobe_wrapper.sh <process_script.sh> <input_file.pcap> <output_file.csv>
➡️ Example usage
bash ./ipfixprobe_wrapper.sh ./process_script.sh ../pcaps/mixed.pcap ./output.csv
docker build -t docker_ipfixprobe .
This is possible with Ipfixcol2 collector.
1️⃣ Install Ipfixprobe, see here.
2️⃣ Enable necessary ipfixprobe output plugins (IPFIX), see the plugins guide.
3️⃣ Install Ipfixcol2 from here
4️⃣ Create Ipfixcol2 config file. For input, use UDP
or TCP
plugin. For output use JSON
, IPFIX File
, or FSD File
. See Ipfixcol2 documentation for information on how to do this.
5️⃣ Lunch Ipfixprobe (lunch with u ipfix plugin parameter for UDP
).
ipfixprobe -i "pcap;i=eth0" -o "ipfix;host=127.0.0.1;port=4739"
6️⃣ Lunch collector (start after probe).
ipfixcol2 -c ipfixcol2-confign.xml
ℹ️ Use verbose parameters available both for Ipfixprobe and Ipfixcol2 for troubleshooting.
When monitoring network traffic with ipfixprobe, it is important to consider where and how to place the probe. Correct placement affects data visibility, performance, and the ability to detect security events.