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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
bore — रस्ट में एक सरल TCP टनल जो स्थानीय पोर्ट को रिमोट सर्वर पर एक्सपोज़ करता है, NAT फ़ायरवॉल को बायपास करता है। हल्का, स्व-होस्ट करने योग्य, और इंस्टॉल करने में आसान। | Kitploit
उपकरण/GitHubGitHub/ekzhang/bore
सामान्य उपयोगिताएँनेटवर्क सुरक्षा
GitHubekzhang/bore

bore

रस्ट में एक सरल TCP टनल जो स्थानीय पोर्ट को रिमोट सर्वर पर एक्सपोज़ करता है, NAT फ़ायरवॉल को बायपास करता है। हल्का, स्व-होस्ट करने योग्य, और इंस्टॉल करने में आसान।

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

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

सभी देखें →

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

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

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

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

bore

Build status Crates.io

Rust में लिखा एक आधुनिक, सरल TCP टनल जो स्थानीय पोर्ट को दूरस्थ सर्वर पर उजागर करता है, मानक NAT कनेक्शन फ़ायरवॉल को बायपास करता है। यह बस इतना ही करता है: न अधिक, न कम।

Video demo

root@kitploit:~
# Installation (requires Rust, see alternatives below)
cargo install bore-cli

# On your local machine
bore local 8000 --to bore.pub

यह आपके स्थानीय पोर्ट localhost:8000 को सार्वजनिक इंटरनेट पर bore.pub:<PORT> पर उजागर करेगा, जहाँ पोर्ट नंबर यादृच्छिक रूप से निर्दिष्ट किया जाता है।

localtunnel और ngrok के समान, सिवाय इसके कि bore TCP ट्रैफ़िक को फ़ॉरवर्ड करने के लिए एक अत्यधिक कुशल, अविवादित उपकरण है जो स्थापित करने में सरल और स्वयं-होस्ट करने में आसान है, बिना किसी अतिरिक्त सुविधा के।

(bore सुरक्षित, async Rust कोड की लगभग 400 पंक्तियों का है और सेट अप करना बहुत आसान है — बस क्लाइंट और सर्वर के लिए एक एकल बाइनरी चलाएँ।)

स्थापना

macOS

bore Homebrew कोर फॉर्मूला के रूप में पैक किया गया है।

root@kitploit:~
brew install bore-cli

Linux

Arch Linux

bore AUR में bore के रूप में उपलब्ध है।

root@kitploit:~
yay -S bore # or your favorite AUR helper

Gentoo Linux

bore gentoo-zh ओवरले में उपलब्ध है।

root@kitploit:~
sudo eselect repository enable gentoo-zh
sudo emerge --sync gentoo-zh
sudo emerge net-proxy/bore

बाइनरी वितरण

अन्यथा, bore को स्थापित करने का सबसे आसान तरीका प्रीबिल्ट बाइनरीज़ से है। ये macOS, Windows और Linux के लिए रिलीज़ पेज पर उपलब्ध हैं। बस अपने प्लेटफ़ॉर्म के लिए उपयुक्त फ़ाइल को अनज़िप करें और bore निष्पादन योग्य को अपने PATH में एक फ़ोल्डर में ले जाएँ।

Cargo

आप Cargo, Rust पैकेज मैनेजर का उपयोग करके bore को स्रोत से भी बना सकते हैं। यह कमांड bore बाइनरी को एक उपयोगकर्ता-सुलभ पथ पर स्थापित करता है।

root@kitploit:~
cargo install bore-cli

Docker

हम प्रत्येक रिलीज़ के लिए संस्करणित Docker इमेज भी प्रकाशित करते हैं। इमेज AMD 64-बिट आर्किटेक्चर के लिए बनाई गई है। वे विशिष्ट संस्करण के साथ टैग की गई हैं और आपको न्यूनतम "scratch" कंटेनर से स्थिर रूप से लिंक की गई bore बाइनरी चलाने की अनुमति देती हैं।

root@kitploit:~
docker run -it --init --rm --network host ekzhang/bore <ARGS>

विस्तृत उपयोग

यह खंड bore CLI कमांड के विस्तृत उपयोग का वर्णन करता है।

स्थानीय अग्रेषण

आप bore local कमांड का उपयोग करके अपनी स्थानीय मशीन पर एक पोर्ट को अग्रेषित कर सकते हैं। यह एक स्थितीय तर्क लेता है, अग्रेषित करने के लिए स्थानीय पोर्ट, साथ ही एक अनिवार्य --to विकल्प, जो दूरस्थ सर्वर का पता निर्दिष्ट करता है।

root@kitploit:~
bore local 5000 --to bore.pub

आप वैकल्पिक रूप से एक --port विकल्प पास कर सकते हैं ताकि रिमोट पर एक विशिष्ट पोर्ट चुन सकें, हालाँकि यदि यह पोर्ट उपलब्ध नहीं है तो कमांड विफल हो जाएगा। साथ ही, --local-host पास करने से आप लूपबैक पते localhost के अलावा अपने स्थानीय क्षेत्र नेटवर्क पर एक अलग होस्ट को उजागर कर सकते हैं।

पूर्ण विकल्प नीचे दिखाए गए हैं।

root@kitploit:~
Starts a local proxy to the remote server

Usage: bore local [OPTIONS] --to <TO> <LOCAL_PORT>

Arguments:
  <LOCAL_PORT>  The local port to expose [env: BORE_LOCAL_PORT=]

