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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
http-breakout-proxy — HTTP प्रॉक्सी विश्लेषण रिवर्स इंजीनियरिंग प्रोटोकॉल संचार के लिए | Kitploit
उपकरण/GitHubGitHub/jbsouthe/http-breakout-proxy
वेब प्रॉक्सी और अवरोधनरिवर्स इंजीनियरिंगस्क्रिप्टिंग और स्वचालनएपीआई सुरक्षा परीक्षणजानकारी एकत्र करनावेब सुरक्षाउपयोगिताएँ और फ्रेमवर्कलॉग विश्लेषण
GitHubjbsouthe/http-breakout-proxy

http-breakout-proxy

HTTP प्रॉक्सी विश्लेषण रिवर्स इंजीनियरिंग प्रोटोकॉल संचार के लिए

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

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

सभी देखें →

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

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

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

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

HTTP Breakout Proxy

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

Web App

Color Rules

अवलोकन

HTTP Breakout Proxy एक HTTP और HTTPS MITM प्रॉक्सी और एक लाइव विज़ुअलाइज़ेशन टूल दोनों के रूप में कार्य करता है।
यह दो सॉफ़्टवेयर घटकों के बीच अनुरोधों और प्रतिक्रियाओं को कैप्चर करता है, जिससे डेवलपर्स निम्नलिखित कार्य कर सकते हैं:

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

प्रॉक्सी में एक पूर्ण-विशेषताओं वाला UI एम्बेडेड है जो किसी भी आधुनिक वेब ब्राउज़र से सुलभ है, बाहरी उपकरणों के बिना तत्काल, वास्तविक समय विश्लेषण सक्षम करता है।


विशेषताएँ

🔍 कैप्चर और निरीक्षण

  • HTTP और HTTPS दोनों ट्रैफ़िक को इंटरसेप्ट करता है (MITM CA समर्थन के साथ)।
  • सभी अनुरोध और प्रतिक्रिया मेटाडेटा, हेडर और बॉडी प्रदर्शित करता है।
  • बहुत बड़ी बॉडी के लिए ट्रंकेशन का समर्थन करता है।

💾 स्थायित्व

  • कैप्चर और रंग नियम captures.json (या निर्दिष्ट फ़ाइल) में संग्रहीत होते हैं।
  • स्टार्टअप पर स्वचालित रूप से स्थिति पुनः लोड करता है और समय-समय पर डिस्क पर सहेजता है।
  • यदि कोई मौजूद नहीं है तो पहले रन पर डिफ़ॉल्ट रंग नियम उत्पन्न होते हैं।

🖥️ वेब UI

  • उत्तरदायी एम्बेडेड वेब इंटरफ़ेस (प्रॉक्सी द्वारा स्वयं प्रस्तुत)।
  • कैप्चर को रंग-कोडित संकेतकों के साथ स्क्रॉल करने योग्य सूची में प्रदर्शित करता है।
  • विवरण पैनल दिखाता है:
    • अनुरोध और प्रतिक्रिया हेडर/बॉडी
    • समय विवरण
    • संपादन योग्य नोट्स
    • कनेक्शन चरणों के लिए Gantt-शैली प्रदर्शन चार्ट

🎨 रंग नियम

  • लचीली फ़िल्टर सिंटैक्स का उपयोग करके कैप्चर के लिए सशर्त रंग हाइलाइट परिभाषित करें:
    • उदाहरण: status:4 status:5 → HTTP त्रुटियों को हाइलाइट करता है
    • उदाहरण: url:/api/ → API अनुरोधों को हाइलाइट करता है
    • उदाहरण: /\.css$/ → URL पर regex मिलान
  • प्रत्येक नियम में शामिल है:
    • नाम, रंग, मिलान अभिव्यक्ति, प्राथमिकता और नोट
  • सबसे अधिक प्राथमिकता वाला मिलान जीतता है।
  • लाइव पूर्वावलोकन के साथ मॉडल UI के माध्यम से इंटरैक्टिव रूप से प्रबंधित।
  • सत्रों में स्थायी।

⏸️ कैप्चर नियंत्रण

  • Pause/Resume बटन आपको प्रॉक्सी को रोके बिना नए कैप्चर एकत्र करना बंद करने की अनुमति देता है।
  • एक निश्चित डेटासेट पर ध्यान केंद्रित करने या विशिष्ट व्यवहार को अलग करने के लिए उपयोगी।

