All Projects → ntop → Ndpi

ntop / Ndpi

Licence: lgpl-3.0
Open Source Deep Packet Inspection Software Toolkit

Programming Languages

c
50402 projects - #5 most used programming language
POV-Ray SDL
72 projects
lua
6591 projects
python
139335 projects - #7 most used programming language
M4
1887 projects
Makefile
30231 projects

Projects that are alternatives of or similar to Ndpi

SpoofDPI
A simple and fast anti-censorship tool written in Go
Stars: ✭ 170 (-93.72%)
Mutual labels:  dpi, deep-packet-inspection
Goodbyedpi
GoodbyeDPI—Passive Deep Packet Inspection blocker and Active DPI circumvention utility (for Windows)
Stars: ✭ 4,936 (+82.48%)
Mutual labels:  dpi, deep-packet-inspection
Greentunnel
GreenTunnel is an anti-censorship utility designed to bypass the DPI system that is put in place by various ISPs to block access to certain websites.
Stars: ✭ 2,477 (-8.43%)
Mutual labels:  dpi, deep-packet-inspection
YOLO-Object-Counting-API
The code of the Object Counting API, implemented with the YOLO algorithm and with the SORT algorithm
Stars: ✭ 131 (-95.16%)
Mutual labels:  traffic-analysis
k3pler
Android network connection blocker and packet analyzer built on top of local HTTP proxy.
Stars: ✭ 38 (-98.6%)
Mutual labels:  traffic-analysis
Ratslap
RatSlap: Linux configuration tool for Logitech mice (currently only G300/G300S)
Stars: ✭ 84 (-96.89%)
Mutual labels:  dpi
Dpitunnel
DPITunnel is an android app made for censorship bypass
Stars: ✭ 179 (-93.38%)
Mutual labels:  dpi
GPSMachineLearning
No description or website provided.
Stars: ✭ 122 (-95.49%)
Mutual labels:  traffic-analysis
Powertunnel
Simple, scalable, cross-platform and effective solution against government censorship
Stars: ✭ 157 (-94.2%)
Mutual labels:  dpi
Zapret
Обход DPI в linux
Stars: ✭ 1,148 (-57.56%)
Mutual labels:  dpi
Notsodeep
Active DPI circumvention utility for Linux
Stars: ✭ 56 (-97.93%)
Mutual labels:  dpi
rack-fluentd-logger
Rack middleware to send traffic logs to Fluentd
Stars: ✭ 21 (-99.22%)
Mutual labels:  traffic-analysis
Go Dpi
Application layer protocol identification of traffic flows
Stars: ✭ 127 (-95.3%)
Mutual labels:  dpi
FuckDPI V2
FuckDPIv2 can fuck the Korean Government's internet censorship by fragmenting SSL ClientHello.
Stars: ✭ 44 (-98.37%)
Mutual labels:  dpi
Powertunnel Android
Simple, scalable, cross-platform and effective solution against government censorship for Android
Stars: ✭ 157 (-94.2%)
Mutual labels:  dpi
traffic
Massively real-time traffic streaming application
Stars: ✭ 25 (-99.08%)
Mutual labels:  traffic-analysis
Wallutils
🌆 Utilities for handling monitors, resolutions, wallpapers and timed wallpapers
Stars: ✭ 145 (-94.64%)
Mutual labels:  dpi
Retinajs
JavaScript, SCSS, Sass, Less, and Stylus helpers for rendering high-resolution image variants
Stars: ✭ 4,470 (+65.25%)
Mutual labels:  dpi
Blockcheck
Russian ISP blocking type checker NOTE: NOT WORKING CURRENTLY. ВНИМАНИЕ: НЕ РАБОТАЕТ НА ТЕКУЩИЙ МОМЕНТ
Stars: ✭ 1,218 (-54.97%)
Mutual labels:  dpi
Skydive
An open source real-time network topology and protocols analyzer
Stars: ✭ 2,086 (-22.88%)
Mutual labels:  traffic-analysis

ntop ntop

nDPI

Build Status Code Quality: Cpp Total Alerts Fuzzing Status

What is nDPI ?

nDPI® is an open source LGPLv3 library for deep-packet inspection. Based on OpenDPI it includes ntop extensions. We have tried to push them into the OpenDPI source tree but nobody answered emails so we have decided to create our own source tree

How To Compile nDPI

In order to compile this library do

  • ./autogen.sh
  • ./configure
  • make

To run tests do additionally:

  • cd tests; ./do.sh

Please note that the pre-requisites for compilation include:

  • GNU tools (autogen, automake, autoconf, libtool)
  • GNU C compiler (gcc)

On Debian/Ubuntu systems do:

  • sudo apt-get install build-essential git bison flex libpcap-dev libtool libtool-bin autoconf pkg-config automake autogen libjson-c-dev libnuma-dev libgcrypt20-dev libpcre2-dev

FreeBSD

  • sudo pkg install gcc git autoconf automake libtool devel/pkgconf json-c gmake

Remember to use gmake and not make on FreeBSD

How To Add A New Protocol Dissector

The entire procedure of adding new protocols in detail:

  1. Add new protocol together with its unique ID to: src/include/ndpi_protocol_ids.h
  2. Create a new protocol in: src/lib/protocols/
  3. Variables to be kept for the duration of the entire flow (as state variables) need to be placed in: src/include/ndpi_typedefs.h in ndpi_flow_tcp_struct (for TCP only), ndpi_flow_udp_struct (for UDP only), or ndpi_flow_struct (for both).
  4. Add a new entry for the search function for the new protocol in: src/include/ndpi_protocols.h
  5. Choose (do not change anything) a selection bitmask from: src/include/ndpi_define.h
  6. Add a new entry in ndpi_set_protocol_detection_bitmask2 in: src/lib/ndpi_main.c
  7. Set protocol default ports in ndpi_init_protocol_defaults in: src/lib/ndpi_main.c
  8. ./autogen.sh
  9. make
  10. make check

How to use nDPI to Block Selected Traffic

You can use nDPI to selectively block selected Internet traffic by embedding it onto an application (remember that nDPI is just a library). Both ntopng and nProbe cento can do this.

nDPI Paper Citation

nDPI-Related Projects

DISCLAIMER

While we do our best to detect network protocols, we cannot guarantee that our software is error free and 100% accurate in protocol detection. Please make sure that you respect the privacy of users and you have proper authorization to listen, capture and inspect network traffic.

nDPI is a registered trademark in the US and EU.

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].