Description
FastNetMon - A high performance DoS/DDoS load analyzer built on top of multiple packet capture engines (NetFlow, IPFIX, sFLOW, SnabbSwitch, netmap, PF_RING, PCAP).
What can we do? We can detect hosts in our networks sending or receiving large volumes of packets/bytes/flows per second. We can call an external script to notify you, switch off a server, or blackhole the client.
To enable sFLOW, simply specify IP of the server running FastNetMon and specify (configurable) port 6343
To enable netflow, simply specify IP of the server running FastNetMon and specify (configurable) port 2055
Why did we write this? Because we can't find any software for solving this problem in the open source world!
What is a "flow" in FastNetMon terms? It's one or multiple UDP, TCP, or ICMP connections with unique src IP, dst IP, src port, dst port, and protocol.
License: GPLv2
README
Community Edition
FastNetMon - A high performance DoS/DDoS load analyzer built on top of multiple packet capture engines (NetFlow, IPFIX, sFlow, AF_PACKET, Netmap, PCAP).
What do we do?
We detect hosts in the deployed network sending or receiving large volumes of traffic, packets/bytes/flows, per second and perform a configurable action to handle that event. These configurable actions include notifying you, switching off the server, or blackholing the client.
Flow is one or more ICMP, UDP, or TCP packets which can be identified via their unique src IP, dst IP, src port, dst port, and protocol fields.
Project
- Official site
- FastNetMon Advanced, Commercial Edition, order free one month trial
- FastNetMon Advanced and Community difference table
- Detailed reference: link
Supported packet capture engines
- NetFlow v5, v9, v9 lite (dev branch)
- IPFIX
v5
- PCAP
- AF_PACKET (recommended)
- Netmap (deprecated)
- PF_RING / PF_RING ZC (deprecated, available only for CentOS 6 in 1.2.0)
You can check out the comparison table for all available packet capture engines.
Official support groups:
- Mailing list
- Slack
- IRC: #fastnetmon at irc.libera.chat:6697 (TLS) web client
- Telegram: fastnetmon
- Discord: fastnetmon
Follow us at social media:
Complete integration with the following vendors
- [Juniper integration](src/juniper_plugin)
- [A10 Networks Thunder TPS Appliance integration](src/a10_plugin)
- [MikroTik RouterOS](src/mikrotik_plugin)
Features
- Detects DoS/DDoS in as little as 1-2 seconds
- Scales up to terabits on single server (sFlow, Netflow, IPFIX) or to 40G + in mirror mode
- Trigger block/notify script if an IP exceeds defined thresholds for packets/bytes/flows per second
- Complete support for most popular attack types
- Thresholds can be configured per-subnet basis with the hostgroups feature
- Email notifications about detected attack
- IPv6 support for mirror, Netflow and IPFIX modes
- Announce blocked IPs via BGP to routers with ExaBGP or GoBGP (recommended)
- Full integration with Graphite and InfluxDB
- API
- Redis integration
- MongoDB integration
- Supports L2TP decapsulation, VLAN untagging in mirror mode
- Complete plug-in support
- Capture attack fingerprints in PCAP format
- Experimental BGP Flow Spec support, RFC 5575
Running FastNetMon
Hardware requirements
- At least 1 GB of RAM
Installation
- Linux (Debian, CentOS, RHEL, Ubuntu), install instructions
- VyOS
- FreeBSD: official port.
Router integration instructions
Screenshots
[Main screen image](docs/images/fastnetmon_screen.png)
Example deployment scheme
[Network diagramm](docs/images/deploy.png)