📈 प्रदर्शन विज़ुअलाइज़ेशन

  • प्रत्येक कैप्चर में विस्तृत कनेक्शन समय शामिल है:
    • DNS लुकअप
    • TCP कनेक्ट
    • TLS हैंडशेक
    • सर्वर प्रोसेसिंग
    • प्रतिक्रिया पढ़ना
  • विवरण पैनल में Gantt चार्ट के रूप में प्रदर्शित।
  • स्केल पठनीयता के लिए स्वचालित रूप से निकटतम सेकंड में गोल होता है।

🧭 फ़िल्टरिंग और खोज

  • रीयल-टाइम फ़िल्टर बॉक्स समर्थन करता है:
    • फ़ील्ड-आधारित फ़िल्टर (method:GET, status:404, header:Content-Type=application/json)
    • रेगेक्स अभिव्यक्तियाँ (/login/)
    • AND/OR सिमेंटिक्स के साथ संयुक्त शब्द
  • केस-असंवेदनशील और आंशिक मिलान समर्थित।
  • फ़िल्टर कैप्चर सूची और रंग हाइलाइटिंग दोनों पर लागू होता है।
  • खोज इतिहास ब्राउज़र में स्थानीय रूप से संग्रहीत होता है।

🧹 प्रबंधन

  • UI के माध्यम से व्यक्तिगत कैप्चर हटाएं या सभी कैप्चर साफ़ करें।
  • नियम और नोट कैप्चर के साथ स्थायी रहते हैं।

🧩 निर्यात उपयोगिताएँ

  • एक कैप्चर को कॉपी करें इस प्रकार:
    • curl कमांड (टर्मिनल के लिए स्वरूपित)
    • python requests कोड स्निपेट (स्वच्छ JSON प्रस्तुति)
  • UI से सीधे प्रतिक्रिया बॉडी डाउनलोड करें।

कमांड लाइन उपयोग

root@kitploit:~
httpbreakout  -l 127.0.0.1:8080

त्वरित प्रारंभ

बिल्ड (स्रोत से)

root@kitploit:~
git clone https://github.com/jbsouthe/http-breakout-proxy.git
cd http-breakout-proxy
go build -o http-breakout-proxy

यह एक एकल निष्पादन योग्य बनाता है जिसमें संकलित प्रॉक्सी और एम्बेडेड UI संपत्तियाँ शामिल हैं।

रन (डिफ़ॉल्ट)

root@kitploit:~
# डिफ़ॉल्ट के साथ चलाएँ (प्रॉक्सी + UI)
./http-breakout-proxy

डिफ़ॉल्ट रूप से बाइनरी प्रॉक्सी के लिए 127.0.0.1:8080 पर बाइंड होती है (और वैकल्पिक रूप से UI — CLI फ़्लैग देखें)। कैप्चर का निरीक्षण करने के लिए ब्राउज़र में UI खोलें।

उदाहरण: curl के साथ प्रॉक्सी का परीक्षण

root@kitploit:~
# प्रॉक्सी के माध्यम से एक HTTPS अनुरोध भेजें (प्रॉक्सी 127.0.0.1:8080 पर सुनता है)
curl -x http://127.0.0.1:8080 https://example.com

कैप्चर किया गया ट्रैफ़िक वेब UI में दिखाई देगा।


कमांड-लाइन आर्गुमेंट

फ़्लैगडिफ़ॉल्टविवरण
-l127.0.0.1:8080प्रॉक्सी के सुनने का पता और साथ ही UI ऐप।
-mitmtrueHTTPS मैन इन द मिडल मोड (MITM) इंटरसेप्शन सक्षम करें (TLS को इंटरसेप्ट करने के लिए एक स्थानीय CA जनरेट करता है)।
-ca./caवह निर्देशिका जिसमें जनरेट किया गया CA प्रमाणपत्र और कुंजी संग्रहीत की जाती है जब MITM सक्षम हो और स्थायित्व चुना गया हो।
-f./captures.jsonकैप्चर को डिस्क पर स्थायी रूप से संग्रहीत करने के लिए वैकल्पिक पथ या निर्देशिका (जैसे ./captures.json).
-max-body1048576प्रति बॉडी संग्रहीत/प्रदर्शित करने के लिए अधिकतम बाइट्स; बड़ी बॉडी को एक संतरी के साथ छोटा किया जाता है।
-buffer-size1000मेमोरी में कैप्चर के लिए सर्कुलर बफर क्षमता।
-vfalseडिबगिंग के लिए वर्बोज़ लॉगिंग सक्षम करें।

उपलब्ध फ़्लैग और उपयोग विवरण सूचीबद्ध करने के लिए ./http-breakout-proxy -h का उपयोग करें।


