Monitoring Network Traffic using ntopng



Similar documents
Monitoring Network Traffic using ntopng

High-Speed Network Traffic Monitoring Using ntopng. Luca

High-Speed Network Traffic Monitoring Using ntopng

Network Troubleshooting Using ntopng Luca Deri

ntopng: Realtime Network Traffic View

Monitoring high-speed networks using ntop. Luca Deri

Open Source in Network Administration: the ntop Project

High-Speed Network Traffic Monitoring Using ntopng

Getting More Information On Your Network Performance

Towards 100 Gbit Flow-Based Network Monitoring. Luca Deri Alfredo Cardigliano

Monitoring Mobile Network Traffic (3G/LTE) Luca Deri

Wire-speed Packet Capture and Transmission

The ntop Project: Open Source Network Monitoring

Monitoring Mobile Network Traffic (3G/LTE) Luca Deri

Who is Generating all This Traffic?

Open Source VoIP Traffic Monitoring

Flow Analysis Versus Packet Analysis. What Should You Choose?

Application Latency Monitoring using nprobe

Traffic monitoring with sflow and ProCurve Manager Plus

High-speed Network and Service Monitoring. Luca Deri

PANDORA FMS NETWORK DEVICE MONITORING

PANDORA FMS NETWORK DEVICES MONITORING

Network Monitoring On Large Networks. Yao Chuan Han (TWCERT/CC)

10 Gbit Hardware Packet Filtering Using Commodity Network Adapters. Luca Deri Joseph Gasparakis

Emerald. Network Collector Version 4.0. Emerald Management Suite IEA Software, Inc.

Open Source VoIP Traffic Monitoring

Extending Network Visibility by Leveraging NetFlow and sflow Technologies

C-GEP 100 Monitoring application user manual

How To Set Up Foglight Nms For A Proof Of Concept

Increasing Data Center Network Visibility with Cisco NetFlow-Lite

ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy

Open Source in Government: Delivering Network Security, Flexibility and Interoperability

Cheap and efficient anti-ddos solution

Cisco Performance Visibility Manager 1.0.1

Scalable Extraction, Aggregation, and Response to Network Intelligence

Network Monitoring Comparison

ZEN LOAD BALANCER EE v3.02 DATASHEET The Load Balancing made easy

Infrastructure for active and passive measurements at 10Gbps and beyond

MoonGen. A Scriptable High-Speed Packet Generator Design and Implementation. Paul Emmerich. January 30th, 2016 FOSDEM 2016

Features Overview Guide About new features in WhatsUp Gold v12

Apache CloudStack 4.x (incubating) Network Setup: excerpt from Installation Guide. Revised February 28, :32 pm Pacific

CrashPlan Security SECURITY CONTEXT TECHNOLOGY

Basic & Advanced Administration for Citrix NetScaler 9.2

pt360 FREE Tool Suite Networks are complicated. Network management doesn t have to be.

Brocade Virtual Traffic Manager and Oracle EBS 12.1 Deployment Guide

One software solution to monitor your entire network, including devices, applications traffic and availability.

Network Monitoring. Easy, failsafe, and complete visibility of your network. Our customers have the same view as our NOC technicians.

Project 4: IP over DNS Due: 11:59 PM, Dec 14, 2015

EKT 332/4 COMPUTER NETWORK

Network Traffic Analysis using HADOOP Architecture. Zeng Shan ISGC2013, Taibei

Gaining Operational Efficiencies with the Enterasys S-Series

ncap: Wire-speed Packet Capture and Transmission

Cisco Application Networking Manager Version 2.0

Design of an Application Programming Interface for IP Network Monitoring

Application Discovery Manager User s Guide vcenter Application Discovery Manager 6.2.1

HP Intelligent Management Center v7.1 Network Traffic Analyzer Administrator Guide

By Jascha Wanger

CITRIX 1Y0-A14 EXAM QUESTIONS & ANSWERS

WhatsUpGold. v3.0. WhatsConnected User Guide

Web Analytics Understand your web visitors without web logs or page tags and keep all your data inside your firewall.

Stateful Inspection Technology

