1
0
Fork 0
mirror of https://github.com/pavel-odintsov/fastnetmon synced 2024-06-02 06:36:21 +02:00
fastnetmon-rewritten/README.md

119 lines
5.4 KiB
Markdown
Raw Normal View History

2014-06-08 20:49:25 +02:00
FastNetMon
2013-11-14 09:23:10 +01:00
===========
2015-10-06 17:37:27 +02:00
FastNetMon - A high performance DoS/DDoS load analyzer built on top of multiple packet capture engines (NetFlow, IPFIX, sFLOW, SnabbSwitch, netmap, PF_RING, PCAP).
2015-03-10 23:38:10 +01:00
2016-05-25 16:46:50 +02:00
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.
2015-06-15 11:59:12 +02:00
2016-05-25 16:46:50 +02:00
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
2015-06-18 09:01:33 +02:00
2015-10-06 17:37:27 +02:00
Why did we write this? Because we can't find any software for solving this problem in the open source world!
2015-08-27 16:07:30 +02:00
2016-05-25 16:46:50 +02:00
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.
2015-10-07 05:33:15 +02:00
License: GPLv2
2013-10-18 12:09:53 +02:00
2015-10-06 17:37:27 +02:00
Project
-------
- [Mailing list](https://groups.google.com/forum/#!forum/fastnetmon)
- [Roadmap](docs/ROADMAP.md)
2016-08-25 21:39:52 +02:00
- [Release Notes](https://github.com/pavel-odintsov/fastnetmon/releases)
2015-10-06 17:37:27 +02:00
- Chat: #fastnetmon at irc.freenode.net [web client](https://webchat.freenode.net/)
2016-05-25 16:46:50 +02:00
- [Please fill out the survey, we need your voice!](https://docs.google.com/forms/d/1YoXQImMeEjBH-JPz3KYtcDwknHs8xrI538ObwSy9uZo/viewform)
- Detailed reference in Russian: [link](docs/FastNetMon_Reference_Russian.pdf)
2015-05-02 18:36:34 +02:00
2015-10-06 17:37:27 +02:00
Supported packet capture engines
--------------------------------
2015-03-23 11:39:08 +01:00
- NetFlow v5, v9
- IPFIX
2016-07-04 18:51:19 +02:00
- ![sFLOW](http://sflow.org/images/sflowlogo.gif) v4 (since 1.1.3), v5
- Port mirror/SPAN capture with PF_RING (with ZC/DNA mode support [need license](http://www.ntop.org/products/pf_ring/)), SnabbSwitch, NETMAP and PCAP
2015-03-23 11:37:29 +01:00
2016-05-25 16:46:50 +02:00
You can check out the [comparison table](docs/CAPTURE_BACKENDS.md) for all available packet capture engines.
2015-04-28 21:39:08 +02:00
Complete integration with following vendors
--------------------------------
2016-07-28 16:54:16 +02:00
- [A10 Networks Thunder TPS Appliance integration](src/a10_plugin)
2017-03-18 01:35:59 +01:00
- [MikroTik RouterOS](src/mikrotik_plugin) Please use only RouterOS 6.38 or newer versions.
2016-08-11 23:39:39 +02:00
Travis status: ![Travis](https://travis-ci.org/pavel-odintsov/fastnetmon.svg?branch=master)
2015-10-06 17:37:27 +02:00
Features
--------
- Complete [BGP Flow Spec support](docs/BGP_FLOW_SPEC.md), RFC 5575
2016-05-25 16:46:50 +02:00
- 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](docs/EXABGP_INTEGRATION.md) via BGP to routers with [ExaBGP](https://github.com/Exa-Networks/exabgp)
- GoBGP [integration](docs/GOBGP.md) for unicast IPv4 announcements (you need build support manually).
2015-08-04 15:15:44 +02:00
- Full integration with [Graphite](docs/GRAPHITE_INTEGRATION.md) and [InfluxDB](docs/INFLUXDB_INTEGRATION.md)
- API (you need build support manually)
2015-10-01 11:23:14 +02:00
- Redis integration
- MongoDB integration
- Deep packet inspection for attack traffic
2015-03-15 19:07:19 +01:00
- 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)
2016-05-25 16:46:50 +02:00
- 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
2016-05-25 16:46:50 +02:00
- Works on server/soft-router
- Detects DoS/DDoS in as little as 1-2 seconds
- [Tested](docs/PERFORMANCE_TESTS.md) up to 10Gb with 12 Mpps on Intel i7 3820 with Intel NIC 82599
2015-01-26 13:11:51 +01:00
- Complete plugin support
2016-05-25 16:46:50 +02:00
- Captures attack fingerprints in PCAP format
- [Complete support](docs/DETECTED_ATTACK_TYPES.md) for most popular attack types
2014-11-22 14:17:26 +01:00
2015-10-06 17:37:27 +02:00
Running Fastnetmon
------------------
### Supported platforms
2016-08-11 21:52:54 +02:00
- Linux (Debian 6/7/8, CentOS 6/7, Ubuntu 12.04, 14.04)
- FreeBSD 9, 10, 11 (only 1.1.2 release)
- Mac OS X Yosemite (only 1.1.2 release)
2015-10-06 17:37:27 +02:00
### Supported architectures
- x86 64 bit (recommended)
- x86 32 bit
2015-01-09 23:53:31 +01:00
### Hardware requirements
- Least 1 GB of RAM for compilation purposes
2015-10-06 17:37:27 +02:00
### Router integration instructions
- [Juniper MX Routers](docs/JUNOS_INTEGRATION.md)
2015-10-06 17:37:27 +02:00
### Distributions supported
2016-05-25 16:46:50 +02:00
- We are part of the [CloudRouter](https://cloudrouter.org/cloudrouter/2015/07/09/fastnetmon.html) distribution
- We are part in the [official FreeBSD ports collection](https://freshports.org/net-mgmt/fastnetmon/), [manual install](docs/FreeBSD_INSTALL.md)
2015-10-06 17:37:27 +02:00
- [Amazon AMI image](docs/AMAZON.md)
2016-05-25 16:46:50 +02:00
- [VyOS based ISO image with bundled FastNetMon](docs/VYOS_BINARY_ISO_IMAGE.md)
2015-10-06 17:37:27 +02:00
- [Docker image](docs/DOCKER_INSTALL.md)
- [Automatic install script for Debian/Ubuntu/CentOS/Fedora/Gentoo](docs/INSTALL.md)
- [Automatic install script for Mac OS X](docs/MAC_OS_INSTALL.md)
- [Manual install on Slackware](docs/SLACKWARE_INSTALL.md)
- [Manual install for VyOS](docs/VyOS_INSTALL.md)
Screenshoots
------------
2016-05-25 16:46:50 +02:00
Main program screenshot:
![Main screen image](docs/images/fastnetmon_screen.png)
2016-05-25 16:46:50 +02:00
Example CPU load on Intel i7 2600 with Intel X540/82599 NIC at 400 kpps load:
![Cpu consumption](docs/images/fastnetmon_stats.png)
2014-11-22 14:17:26 +01:00
Example deployment scheme:
![Network diagramm](docs/images/network_map.png)
2014-11-14 21:43:00 +01:00
2015-05-07 16:00:29 +02:00
Example of [notification email](docs/ATTACK_REPORT_EXAMPLE.md) about detected attack.
2014-12-02 14:42:40 +01:00
2015-03-25 16:05:15 +01:00
2015-03-17 10:14:49 +01:00
How I can help project?
2015-10-06 17:37:27 +02:00
-----------------------
2015-03-17 10:14:49 +01:00
- Test it!
- Share your experience
- Share your use cases
2015-03-17 10:14:49 +01:00
- Share your improvements
2015-03-22 12:09:29 +01:00
- Test it with different equipment
2015-03-17 10:14:49 +01:00
- Create feature requests
2015-10-06 17:37:27 +02:00
Author: [Pavel Odintsov](http://ru.linkedin.com/in/podintsov/) pavel.odintsov at gmail.com [Follow my Twitter](https://twitter.com/odintsov_pavel)