वेब UI अवलोकन

UI जांच कार्यप्रवाहों के लिए अनुकूलित है।

  • शीर्ष टूलबार: वैश्विक फ़िल्टर इनपुट (regex और कुंजीयुक्त उपसर्गों का समर्थन करता है), कैप्चर को रोकें/फिर से शुरू करें, साफ़ करें, और फ़िल्टर सहायता (एक नए टैब में खुलता है)।
  • बायाँ पैनल: कालानुक्रमिक कैप्चर सूची (नवीनतम पहले)। प्रत्येक आइटम कैप्चर का नाम दिखाता है; डिफ़ॉल्ट रूप से यह METHOD URL [STATUS] है लेकिन एक कस्टम नाम निर्दिष्ट किया जा सकता है।
  • दायाँ पैनल: चयनित कैप्चर के लिए विवरण:
    • अवलोकन: मेटाडेटा, हेडर और बॉडी (जहाँ लागू हो स्वरूपित JSON)।
    • अनुरोध / प्रतिक्रिया टैब: कच्ची स्वरूपित बॉडी।
    • कच्चा टैब: पूर्ण कैप्चर JSON।
  • पंक्ति क्रियाएँ: कॉपी करें curl के रूप में, कॉपी करें Python requests के रूप में, प्रतिक्रिया बॉडी डाउनलोड करें, नाम बदलें, हटाएँ।

फ़िल्टर भाषा (संक्षिप्त संदर्भ)

  • सादा टोकन: कहीं भी मेल खाता है (विधि, URL, स्थिति, होस्ट, हेडर, बॉडी)।
  • उपसर्ग: method:, status:, host:, url:, body:, req.body:, resp.body:, header:, req.header:, resp.header:।
  • Regex सिंटैक्स: /pattern/flags (उदाहरण /bearer\\s+\\S+/i)।
  • हेडर विशिष्टता: header:name=value जहाँ name या value regex हो सकते हैं।
  • शब्द डिफ़ॉल्ट रूप से तार्किक AND के साथ संयुक्त होते हैं (स्थान द्वारा अलग)। यदि वांछित हो तो OR पर स्विच करें (क्लाइंट लॉजिक बदलकर)।

उदाहरण:

  • method:POST status:2 host:api.example.com
  • /token\\s*[:=]\\s*\\S+/i
  • req.header:authorization=/bearer/i
  • body:/\\"success\\"\\s*:\\s*true/i

HTTPS इंटरसेप्शन (MITM)

जब मैन इन द मिडल मोड सक्षम हो:

  1. प्रॉक्सी एक RSA CA कुंजी जोड़ी और एक रूट प्रमाणपत्र उत्पन्न करता है और उन्हें -ca (डिफ़ॉल्ट ./ca) में संग्रहीत करता है।
  2. HTTPS ट्रैफ़िक का निरीक्षण करने के लिए आपको उत्पन्न CA प्रमाणपत्र (ca.pem या समान) को अनुरोध जारी करने वाले क्लाइंट (या सिस्टम) की ट्रस्ट स्टोर में जोड़ना होगा। कई प्लेटफ़ॉर्म पर इसके लिए प्रशासनिक विशेषाधिकारों की आवश्यकता होती है।
  3. प्रॉक्सी क्लाइंट द्वारा अनुरोधित प्रत्येक होस्टनाम के लिए स्थानीय CA द्वारा हस्ताक्षरित लीफ प्रमाणपत्र जारी करके TLS इंटरसेप्शन करता है।

सुरक्षा नोट: केवल नियंत्रित वातावरण में CA स्थापित करें। उन प्रणालियों में इस CA पर भरोसा न करें जहाँ आप असंबंधित संवेदनशील ट्रैफ़िक पढ़ते हैं।


स्थायित्व

यदि स्थायित्व सक्षम है (-f या कॉन्फ़िगर किए गए पथ के माध्यम से):

  • कैप्चर समय-समय पर डिस्क पर लिखे जाते हैं (जैसे captures.json)।
  • स्टार्टअप पर, एप्लिकेशन पिछले कैप्चर को स्थायित्व फ़ाइल से मेमोरी बफर में लोड करने का प्रयास करेगा (क्रम बनाए रखते हुए)।
  • नाम बदलने और हटाने के कार्य सहेजने के संचालन पर स्थायी स्टोर में सिंक्रनाइज़ होते हैं; महत्वपूर्ण संचालन के लिए तत्काल फ्लश पर विचार करें।

भंडारण प्रारूप

