All Projects → dreadl0ck → Netcap

dreadl0ck / Netcap

Licence: gpl-3.0
A framework for secure and scalable network traffic analysis - https://netcap.io

Programming Languages

go
31211 projects - #10 most used programming language
python
139335 projects - #7 most used programming language
shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to Netcap

Phpnetmap
Web application for ethernet network mapping. PHP Software for network device monitoring with SNMP v(1/2c/3) protocol.
Stars: ✭ 20 (-98.68%)
Mutual labels:  network, traffic, monitoring
Grassmarlin
Provides situational awareness of Industrial Control Systems (ICS) and Supervisory Control and Data Acquisition (SCADA) networks in support of network security assessments. #nsacyber
Stars: ✭ 621 (-59.12%)
Mutual labels:  analysis, network, monitoring
Pcp
Performance Co-Pilot
Stars: ✭ 716 (-52.86%)
Mutual labels:  analysis, monitoring
Vflow
Enterprise Network Flow Collector (IPFIX, sFlow, Netflow) from Verizon Media
Stars: ✭ 776 (-48.91%)
Mutual labels:  network, monitoring
Sensu Plugins Network Checks
This plugin provides native network instrumentation for monitoring and metrics collection, including: hardware, TCP response, RBLs, whois, port status, and more.
Stars: ✭ 28 (-98.16%)
Mutual labels:  network, monitoring
Security List
Penetrum LLC opensource security tool list.
Stars: ✭ 619 (-59.25%)
Mutual labels:  analysis, monitoring
Netutils Linux
A suite of utilities simplilfying linux networking stack performance troubleshooting and tuning.
Stars: ✭ 664 (-56.29%)
Mutual labels:  network, monitoring
Bmon
bandwidth monitor and rate estimator
Stars: ✭ 787 (-48.19%)
Mutual labels:  network, monitoring
Packet Agent
A toolset for network packet capture in Cloud/Kubernetes and Virtualized environment.
Stars: ✭ 419 (-72.42%)
Mutual labels:  network, traffic
Llama Archive
Loss & LAtency MAtrix
Stars: ✭ 44 (-97.1%)
Mutual labels:  network, monitoring
Cytoscape.js
Graph theory (network) library for visualisation and analysis
Stars: ✭ 8,107 (+433.71%)
Mutual labels:  analysis, network
Llama
Library for testing and measuring network loss and latency between distributed endpoints.
Stars: ✭ 47 (-96.91%)
Mutual labels:  network, monitoring
Heim
Cross-platform async library for system information fetching 🦀
Stars: ✭ 572 (-62.34%)
Mutual labels:  network, monitoring
Selks
A Suricata based IDS/IPS distro
Stars: ✭ 707 (-53.46%)
Mutual labels:  network, monitoring
Usb Canary
A Linux or OSX tool that uses psutil to monitor devices while your computer is locked. In the case it detects someone plugging in or unplugging devices it can be configured to send you an SMS or alert you via Slack or Pushover.
Stars: ✭ 561 (-63.07%)
Mutual labels:  monitoring, detection
Kubenurse
Kubernetes network monitoring
Stars: ✭ 94 (-93.81%)
Mutual labels:  network, monitoring
Bgpalerter
Software to monitor streams of BGP data. Pre-configured for real-time detection of visibility loss, RPKI invalid announcements, hijacks, and more.
Stars: ✭ 367 (-75.84%)
Mutual labels:  network, monitoring
Vizceral
WebGL visualization for displaying animated traffic graphs
Stars: ✭ 3,871 (+154.84%)
Mutual labels:  traffic, monitoring
Whatpulse
WhatPulse reverse engineered
Stars: ✭ 30 (-98.03%)
Mutual labels:  network, monitoring
Pcapxray
❄️ PcapXray - A Network Forensics Tool - To visualize a Packet Capture offline as a Network Diagram including device identification, highlight important communication and file extraction
Stars: ✭ 1,096 (-27.85%)
Mutual labels:  network, traffic
Netcap Logo


Go Report Card License Golang Linux macOS windows GoDoc Homepage Documentation Total alerts FOSSA Status

The Netcap (NETwork CAPture) framework efficiently converts a stream of network packets into platform neutral type-safe structured audit records that represent specific protocols or custom abstractions. These audit records can be stored on disk or exchanged over the network, and are well suited as a data source for machine learning algorithms. Since parsing of untrusted input can be dangerous and network data is potentially malicious, a programming language that provides a garbage collected memory safe runtime is used for the implementation.

It was developed for a series of experiments in my bachelor thesis: Implementation and evaluation of secure and scalable anomaly-based network intrusion detection. Slides from my presentation at the Leibniz Supercomputing Centre of the Bavarian Academy of Sciences and Humanities are available on researchgate.

The project won the 2nd Place at Kaspersky Labs SecurIT Cup 2018 in Budapest.

Netcap uses Google's Protocol Buffers to encode its output, which allows accessing it across a wide range of programming languages. Alternatively, output can be emitted as comma separated values, which is a common input format for data analysis tools and systems. The tool is extensible and provides multiple ways of adding support for new protocols, while implementing the parsing logic in a memory safe way. It provides high dimensional data about observed traffic and allows the researcher to focus on experimenting with novel approaches for detecting malicious behavior in network environments, instead of fiddling with data collection mechanisms and post processing steps. It has a concurrent design that makes use of multi-core architectures. The name Netcap was chosen to be simple and descriptive. The command-line tool was designed with usability and readability in mind, and displays progress when processing packets. The latest version offers 58 audit record types of which 53 are protocol specific and 5 are flow models.

For more details please refer to the Documentation, visit the Homepage and read the thesis.

A simple demonstration of generating audit records from a PCAP dump file, querying and displaying the collected information in various ways:

asciicast

And live operation decoding traffic from my wireless network interface, while I am surfing the web:

asciicast

Design Goals

  • memory safety when parsing untrusted input
  • ease of extension
  • output format interoperable with many different programming languages
  • concurrent design
  • output with small storage footprint on disk
  • gather everything, separate what can be understood from what can't
  • allow implementation of custom abstractions
  • rich platform and architecture support

Use Cases

  • monitoring honeypots
  • monitoring medical / industrial devices
  • research on anomaly-based detection mechanisms
  • forensic data analysis

Framework Components

The framework consists of 9 logically separate tools compiled into a single binary:

  • capture (capture audit records live or from dumpfiles)
  • dump (dump with audit records in various formats)
  • label (tool for creating labeled CSV datasets from netcap data)
  • collect (collection server for distributed collection)
  • agent (sensor agent for distributed collection)
  • proxy (http reverse proxy for capturing traffic from web services)
  • util (utility tool for validating audit records and converting timestamps)
  • export (exporter for prometheus metrics)
  • transform (maltego transformation plugin)

Integrations

Prometheus Metrics

Overview Dashboard example:

HTTP Dashboard example:

You can read more about the Prometheus integration in the docs.

Maltego

Extract DHCP information from local network devices of a PCAP dump file:

HTTP File extraction:

HTTP parameter command injection analysis:

You can read more about the Maltego integration in the docs.

Contributing

Contributions welcome, there's plenty of stuff to do, from simple additions to low level framework engineering!

Please see the Contributing Page for more information.

Bug Reports

If you encounter a bug while using Netcap, please fill out the bugreport template and open a github issue.

License

Netcap is licensed under the GNU General Public License v3, which is a very permissive open source license, that allows others to do almost anything they want with the project, except to distribute closed source versions. This license type was chosen with Netcaps research purpose in mind, and in the hope that it leads to further improvements and new capabilities contributed by other researchers on the long term.

FOSSA Status

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].