Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
gatekeeper — पहली ओपन-सोर्स DDoS सुरक्षा प्रणाली | Kitploit
उपकरण/GitHubGitHub/altramayor/gatekeeper
रक्षात्मक उपकरणभेद्यता स्कैनरनेटवर्क सुरक्षाघुसपैठ का पता लगाना
GitHubaltramayor/gatekeeper

gatekeeper

पहली ओपन-सोर्स DDoS सुरक्षा प्रणाली

रिपॉजिटरी देखेंवेबसाइट
1.6k2519 महीने पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Gatekeeper

गेटकीपर संकलन स्थिति

गेटकीपर क्या है?

गेटकीपर पहली ओपन सोर्स DDoS सुरक्षा प्रणाली है। इसे किसी भी चरम बैंडविड्थ तक स्केल करने के लिए डिज़ाइन किया गया है, ताकि यह आज और कल दोनों के DDoS हमलों का सामना कर सके। गेटकीपर के भौगोलिक रूप से वितरित आर्किटेक्चर के बावजूद, नेटवर्क नीति जो आने वाले ट्रैफ़िक पर लागू किए जाने वाले सभी निर्णयों का वर्णन करती है, केंद्रीकृत है। यह केंद्रीकृत नीति नेटवर्क ऑपरेटरों को वितरित एल्गोरिदम का लाभ उठाने में सक्षम बनाती है जो बहुत अधिक विलंबता (जैसे वितरित डेटाबेस) के तहत व्यवहार्य नहीं होंगे और एक साथ कई मल्टी-वेक्टर DDoS हमलों से लड़ने में सक्षम बनाती है।

गेटकीपर के इच्छित उपयोगकर्ता संस्थानों, सेवा और सामग्री प्रदाताओं, एंटरप्राइज़ नेटवर्क आदि के नेटवर्क ऑपरेटर हैं। इसका उपयोग व्यक्तिगत इंटरनेट उपयोगकर्ताओं द्वारा करने का इरादा नहीं है।

अधिक जानकारी के लिए, गेटकीपर विकी देखें।

सेटअप कैसे करें

ह्यूजपेज (Hugepages) कॉन्फ़िगर करें

DPDK को ह्यूजपेज के उपयोग की आवश्यकता होती है; ह्यूजपेज माउंट करने के निर्देश आवश्यकताएँ दस्तावेज़ीकरण में उपलब्ध हैं। कई सिस्टमों पर, निम्नलिखित ह्यूजपेज सेटअप पर्याप्त है:

root@kitploit:~
$ echo 256 | sudo tee /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages

कर्नेल मॉड्यूल vfio-pci सक्षम करें

लिनक्स कर्नेल मॉड्यूल vfio-pci की आवश्यकता NIC को DPDK/गेटकीपर से बाँधने के लिए होती है। vfio-pci के काम करने के लिए, BIOS और कर्नेल दोनों को इसका समर्थन करना चाहिए। BIOS में VT-d सक्षम होना चाहिए। BIOS VT-d को "Intel (R) VT for Directed I/O", "Intel (R) VT-d Feature", "Intel VT-d", "VT-d", या समान रूपांतरों के रूप में पहचान सकते हैं; अधिक उदाहरणों के लिए, Google Images पर "BIOS VT-d" खोजें। कुछ BIOS में यह आवश्यक हो सकता है कि "Intel (R) Virtualization Technology" (या इस स्ट्रिंग के रूपांतर) नामक एक विकल्प VT-d को सक्षम करने से पहले सक्षम किया जाए।

यह जाँचने के लिए कि BIOS में VT-d सक्षम है, Linux बूट होने के बाद निम्न कमांड चलाएँ:

root@kitploit:~
$ dmesg | grep -e DMAR

यदि उपरोक्त कमांड कुछ पंक्तियाँ लौटाती हैं, तो VT-d सक्षम होना चाहिए। अन्यथा, इसे सक्षम करने के लिए BIOS पर वापस जाना होगा। BIOS में VT-d सक्षम होने की जाँच करने के तरीके के बारे में अधिक जानकारी इस पृष्ठ पर उपलब्ध है।