कैप्चर किए गए आइटम JSON में क्रमबद्ध होते हैं और इनमें निम्नलिखित फ़ील्ड शामिल होते हैं (अनन्य नहीं):

  • id — अद्वितीय अनुक्रम पहचानकर्ता
  • time — टाइमस्टैम्प (ISO 8601)
  • method, url
  • request_headers, response_headers
  • request_body, response_body — यदि आवश्यक हो तो -max-body तक छोटा किया गया
  • response_status, duration_ms
  • name — वैकल्पिक उपयोगकर्ता लेबल
  • notes, deleted — SSE घटनाओं और UI स्थिति के लिए नियंत्रण मेटाडेटा

निर्यात और रीप्ले सहायक

  • cURL के रूप में कॉपी करें: हेडर और बॉडी सहित एक शेल-सुरक्षित curl कमांड बनाता है (हॉप-बाय-हॉप हेडर छोड़ता है)।
  • Python के रूप में कॉपी करें: url, headers, और वैकल्पिक data के साथ एक छोटा requests स्निपेट उत्पन्न करता है।
  • डाउनलोड करें: प्रतिक्रिया बॉडी को एक फ़ाइल में सहेजता है; जब संभव हो Content-Type से एक्सटेंशन का अनुमान लगाया जाता है।

डिज़ाइन संबंधी विचार:

  • हॉप-बाय-हॉप हेडर (जैसे Host, Content-Length, Connection) उत्पन्न रीप्ले कमांड से छोड़े जाते हैं।
  • बाइनरी प्रतिक्रिया बॉडी (चित्र, PDF) बाइनरी ब्लॉब का उपयोग करके डाउनलोड करने योग्य होती हैं। यदि प्रतिक्रियाएँ Base64-एन्कोडेड संग्रहीत की जाती हैं, तो क्लाइंट डाउनलोड से पहले डीकोड करेगा।

API: REST एंडपॉइंट्स (स्वचालन के लिए)

  • GET /api/captures — कैप्चर सूचीबद्ध करें (JSON सरणी)।
  • DELETE /api/captures — सभी कैप्चर साफ़ करें।
  • GET /api/captures/{id} — एकल कैप्चर पुनर्प्राप्त करें।
  • DELETE /api/captures/{id} — विशिष्ट कैप्चर हटाएँ।
  • PATCH /api/captures/{id} — कैप्चर मेटाडेटा अपडेट करें; बॉडी उदाहरण: { "name": "My label" }।
  • GET /api/pause — { "paused": true|false } लौटाता है।
  • POST /api/pause — रुकी हुई स्थिति सेट करें; बॉडी उदाहरण: { "paused": true }।
  • GET /events — लाइव कैप्चर सूचनाओं और नियंत्रण घटनाओं के लिए सर्वर-सेंट इवेंट्स (SSE) स्ट्रीम।

कार्यान्वयन नोट्स (डेवलपर्स के लिए)

  • एम्बेडिंग UI: स्थिर फ़ाइलों की सेवा के लिए //go:embed ui/* और fs.Sub का उपयोग करें। यह एक एकल तैनात करने योग्य आर्टिफैक्ट बनाता है।
  • डीकम्प्रेशन: कैप्चर कोड Content-Encoding की जाँच करता है और प्रदर्शन से पहले gzip और deflate बॉडी को डीकम्प्रेस करने का प्रयास करता है। मूल बाइट्स प्रॉक्सी पारदर्शिता के लिए बनाए रखे जाते हैं।
  • समवर्तीता: कैप्चर स्टोर आंतरिक लॉकिंग का उपयोग करके थ्रेड-सुरक्षित ऐपेंड/लिस्ट/गेट/अपडेट संचालन प्रदान करता है। जहाँ संभव हो, टॉगल फ़्लैग (जैसे, रोकें/फिर से शुरू करें) के लिए परमाणु बूलियन का उपयोग किया जाता है।
  • SSE: एक हल्का ब्रोकर कनेक्टेड UI क्लाइंट को कैप्चर जोड़ने, हटाने, नाम बदलने और नियंत्रण घटनाओं का प्रसारण करता है।
  • बफ़रिंग: कैप्चर बॉडी को ट्रंकेशन का पता लगाने और मेमोरी उपयोग की रक्षा के लिए io.LimitReader का उपयोग करके पढ़ा जाता है।

पैकेजिंग और वितरण

