1
0
mirror of https://github.com/pavel-odintsov/fastnetmon synced 2024-11-23 09:12:14 +01:00
mirror of the fastnetmon repo with rewritten history
Go to file
2016-07-08 09:54:10 +03:00
debian Remove dependency on numa 2015-06-05 12:35:22 +03:00
docs Add dathost.net to happy customers 2016-07-05 10:02:39 +02:00
packages new release notes file 2015-10-04 13:57:23 -03:00
src fix line 12 install.pl, remove 1. 2016-07-05 11:55:15 -03:00
.travis.yml Enable PF_RING kernel module build for all distributions 2015-08-02 23:24:38 +02:00
LICENSE Initial commit 2013-10-18 03:09:53 -07:00
README.md Add warning about tracking code in 1.1.3 version 2016-07-08 09:54:10 +03:00

FastNetMon

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

Gitter

Project

Plese keep in mind! We will ask your email from install script. Also FastNetMon will send your traffic speed to monitoring server each hour. We will keep this information secret and it's required only for monitoring number of customers and further toolkit optimizations.

Supported packet capture engines

  • NetFlow v5, v9
  • IPFIX
  • sFLOW v4 (since 1.1.3), v5
  • Port mirror/SPAN capture with PF_RING (with ZC/DNA mode support need license), SnabbSwitch, NETMAP and PCAP

You can check out the comparison table for all available packet capture engines.

Features

  • Complete BGP Flow Spec support, RFC 5575
  • Process and distinguish incoming and/or outgoing traffic
  • Trigger block/notify script if an IP exceeds defined thresholds for packets/bytes/flows per second
  • Thresholds can be configured per-subnet with the hostgroups feature
  • Announce blocked IPs via BGP to routers with ExaBGP
  • GoBGP integration for unicast IPv4 announcements (you need build support manually).
  • Full integration with Graphite and InfluxDB
  • API (you need build support manually)
  • Redis integration
  • MongoDB integration
  • Deep packet inspection for attack traffic
  • netmap support (open source; wire speed processing; only Intel hardware NICs or any hypervisor VM type)
  • SnabbSwitch support (open source, very flexible, LUA driven, very-very-very fast)
  • Filter NetFlow v5 flows or sFLOW packets with LUA scripts (useful for excluding particular ports)
  • Supports L2TP decapsulation, VLAN untagging and MPLS processing in mirror mode
  • Works on server/soft-router
  • Detects DoS/DDoS in as little as 1-2 seconds
  • Tested up to 10Gb with 12 Mpps on Intel i7 3820 with Intel NIC 82599
  • Complete plugin support
  • Captures attack fingerprints in PCAP format
  • Complete support for most popular attack types

Running Fastnetmon

Supported platforms

  • Linux (Debian 6/7/8, CentOS 6/7, Ubuntu 12+)
  • FreeBSD 9, 10, 11 (only 1.1.2 release)
  • Mac OS X Yosemite (only 1.1.2 release)

Supported architectures

  • x86 64 bit (recommended)
  • x86 32 bit

Router integration instructions

Distributions supported

Screenshoots

Main program screenshot:

Main screen image

Example CPU load on Intel i7 2600 with Intel X540/82599 NIC at 400 kpps load: Cpu consumption

Example deployment scheme: Network diagramm

Example of notification email about detected attack.

How I can help project?

  • We are looking for a maintainer for the Debian and Fedora/EPEL packages
  • Test it!
  • Share your experience
  • Share your use cases
  • Share your improvements
  • Test it with different equipment
  • Create feature requests

Author: Pavel Odintsov pavel.odintsov at gmail.com Follow my Twitter