BIOS में VT-d सक्षम होने के बाद, यह सुनिश्चित करना होगा कि कर्नेल IOMMU का समर्थन करता है। ध्यान दें कि IOMMU का समर्थन करने के लिए कर्नेल संस्करण 3.6 से अधिक होना चाहिए। यह जाँचने के लिए कि चल रहे कर्नेल में डिफ़ॉल्ट रूप से IOMMU सक्षम है या नहीं, निम्न कमांड का उपयोग करें:

root@kitploit:~
$ grep CONFIG_INTEL_IOMMU_DEFAULT_ON /boot/config-`uname -r`

सबसे अधिक संभावना है, उपरोक्त कमांड आउटपुट देगा # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set, अर्थात्, चल रहे कर्नेल में डिफ़ॉल्ट रूप से IOMMU सक्षम नहीं है। कर्नेल बिल्ड विकल्पों की जाँच करने के वैकल्पिक तरीके (जैसे CONFIG_INTEL_IOMMU_DEFAULT_ON) इस पृष्ठ पर उपलब्ध हैं।

यदि कर्नेल में डिफ़ॉल्ट रूप से IOMMU सक्षम नहीं है, तो GRUB के माध्यम से कर्नेल बूट पैरामीटर intel_iommu=on पास करना होगा। बूट पैरामीटर intel_iommu=on की आवश्यकता के कारणों की जानकारी के लिए, यह पृष्ठ देखें। यह जाँचा जा सकता है कि चल रहे कर्नेल को यह पैरामीटर प्राप्त हुआ है या नहीं, नीचे दिए गए कमांड से:

root@kitploit:~
$ cat /proc/cmdline | grep intel_iommu=on

यदि चल रहे कर्नेल को पैरामीटर intel_iommu=on प्राप्त नहीं हुआ है, तो इसे GRUB में जोड़ें, और मशीन को रिबूट करें। GRUB में बूट पैरामीटर जोड़ने की जानकारी यहाँ पाई जा सकती है।

BIOS में VT-d सक्षम होने और कर्नेल IOMMU का समर्थन करने के बाद, निम्नलिखित कमांडों में से किसी एक से यह सत्यापित किया जा सकता है कि सब कुछ सेट है:

root@kitploit:~
$ ls /sys/kernel/iommu_groups

या

root@kitploit:~
$ dmesg | grep -ie 'IOMMU\s\+enabled'

यदि उपरोक्त कमांडों का आउटपुट खाली नहीं है, तो सब कुछ सेट है।

विकल्प 1: पैकेज प्राप्त करें

गेटकीपर डेबियन पैकेज प्रोजेक्ट के रिलीज़ पृष्ठ पर Ubuntu 24.04 LTS के लिए उपलब्ध हैं।

स्थापित करें

पैकेज डाउनलोड होने के बाद, उन्हें नीचे दिए गए कमांड से स्थापित किया जा सकता है:

root@kitploit:~
$ tar -zxvf gatekeeper-ubuntu-24.04-packages.tar.gz
$ cd gatekeeper-ubuntu-24.04-packages
$ sudo dpkg -i gatekeeper-bird_*_amd64.deb gatekeeper_*_amd64.deb

गेटकीपर कॉन्फ़िगर करें

डेबियन पैकेज के माध्यम से स्थापित होने पर, गेटकीपर कॉन्फ़िगरेशन फ़ाइलें /etc/gatekeeper में स्थित होती हैं। आपको कम से कम net.lua फ़ाइल को संपादित करना चाहिए और अपने वातावरण के अनुसार front_ports, front_ips, back_ports और back_ips वेरिएबल सेट करना चाहिए।

अन्य Lua फ़ाइलें विभिन्न गेटकीपर कार्यात्मक ब्लॉकों को कॉन्फ़िगर करती हैं। कृपया अपने सेटअप में इन्हें बदलने की आवश्यकता के बारे में अधिक जानकारी के लिए प्रोजेक्ट के विकी का संदर्भ लें।

आपको /etc/gatekeeper/envvars फ़ाइल को भी संपादित करना होगा और GATEKEEPER_INTERFACES वेरिएबल को DPDK से बाँधे जाने वाले नेटवर्क एडेप्टर के PCI पतों पर सेट करना होगा। ये lshw कमांड का उपयोग करके पाए जा सकते हैं। उदाहरण के लिए:

