Skip to content

aes512/fastnetmon

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FastNetMon

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

Join to maillist Look at road map

License: GPLv2

FastNetMon - A high performance DoS/DDoS load analyzer built on top of multiple packet capture engines (NetFlow, IPFIX, sFLOW, netmap, PF_RING, PCAP).

What can we do? We can detect hosts in our own network with a large amount of packets per second/bytes per second or flow per second incoming or outgoing from certain hosts. And we can call an external script which can notify you, switch off a server or blackhole the client.

Build Status Gitter Stories in Progress

Supported packet capture engines:

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

You could look comparison table for all available packet capture engines.

Features:

  • Can process incoming and outgoing traffic
  • Can trigger block script if certain IP loads network with a large amount of packets/bytes/flows per second
  • Could announce blocked IPs to BGP router with ExaBGP
  • Have integration with Graphite
  • netmap support (open source; wire speed processing; only Intel hardware NICs or any hypervisor VM type)
  • Supports L2TP decapsulation, VLAN untagging and MPLS processing in mirror mode
  • Can work on server/soft-router
  • Can detect DoS/DDoS in 1-2 seconds
  • Tested up to 10GE with 12 Mpps on Intel i7 3820 with Intel NIC 82599
  • Complete plugin support
  • Have complete support for most popular attack types

Supported platforms:

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

Supported architecture:

  • x86_64

What is "flow" in FastNetMon terms? It's one or multiple udp, tcp, icmp connections with unique src IP, dst IP, src port, dst port and protocol.

Main program screen image:

Main screen image

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

Example deployment scheme: Network diagramm

Example of notification email about detected attack.

To enable sFLOW simply specify IP of server with installed FastNetMon and specify port 6343. To enable netflow simply specify IP of server with installed FastNetMon and specify port 2055.

Why did we write this? Because we can't find any software for solving this problem in the open source world!

How I can help project?

  • Test it!
  • Share your experience
  • Share your improvements
  • Test it with different equipment
  • Create feature requests

About

FastNetMon - very fast DDoS analyzer with sflow/netflow/mirror support

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 62.8%
  • C 27.7%
  • Perl 3.4%
  • Python 3.2%
  • CMake 1.4%
  • Shell 1.4%
  • Makefile 0.1%