OpenFlow and Onix. OpenFlow: Enabling Innovation in Campus Networks. The Problem. We also want. How to run experiments in campus networks?

Best of Breed of an ITIL based IT Monitoring. The System Management strategy of NetEye

NetFlow Analytics for Splunk

Maintaining Non-Stop Services with Multi Layer Monitoring

A Brief. Introduction. of MG-SOFT s SNMP Network Management Products. Document Version 1.3, published in June, 2008

WhatsUp Gold v16.3 Installation and Configuration Guide

Wait, How Many Metrics? Monitoring at Quantcast

INUVIKA OPEN VIRTUAL DESKTOP FOUNDATION SERVER

CT LANforge-FIRE VoIP Call Generator

Chapter 6 Configuring the SSL VPN Tunnel Client and Port Forwarding

Understanding Slow Start

Unified network traffic monitoring for physical and VMware environments

Realtime High-Speed Network Traffic Monitoring Using ntopng

Network Attached Storage. Jinfeng Yang Oct/19/2015

Packet Capture. Document Scope. SonicOS Enhanced Packet Capture

Connecting North Carolina s Future Today. Application Monitoring: ClassScape Case Study. NCSU Centennial Networking Lab

Open Source Software for Cyber Operations:

Flow Analysis. Make A Right Policy for Your Network. GenieNRM

Technology Highlights Of. (Medusa)

High-Density Network Flow Monitoring

NetFlow Subinterface Support

Brocade Virtual Traffic Manager and Magento Deployment Guide

Extending Network Visibility by Leveraging NetFlow and sflow Technologies

NetScaler Logging Facilities

Accelerating Enterprise Applications and Reducing TCO with SanDisk ZetaScale Software

Network Agent Quick Start

How To Monitor A Network On A Network With Bro (Networking) On A Pc Or Mac Or Ipad (Netware) On Your Computer Or Ipa (Network) On An Ipa Or Ipac (Netrope) On

Monitoring individual traffic flows within the ATLAS TDAQ network

Springpath Data Platform with Cisco UCS Servers

WISE-4000 Series. WISE IoT Wireless I/O Modules

Network forensics 101 Network monitoring with Netflow, nfsen + nfdump

NetStream (Integrated) Technology White Paper HUAWEI TECHNOLOGIES CO., LTD. Issue 01. Date