अनुशंसित वितरण मॉडल:

  1. लक्ष्य प्लेटफ़ॉर्म के लिए स्थिर, ट्रिम किए गए बाइनरी बनाएँ (CGO_ENABLED=0, -trimpath, -ldflags "-s -w")।
  2. आर्काइव बनाएँ (Unix के लिए .tar.gz, Windows के लिए .zip) और README.md और LICENSE शामिल करें।
  3. SHA-256 चेकसम प्रदान करें और GitHub रिलीज़ में आर्टिफैक्ट संलग्न करें।
  4. वैकल्पिक रूप से क्रॉस-प्लेटफ़ॉर्म बिल्ड और रिलीज़ आर्टिफैक्ट को स्वचालित करने के लिए goreleaser का उपयोग करें।

बिल्ड कमांड उदाहरण:

root@kitploit:~
# Linux x86_64
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -o dist/http-breakout-proxy-linux-amd64 .

# macOS (arm64)
GOOS=darwin GOARCH=arm64 CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -o dist/http-breakout-proxy-darwin-arm64 .

एक सेवा के रूप में चलाना

systemd यूनिट (Linux उदाहरण)

root@kitploit:~
[Unit]
Description=HTTP Breakout Proxy
After=network.target

[Service]
ExecStart=/opt/http-breakout-proxy/http-breakout-proxy -l 0.0.0.0:8080
Restart=on-failure
User=proxy
Group=proxy

[Install]
WantedBy=multi-user.target

launchd (macOS उपयोगकर्ता एजेंट)

~/Library/LaunchAgents में एक plist बनाएँ और launchctl के साथ लोड करें।


समस्या निवारण

  • कैप्चर की गई बॉडी बाइनरी बकवास के रूप में दिखाई देती है
    बॉडी संपीड़ित है (जैसे, gzip)। सुनिश्चित करें कि आप एक ऐसा बिल्ड चला रहे हैं जिसमें स्वचालित डीकम्प्रेशन शामिल है; UI उपलब्ध होने पर डीकम्प्रेस्ड JSON/टेक्स्ट दिखाता है।

  • HTTPS ट्रैफ़िक प्रदर्शित नहीं होता / कनेक्शन त्रुटियाँ
    क्लाइंट उत्पन्न CA पर भरोसा नहीं करता है। ca/ca.pem को क्लाइंट/सिस्टम ट्रस्ट स्टोर में स्थापित करें और TLS इंटरसेप्शन के लिए विश्वसनीय के रूप में चिह्नित करें।

  • कैप्चर साफ़ करने के बाद UI पुराना चयन दिखाता है
    एक क्लाइंट में अपग्रेड करें जो cleared SSE घटनाओं पर selectedId साफ़ करता है या स्थिति को ताज़ा करने के लिए GET /api/captures एंडपॉइंट का आह्वान करें।

  • DELETE /api/captures पर 405
    सुनिश्चित करें कि सर्वर हैंडलर /api/captures के लिए DELETE स्वीकार करता है और आप ट्रेलिंग-स्लैश बेमेल से नहीं टकरा रहे हैं।


सुरक्षा और गोपनीयता

यह उपकरण TLS इंटरसेप्शन करता है जब MITM सक्षम हो। इसका उपयोग केवल नियंत्रित वातावरण में करें जहाँ आपके पास ट्रैफ़िक का निरीक्षण करने का स्पष्ट प्राधिकरण हो। उत्पन्न CA शक्तिशाली है: इसकी निजी कुंजी को किसी भी अन्य रूट CA निजी कुंजी के समान गोपनीयता के साथ व्यवहार करें। CA को साझा या उत्पादन ट्रस्ट स्टोर में स्थापित न करें।


योगदान

योगदान का स्वागत है। बग या फीचर अनुरोधों के लिए कृपया issues खोलें। कोड योगदान के लिए:

  1. रिपॉजिटरी को फोर्क करें।
  2. एक फीचर ब्रांच बनाएँ।
  3. जहाँ लागू हो, यूनिट टेस्ट और लिंटर चलाएँ।
  4. परिवर्तन, तर्क और किसी भी पिछड़े-संगतता संबंधी चिंताओं का वर्णन करते हुए एक पुल अनुरोध सबमिट करें।

लाइसेंस

यह प्रोजेक्ट MIT लाइसेंस के तहत वितरित किया गया है। विवरण के लिए LICENSE देखें।


एट्रिब्यूशन और संपर्क

लेखक: John Southerland (GitHub: jbsouthe)
प्रोजेक्ट: http-breakout-proxy — HTTP व्यवहार के बारे में डिबगिंग, विकास और सीखने के लिए अभिप्रेत है।

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