
nDPI v6.0
मुक्त स्रोत गहन पैकेट निरीक्षण सॉफ़्टवेयर टूलकिट
nDPI
nDPI क्या है ?
nDPI® एक ओपन सोर्स LGPLv3 लाइब्रेरी है जो डीप-पैकेट निरीक्षण के लिए है।
nDPI के बारे में एक सामान्य FAQ यहाँ उपलब्ध है।
nDPI को कैसे कंपाइल करें
इस प्रोजेक्ट को कंपाइल करने के लिए निम्नलिखित करें:
- ./autogen.sh && ./configure
- make
यदि आपको croaring.c कंपाइल करते समय कुछ त्रुटियाँ मिलती हैं, तो प्रयास करें:
- ./autogen.sh && ./configure --enable-old-croaring
- make
लाइब्रेरी को बिना किसी टूल या परीक्षण के कंपाइल करने के लिए:
- ./autogen.sh && ./configure --with-only-libndpi
- make
आउट-ऑफ-ट्री बिल्ड समर्थित हैं:
- ./autogen.sh
- mkdir build
- cd build
- ../configure && make
परीक्षण चलाने के लिए अतिरिक्त रूप से करें:
- ./tests/do.sh # Generate and check for diff's in PCAP files
- ./tests/do-unit.sh # Run unit tests
- ./tests/do-dga.sh # Run DGA detection test
या सभी को make check से चलाएँ।
कृपया ध्यान दें कि कंपाइलेशन के लिए (न्यूनतम) पूर्वापेक्षाएँ निम्नलिखित हैं:
- GNU tools (autoconf automake libtool pkg-config gettext flex bison)
- GNU C compiler (gcc) or Clang
Debian/Ubuntu सिस्टम पर करें:
- sudo apt-get install build-essential git gettext flex bison libtool autoconf automake pkg-config libpcap-dev libjson-c-dev libnuma-dev libpcre2-dev libmaxminddb-dev librrd-dev
Arch Linux पर:
- sudo pacman -S gcc git gettext flex bison libtool autoconf automake pkg-config libpcap json-c numactl pcre2 libmaxminddb rrdtool
FreeBSD पर:
- sudo pkg install gcc git gettext flex bison libtool autoconf automake devel/pkgconf gmake libpcap json-c pcre2 libmaxminddb rrdtool
FreeBSD पर make की जगह gmake का उपयोग करना याद रखें।
MacOS पर:
- brew install coreutils gcc git gettext flex bison libtool autoconf automake pkg-config libpcap json-c pcre2 libmaxminddb rrdtool
Windows पर:
nDPI बनाने के तीन समर्थित तरीके हैं:
- MSYS2 (मान लें कि MSYS2 पहले से इंस्टॉल है):
- msys2 -c "pacman --noconfirm -S --needed --overwrite '*' git mingw-w64-x86_64-toolchain automake1.16 automake-wrapper autoconf libtool make mingw-w64-x86_64-json-c mingw-w64-x86_64-crt-git mingw-w64-x86_64-pcre2 mingw-w64-x86_64-libpcap"
-
Mingw-w64
-
Visual Studio (
windows/nDPI.slnदेखें)
नोट: सभी Windows संस्करणों में WinPcap संगतता मोड सक्षम के साथ npcap की आवश्यकता होती है।
दस्तावेज़ीकरण कैसे बनाएँ
- pip install --upgrade pip
- pip install -r doc/requirements.txt
- make doc
दस्तावेज़ीकरण देखने के लिए बिल्टइन python3 वेबसर्वर का उपयोग करें:
- make doc-view
नया प्रोटोकॉल डिसेक्टर कैसे जोड़ें
नए प्रोटोकॉल जोड़ने की पूरी प्रक्रिया विस्तार से:
- नए प्रोटोकॉल को उसके अद्वितीय ID के साथ इसमें जोड़ें:
src/include/ndpi_protocol_ids.h - में एक नया प्रोटोकॉल बनाएँ:
src/lib/protocols/ - पूरे फ्लो की अवधि के लिए रखे जाने वाले चर (स्टेट वेरिएबल्स) को इसमें रखा जाना चाहिए:
src/include/ndpi_typedefs.hinndpi_flow_tcp_struct(केवल TCP के लिए),ndpi_flow_udp_struct(केवल UDP के लिए), याndpi_flow_struct(दोनों के लिए)। - नए प्रोटोकॉल के लिए खोज फ़ंक्शन में एक नई प्रविष्टि जोड़ें:
src/include/ndpi_private.h - से एक चयन बिटमास्क चुनें (कुछ भी न बदलें):
src/include/ndpi_define.h - में प्रोटोकॉल डिफ़ॉल्ट पोर्ट सेट करें
ndpi_init_protocol_defaultsin:src/lib/ndpi_main.c - सुनिश्चित करें कि nBPF समर्थन है,
PF_RINGको उसी निर्देशिका में क्लोन करें जहाँ आपनेnDPIक्लोन किया है:git clone https://github.com/ntop/PF_RING/ && cd PF_RING/userland/nbpf && ./configure && make। आप/bin/sh: 1: ../lib/pfring_config: not foundत्रुटि को अनदेखा कर सकते हैं। nDPIरूट डायरेक्ट्री से,./autogen.sh && ./configure --with-pcre2(nBPF और PCRE2 आमतौर पर वैकल्पिक हैं, लेकिन सभी यूनिट टेस्ट चलाने/अपडेट करने के लिए आवश्यक हैं)makemake check- दस्तावेज़ीकरण अपडेट करें, इस नए प्रोटोकॉल को
doc/protocols.rstमें जोड़ें। - Windows Visual Studio कॉन्फ़िगरेशन अपडेट करें, नई c फ़ाइल को
windows/nDPI.vcxprojमें जोड़ें।
चयनित ट्रैफ़िक को ब्लॉक करने के लिए nDPI का उपयोग कैसे करें
आप nDPI का उपयोग करके चुनिंदा इंटरनेट ट्रैफ़िक को ब्लॉक कर सकते हैं इसे किसी एप्लिकेशन में एम्बेड करके (याद रखें कि nDPI सिर्फ एक लाइब्रेरी है)। ntopng और nProbe cento दोनों ऐसा कर सकते हैं।
nDPI पेपर उद्धरण
- Deri, Luca, et al. nDPI: Open-source high-speed deep packet inspection 2014 International Wireless Communications and Mobile Computing Conference (IWCMC). IEEE, 2014.
वीडियो और प्रस्तुतियाँ
- nDPI के लिए अंतिम गाइड [2025]
- nDPI का उपयोग करके वास्तविक जीवन की समस्याओं को हल करना: पहले पैकेट वर्गीकरण से लेकर अस्पष्ट ट्रैफ़िक पहचान तक [PacketFest, 2025]
- निष्क्रिय नेटवर्क ट्रैफ़िक फ़िंगरप्रिंटिंग [FOSDEM, 2025]
- Wireshark का उपयोग करके ट्रैफ़िक फ़िंगरप्रिंट में गहराई से गोता [SharkFest, 2024]
- साइबर सुरक्षा और निगरानी के लिए नेटवर्क ट्रैफ़िक वर्गीकरण [FOSDEM, 2022]
- निगरानी और सुरक्षा के लिए nDPI का उपयोग [FOSDEM, 2021]
- अज्ञात को जानना: एक अपरिचित नेटवर्क की निगरानी और समस्या निवारण कैसे करें [SharkFest, 2017]
nDPI-संबंधित परियोजनाएँ
अस्वीकरण
जबकि हम नेटवर्क प्रोटोकॉल का पता लगाने के लिए अपनी पूरी कोशिश करते हैं, हम गारंटी नहीं दे सकते कि हमारा सॉफ़्टवेयर त्रुटि-मुक्त है और प्रोटोकॉल पहचान में 100% सटीक है। कृपया सुनिश्चित करें कि आप उपयोगकर्ताओं की गोपनीयता का सम्मान करते हैं और आपके पास नेटवर्क ट्रैफ़िक को सुनने, कैप्चर करने और निरीक्षण करने का उचित प्राधिकरण है।
nDPI अमेरिका और EU में एक पंजीकृत ट्रेडमार्क है।