PRACTICAL EXPERIENCES BUILDING AN IPFIX BASED OPEN SOURCE BOTNET DETECTOR. ` Mark Graham

Websense Web Security Gateway: What to do when a Web site does not load as expected

Beyond Monitoring Root-Cause Analysis

Transcription:

Monitoring Network Traffic using ntopng Luca Deri <deri@ntop.org>

Outlook What are the main activities of ntop.org? ntop s view on network monitoring. From ntop to ntopng. ntopng architecture and design. Using ntopng. Advanced monitoring with ntopng. Future roadmap items. 2

Introduction 3

About ntop.org [1/2] Private company devoted to development of open source network traffic monitoring applications. ntop (circa 1998) is the first app we released and it is a web-based network monitoring application. Today our products range from traffic monitoring, high-speed packet processing, deeppacket inspection, and IDS/IPS acceleration. 4

About ntop.org [2/2] Our software is powering many commercial products... 5

Problem Statement [1/2] In 90s standard-based (e.g. RMON) and proprietary solutions (e.g. HP OpenView) were dominating the market. The explosion of the Internet(working) reduced the number of vendors but increased the number of monitoring devices and protocols. ntop tried to fill the lack of simple traffic monitoring application releasing the original ntop application aimed at simplifying the analysis of network traffic. 6

Problem Statement [2/2] Today the market is partially driven by hardware manufacturers that manufacture costly, limited (usually no analysis beyond packet header) and often not extensible solutions. Consequences: Monitoring evolution is capped by hardware vendors. Commercial probes monitor what the vendor wants (e.g. Cisco TelePresence) and not what the user needs. Often people believe in speed=hardware, so they buy hardware probes that are unlike to provide timely answers to continuously evolving monitoring needs. 7

ntop Goals Provide better, yet price effective, traffic monitoring solution by enabling users to have increased traffic visibility. Go beyond standard metrics and increase traffic visibility by analyzing key protocols in detail. Provide users comprehensive and accurate traffic reports able to offer at a fraction of price what many commercial products do together. Promote open-source software, while protecting selected IPRs. 8

ntop s Approach to Traffic Monitoring Ability to capture, process and (optionally) transmit traffic at line rate, any packet size. Leverage on modern multi-core/numa architectures in order to promote scalability. Use commodity hardware for producing affordable, long-living (no vendor lock), scalable (use new hardware by the time it is becoming available). Use open-source to spread the software, and let the community test it on unchartered places. 9

Network Health Monitoring is Complex Traditional network monitoring systems can limit their supervision activities to home networks. Mobile users, intra-vm data exchange, or cloud services are often invisible to network monitoring systems. Traditional firewalls are becoming blind as: Generic (e.g. HTTP) protocols can be used to tunnel nonhypertext services (e.g. music streaming). HTTPS is not checked so often it flows unrestricted. Cloud services access can t be monitored with simple periodic pings as provides IPs are often unresponsive and change according to our location. 2012 - ntop.org 10

Limitations of (Many) Monitoring Systems Visibility limited to packet header (payload agnostic). Packet encapsulations (e.g. GRE, PPP, GTP) are not always handled, so that we don t know what happens inside tunnels. Unable to monitor intra-virtual machines (VMs) traffic (no cloud-friendly). Windows PCs are not first-class citizens. Inability to map user traffic to actions performed or user s interests. 11

Some History In 1998, the original ntop has been created. It was a C-based app embedding a web server able to capture traffic and analyze it. Contrary to many tools available at that time, ntop used a web GUI to report traffic activities. It is available for Unix and Windows under GPL. 12

ntop Architecture HTTP/HTTPS RRD Cisco NetFlow InMon sflow 13

Why was ntop obsolete? Its original LAN-oriented design prevented ntop from handling more than a few hundred Mbit. The GUI was an old (no fancy HTML 5) monolithic piece written in C so changing/ extending a page required a programmer. ntop could not be used as web-less monitoring engine to be integrated with other apps. Many components were designed in 1998, and it was time to start over (spaghetti code). 14

ntopng Design Goals Clean separation between the monitoring engine and the reporting facilities. Robust, crash-free engine (ntop was not really so). Platform scriptability for enabling extensions or changes at runtime without restart. Realtime: most monitoring tools aggregate data (5 mins usually) and present it when it s too late. Many new features including HTML 5-based dynamic GUI, categorization, DPI. 15

ntopng Architecture Three different and self-contained components, communicating with clean API calls. Users HTTP (Linux) Kernel Lua-based Web Reports Lua API Calls ndpi-based C++ Monitoring Engine PF_RING C API Calls PF_RING Kernel Module and Drivers Data Cache Internet Traffic 16

PF_RING (Circa 2003) Application A Application Z mmap() Outgoing Packets Userspace Kernel Read Index Socket (ring) Write Index Socket (ring) PF_RING Network Adapter Incoming Packets 17

Vanilla vs DNA (Direct NIC Access) Application Application PF_RING Polling DMA Userland Kernel Application Polling DMA Userland Kernel PF_RING Accelerated Cards Circular Buffer NAPI Polling NIC Memory Map FPGA Device Driver Device Driver Vanilla PF_RING PF_RING DNA 18

PF_RING DNA: Features DNA is a Linux kernel-bypassing technology developed by ntop/silicom for 1/10 Gbit network adapters. It can receive/transmit traffic at line rate any packet size (14.88 Mpps, 60+4 bytes) using x86 servers. Feature-rich set of companion tools distributed in source format (e.g. line-rate traffic generation and pcap traffic replay) so that people can customize and use existing (pcap-based) apps as low-cost alternatives to hardware-based tools (e.g. traffic generator). 19

ntopng Monitoring Engine Coded in C++ and based the concept of flow (se of packets with the same 6-tuple). Flows are inspected with a home-grown DPIlibrary named ndpi aiming to discovering the real application protocol (no ports are used). Information is clustered per: (Capture) Network Device Flow Host High-level Aggregations 20

Information Lifecycle All information (e.g. hosts and flows) is stored in memory. Using command line options, users can specify how many hosts/flows can be kept in memory. Idle flows and are periodically purged to free memory. Hosts are serialized and stored in JSON format in Redis for 1 hour, so that in case new traffic is detected ntopng can restore them from cache. 21

Packet Processing Journey 1.Packet capture: PF_RING (Linux) or libpcap. 2.Packet decoding: no IP traffic is accounted. 3.IPv4/v6 Traffic only: 1.Map the packet to a 6-tuple flow and increment stats. 2.Identify source/destination hosts and increment stats. 3.Use ndpi to identify the flow application protocol 1.UDP flows are identified in no more than 2 packets. 2.TCP Flows can be identified in up to 15 packets in total, otherwise the flow is marked as Unknown. 4.Move to the next packet. 22

The need for DPI in Monitoring [1/2] Limit traffic analysis at packet header level it no longer enough (nor cool). Network administrators want to know the real protocol without relying on the port being used. Selected protocols can be precisely dissected (e.g. HTTP) in order to extract information, but on the rest of the traffic it is necessary to tell network administrators what is the protocol flowing in their network. 23

The need for DPI in Monitoring [2/2] DPI (Deep Packet Inspection) is a technique for inspecting the packet payload for the purpose of extracting metadata (e.g. protocol). There are many DPI toolkits available but they are not what we looked for as: They are proprietary (you need to sign an NDA to use them), and costly for both purchase and maintenance. Adding a new protocol requires vendor support (i.e. it has a high cost and might need time until the vendor supports it) = you re locked-in. On a nutshell DPI is a requirement but the market does not offer an alternative for open-source. 24

Say hello to ndpi ntop has decided to develop its own GPL DPI toolkit in order to build an open DPI layer for ntop and third party applications. Supported protocols (~170) include: P2P (Skype, BitTorrent) Messaging (Viber, Whatsapp, MSN, The Facebook) Multimedia (YouTube, Last.gm, itunes) Conferencing (Webex, CitrixOnLine) Streaming (Zattoo, Icecast, Shoutcast, Netflix) Business (VNC, RDP, Citrix, *SQL) 25

ndpi on ntopng: Sample Report 26

Is ndpi Computationally Expensive? ndpi requires Full packet payload capture (free with PF_RING DNA). Inspection of the packet payload. The above activities are not cheap, but they are performed only at the beginning of the connection: the longer is the connection the cheaper. ndpi increases the application load of less than 5-10% so it is almost unnoticeable. 27

ntopng and Redis Redis is an open source key-value in-memory database. ntop uses it to cache data such as: Configuration and user preferences information. DNS name resolution (numeric to symbolic). Volatile monitoring data (e.g. hosts JSON representation). Some information is persistent (e.g. preferences) and some is volatile: ntopng can tell redis how long a given value must be kept in cache. 28

Welcome to the MicroCloud [1/2] Cloud Subscribe Monitoring Application n nprobe Cloud Get/Put Cloud Get Cloud Get/Put n ntopng Cloud Node (redis) MicroCloud Cloud Node (redis) Cloud Node (redis) n Cloud Get/Put Cloud Get/Put nprobe n n n ntopng nprobe ntopng 29

Welcome to the MicroCloud [2/2] The microcloud is a semi-persistent cache, used to aggregate heterogeneous data onto a single place for promoting data correlation and thus better traffic visibility. ntopng is a first-class microcloud citizen, but additional applications (e.g. WinLogon, Captive Portals) can fill the cloud or access (read-only) data present on it. 30

Using the MicroCloud Typical usage scenarios include: Store the DNS cache and HTTP host, so that we can associate the correct symbolic hostname to a flow (often a issue in particular with CDNs). Keep coherency across tunnels (e.g. GTP) so that probes can associate traffic directions properly. Store user-data (e.g. Radius IP/User association) so that the probe, can report collectors both the username who produced a given flow and the symbolic flow hostnames. Trigger data capture on demand (via publish/subscribe). 31

Lua-based ntopng Scriptability [1/3] A design principle of ntopng has been the clean separation of the GUI from engine (in ntop it was all mixed). This means that ntopng can (also) be used (via HTTP) to feed data into third party apps such as Nagios or OpenNMS. All data export from the engine happens via Lua. Lua methods invoke the ntopng C++ API in order to interact with the monitoring engine. 32

Lua-based ntopng Scriptability [2/3] /scripts/callback/ scripts are executed periodically to perform specific actions. /scripts/lua/ scripts are executed only by the web GUI. Example: http://ntopng:3000/lua/flow_stats.lua 33

Lua-based ntopng Scriptability [3/3] ntopng defines (in C++) two Lua classes: interface Hook to objects that describe flows and hosts. Access to live monitoring data. ntop General functions used to interact with ntopng configuration. Lua objects are usually in read-only mode C++ sets their data, Lua reads data (e.g. host.name). Some Lua methods (e.g. interface.restorehost()) can however modify the information stored in the engine. 34

Multithreading in ntopng ntopng can monitor simultaneously various network interfaces, each using a thread. Packet processing per-interface is lockless. Lua scripts can access monitoring data while packets are being processed: locks occur in very few places and are not per-packet. Multiple Lua scripts and HTTP requests can be served (on different threads) while packets are being processed. 35

Using ntopng 36

Logging into ntopng 37

Dashboard 38

Available Menu Items 39

Dynamic Web Interface 40

Flows Monitoring [1/2] 41

Flows Monitoring [2/2] 42

Host Monitoring [1/3] 43

Host Monitoring [2/3] 44

Host Monitoring [3/3] 45

Activity Map 1 second resolution host and aggregation activity Compressed bitmap > ls -l client14.dropbox.com 4 -rw-rw-rw- 1 nobody nogroup 24 Oct 11 02:31 client14.dropbox.com Saved persistently on disk (Local Hosts only) 46

Traffic Aggregations [1/2] ndpi extracts specific attributes from traffic that ntopng aggregates (if configured): DNS/Whois responses HTTP host names Operating System (from HTTP headers) Aggregations can be enabled (they are off by default) and are handled just as flows and hosts. 47

Traffic Aggregations [2/2] 48

Hosts and Aggregations Interaction 49

Geolocation Maxmind GeoIP Map Centered Using HTML 5 Geolocation 50

Live Host Activities 51

Historical Activities All relevant counters are saved on disk in RRD. Interface counters are saved with 1 second resolution. Hosts counters every 5 minutes. Ajax-based charts (no RRD graphs) RRD values correlated with top talkers 52

Using ntopng as a Live Data Source ntopng is a server able to serve data to third party applications via HTTP. Data is exported via JSON. This mechanism can be extended via Lua scripts. 53

Top Hosts as a Clickable Map 54

Using ntopng with NetFlow/sFlow ntopng can handle flows (Net/sFlow) via nprobe. Data Collector (ntopng) ntopng -i tcp://127.0.0.1:5556 Probe (nprobe) nprobe --zmq "tcp://*:5556" -i eth1 -n none (probe mode) nprobe --zmq "tcp://*:5556" -i none -n none --collector-port 2055 (sflow/netflow collector mode) 55

Embedding ntopng [1/2] Historically we have started our first embed attempt in 2003 with the Cyclades TS100. The nbox was used to analyze traffic then sent to ntop for representation. After 10 years we tried again with ntopng. 56

Embedding ntopng [2/2] The ntopng code compiles smoothly for cheap (36 Euro) boxes such as the BeagleBone Black. You can now create your personal/cheap traffic analyzer without having to use a PC. Post 1.1 release we will optimize support for these devices. 57

Final Remarks Over the past 15 years ntop created a software framework for efficiently monitoring traffic. We have a story to tell you, not just hacks. Commodity hardware, with adequate software, can now match the performance and flexibility that markets require. With the freedom of open source. Available under GNU GPLv3 from http://www.ntop.org/. 58