root@kitploit:~
# lshw -c network -businfo
Bus info          Device     Class          Description
=======================================================
pci@0000:08:00.0  eth0       network        I350 Gigabit Network Connection
pci@0000:08:00.1  eth1       network        I350 Gigabit Network Connection
...

इस आउटपुट को देखते हुए, GATEKEEPER_INTERFACES को नीचे दिए अनुसार सेट करें:

root@kitploit:~
GATEKEEPER_INTERFACES="08:00.0 08:00.1"

उसी फ़ाइल में, आप वैकल्पिक रूप से DPDK_ARGS वेरिएबल में पर्यावरणीय अमूर्तन परत विकल्प और GATEKEEPER_ARGS में गेटकीपर-विशिष्ट विकल्प निर्दिष्ट कर सकते हैं।

कैसे चलाएँ

गेटकीपर प्रारंभ करने और यह सुनिश्चित करने के लिए कि यह रिबूट पर स्वचालित रूप से प्रारंभ हो, नीचे दिए गए कमांड चलाएँ।

root@kitploit:~
$ sudo systemctl start gatekeeper
$ sudo systemctl enable gatekeeper

विकल्प 2: स्रोत से बिल्ड करें

निर्भरताएँ स्थापित करें

निम्नलिखित सॉफ़्टवेयर निर्भरताएँ स्थापित करें:

root@kitploit:~
$ sudo apt-get update
$ sudo apt-get -y -q install git clang devscripts doxygen libhugetlbfs-bin \
    build-essential gcc-multilib linux-headers-`uname -r` libmnl0 libmnl-dev \
    libkmod2 libkmod-dev libnuma-dev libelf1 libelf-dev libc6-dev-i386 \
    autoconf flex bison libncurses5-dev libreadline-dev python3 \
    python3-pyelftools libcap-dev libcap2 meson ninja-build pkg-config

नोट: gatekeeper को संकलित और चलाने के लिए libmnl0 और libmnl-dev दोनों की आवश्यकता है, लेकिन केवल gatekeeper चलाने के लिए केवल libmnl0 की आवश्यकता है। gatekeeper को संकलित और चलाने के लिए libkmod2 और libkmod-dev दोनों की आवश्यकता है, लेकिन केवल gatekeeper चलाने के लिए केवल libkmod2 की आवश्यकता है। नवीनतम DPDK को संकलित करने और NUMA सिस्टम का समर्थन करने के लिए libnuma-dev की आवश्यकता है। ELF फ़ाइलों से BPF प्रोग्राम पढ़ने के समर्थन के साथ DPDK संकलित करने के लिए libelf-dev पैकेज की आवश्यकता है, लेकिन इसे चलाने के लिए केवल libelf1 की आवश्यकता है। फ़ोल्डर bpf/ में BPF प्रोग्राम संकलित करने के लिए पैकेज की आवश्यकता है। , , , , और पैकेज BIRD के लिए हैं। पैकेज का उपयोग गेटकीपर डेबियन पैकेज बनाने के लिए किया जाता है। DPDK बनाने और जैसी Python स्क्रिप्ट चलाने के लिए और पैकेज आवश्यक हैं। गेटकीपर को संकलित करने के लिए आवश्यक है, लेकिन गेटकीपर चलाने के लिए केवल आवश्यक है। DPDK बनाने के लिए और आवश्यक हैं। गेटकीपर को संकलित करने के लिए आवश्यक है।

DPDK का उपयोग करने के लिए, सुनिश्चित करें कि आपके पास सभी पर्यावरणीय आवश्यकताएँ हैं।

रिपॉजिटरी क्लोन करें

गेटकीपर रिपॉजिटरी को क्लोन करें, जिसमें गेटकीपर निर्भरताओं वाले सबमॉड्यूल शामिल हैं:

root@kitploit:~
$ git clone --recursive http://github.com/AltraMayor/gatekeeper.git

यदि आप --recursive क्लोन विकल्प का उपयोग नहीं करते हैं, तो आपको gatekeeper निर्देशिका के भीतर से निर्भरताओं वाले सबमॉड्यूल प्राप्त करने होंगे:

root@kitploit:~
$ git submodule init
$ git submodule update

संकलित करें