Options:
  -l, --local-host <HOST>  The local host to expose [default: localhost]
  -t, --to <TO>            Address of the remote server to expose local ports to [env: BORE_SERVER=]
  -p, --port <PORT>        Optional port on the remote server to select [default: 0]
  -s, --secret <SECRET>    Optional secret for authentication [env: BORE_SECRET]
  -h, --help               Print help

स्व-होस्टिंग

जैसा कि स्टार्टअप निर्देशों में उल्लेख किया गया है, bore.pub पर चलने वाला bore सर्वर का एक सार्वजनिक उदाहरण है। हालाँकि, यदि आप अपने नेटवर्क पर bore को स्वयं-होस्ट करना चाहते हैं, तो आप निम्नलिखित कमांड के साथ ऐसा कर सकते हैं:

root@kitploit:~
bore server

बस इतना ही चाहिए! सर्वर किसी दिए गए पते पर चलना शुरू करने के बाद, आप एक स्थानीय पोर्ट को इस दूरस्थ सर्वर पर अग्रेषित करने के लिए bore local कमांड को विकल्प --to <ADDRESS> के साथ अपडेट कर सकते हैं।

नियंत्रण सर्वर और टनल के लिए अलग-अलग IP पते निर्दिष्ट करना संभव है। यह सेटअप उन मामलों के लिए उपयोगी है जहाँ आप नियंत्रण सर्वर को एक निजी नेटवर्क पर रखना चाहते हैं जबकि टनल कनेक्शन को सार्वजनिक इंटरफ़ेस पर अनुमति देना चाहते हैं, या इसके विपरीत।

bore server कमांड के पूर्ण विकल्प नीचे दिखाए गए हैं।

root@kitploit:~
Runs the remote proxy server

Usage: bore server [OPTIONS]

Options:
      --min-port <MIN_PORT>          Minimum accepted TCP port number [env: BORE_MIN_PORT=] [default: 1024]
      --max-port <MAX_PORT>          Maximum accepted TCP port number [env: BORE_MAX_PORT=] [default: 65535]
  -s, --secret <SECRET>              Optional secret for authentication [env: BORE_SECRET]
      --bind-addr <BIND_ADDR>        IP address to bind to, clients must reach this [default: 0.0.0.0]
      --bind-tunnels <BIND_TUNNELS>  IP address where tunnels will listen on, defaults to --bind-addr
  -h, --help                         Print help

प्रोटोकॉल

एक अंतर्निहित नियंत्रण पोर्ट 7835 पर है, जिसका उपयोग मांग पर नए कनेक्शन बनाने के लिए किया जाता है। आरंभीकरण पर, क्लाइंट TCP नियंत्रण पोर्ट पर सर्वर को एक "Hello" संदेश भेजता है, जो एक चयनित दूरस्थ पोर्ट को प्रॉक्सी करने के लिए कहता है। सर्वर तब एक स्वीकृति के साथ प्रतिक्रिया करता है और बाहरी TCP कनेक्शनों को सुनना शुरू करता है।

जब भी सर्वर को रिमोट पोर्ट पर एक कनेक्शन मिलता है, तो वह उस कनेक्शन के लिए एक सुरक्षित UUID उत्पन्न करता है और इसे क्लाइंट को वापस भेजता है। क्लाइंट फिर सर्वर के लिए एक अलग TCP स्ट्रीम खोलता है और उस स्ट्रीम पर UUID युक्त एक "Accept" संदेश भेजता है। सर्वर तब दोनों कनेक्शनों को एक दूसरे के बीच प्रॉक्सी करता है।

शुद्धता कारणों और मेमोरी लीक से बचने के लिए, आने वाले कनेक्शन सर्वर द्वारा अधिकतम 10 सेकंड तक संग्रहीत किए जाते हैं, यदि क्लाइंट उन्हें स्वीकार नहीं करता है तो उन्हें त्याग दिया जाता है।

प्रमाणीकरण

bore server की एक कस्टम तैनाती पर, आप वैकल्पिक रूप से एक गुप्त की आवश्यकता कर सकते हैं ताकि सर्वर का उपयोग दूसरों द्वारा न किया जा सके। प्रोटोकॉल के लिए आवश्यक है कि क्लाइंट प्रत्येक TCP कनेक्शन पर HMAC कोड के रूप में यादृच्छिक चुनौतियों का उत्तर देकर गुप्त के कब्जे को सत्यापित करें। (यह गुप्त केवल प्रारंभिक हैंडशेक के लिए उपयोग किया जाता है, और डिफ़ॉल्ट रूप से कोई आगे का ट्रैफ़िक एन्क्रिप्ट नहीं किया जाता है।)

root@kitploit:~
# on the server
bore server --secret my_secret_string

# on the client
bore local <LOCAL_PORT> --to <TO> --secret my_secret_string

यदि तर्कों में कोई गुप्त मौजूद नहीं है, तो bore BORE_SECRET पर्यावरण चर से पढ़ने का भी प्रयास करेगा।

आभार

Eric Zhang (@ekzhang1) द्वारा बनाया गया। MIT लाइसेंस के तहत लाइसेंस प्राप्त।

लेखक Tokio परियोजना के योगदानकर्ताओं और अनुरक्षकों को धन्यवाद देना चाहता है जिसने Rust में एर्गोनोमिक और कुशल नेटवर्क सेवाएँ लिखना संभव बनाया।

टूल डाउनलोड करें