यह अनुभाग बताता है कि गेटकीपर को मैन्युअल रूप से कैसे बनाया जाए। यदि आप डेबियन पैकेज बनाना चाहते हैं, तो अनुभाग पैकेज कैसे बनाएँ देखें।

gatekeeper निर्देशिका में रहते हुए, सेटअप स्क्रिप्ट चलाएँ:

root@kitploit:~
$ . setup.sh

यह स्क्रिप्ट DPDK, LuaJIT और BIRD को संकलित करती है, और आवश्यक कर्नेल मॉड्यूल लोड करती है। इसके अतिरिक्त, यह इंटरफ़ेस नामों और उनके संबंधित PCI पतों को फ़ाइल lua/if_map.lua में सहेजती है ताकि गेटकीपर कॉन्फ़िगरेशन फ़ाइलों में इंटरफ़ेस नामों का उपयोग किया जा सके।

एक बार DPDK और LuaJIT संकलित हो जाने के बाद, gatekeeper को संकलित किया जा सकता है:

root@kitploit:~
$ make

नेटवर्क एडेप्टर कॉन्फ़िगर करें

gatekeeper का उपयोग करने से पहले, नेटवर्क एडेप्टर को DPDK से बाँधना होगा। इसके लिए, आप स्क्रिप्ट dependencies/dpdk/usertools/dpdk-devbind.py का उपयोग कर सकते हैं। उदाहरण के लिए:

root@kitploit:~
$ sudo dependencies/dpdk/usertools/dpdk-devbind.py --bind=vfio-pci enp131s0f0

यह कमांड इंटरफ़ेस enp131s0f0 को vfio-pci ड्राइवर से बाँधता है ताकि फ्रेम को कर्नेल के बजाय सीधे DPDK को पास किया जा सके। ध्यान दें कि यह बाइंडिंग उपरोक्त चरणों में गेटकीपर सेटअप के बाद होनी चाहिए ताकि बाउंड इंटरफ़ेस lua/if_map.lua में इंटरफ़ेस की सूची में दिखाई दे।

कैसे चलाएँ

एक बार gatekeeper संकलित हो जाने और वातावरण सही ढंग से कॉन्फ़िगर हो जाने पर, चलाएँ:

root@kitploit:~
$ sudo build/gatekeeper [EAL OPTIONS] -- [GATEKEEPER OPTIONS]

जहाँ [EAL OPTIONS] डबल डैश से पहले निर्दिष्ट किए जाते हैं और DPDK के पर्यावरणीय अमूर्तन परत के लिए पैरामीटर दर्शाते हैं, और [GATEKEEPER OPTIONS] डबल डैश के बाद निर्दिष्ट किए जाते हैं और गेटकीपर-विशिष्ट विकल्प दर्शाते हैं।

सिस्टम की प्रारंभिक कॉन्फ़िगरेशन, जिसमें DPDK में डिवाइस और मेमोरी कॉन्फ़िगरेशन शामिल है, stdout पर लॉग होगी। एक बार गेटकीपर बूट होने के बाद, सभी जानकारी गेटकीपर लॉग पर आउटपुट होती है।

पैकेज कैसे बनाएँ

गेटकीपर डेबियन पैकेज नीचे दिए गए कमांड से बनाए जा सकते हैं। वे रिपॉजिटरी रूट से चलाए जाने के लिए हैं और यह मानते हैं कि git सबमॉड्यूल खींच लिए गए हैं, और बिल्ड निर्भरताएँ स्थापित कर ली गई हैं, जैसा कि ऊपर निर्देशित किया गया है। पैकेज बिल्ड प्रक्रिया के दौरान गेटकीपर और सबमॉड्यूल स्वचालित रूप से संकलित हो जाएंगे।

root@kitploit:~
$ tar --exclude-vcs -Jcvf ../gatekeeper_1.2.0.orig.tar.xz -C .. gatekeeper
$ debuild -uc -us

गेटकीपर पैकेज पैरेंट निर्देशिका में उपलब्ध होगा।

टूल डाउनलोड करें
libc6-dev-i386
autoconf
flex
bison
libncurses5-dev
libreadline-dev
devscripts
dpdk-devbind.py
python3
python3-pyelftools
libcap-dev
libcap2
meson
ninja-build
pkg-config