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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
mitmproxy2swagger — ट्रैफ़िक कैप्चर करके REST API का स्वचालित रूप से रिवर्स इंजीनियरिंग | Kitploit
उपकरण/GitHubGitHub/alufers/mitmproxy2swagger
रिवर्स इंजीनियरिंगजानकारी एकत्र करनावेब सुरक्षाAPI सुरक्षा
GitHubalufers/mitmproxy2swagger

mitmproxy2swagger

ट्रैफ़िक कैप्चर करके REST API का स्वचालित रूप से रिवर्स इंजीनियरिंग

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

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

सभी देखें →

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

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

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

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

mitmproxy2swagger

PyPI version Arch Linux repository

https://user-images.githubusercontent.com/5400940/168086818-c48f60ab-3f95-42eb-b435-c8b1a6326b81.mp4

एक उपकरण जो स्वचालित रूप से mitmproxy कैप्चर को OpenAPI 3.0 विनिर्देशों में परिवर्तित करता है। इसका मतलब है कि आप केवल ऐप्स चलाकर और ट्रैफ़िक कैप्चर करके REST API को स्वचालित रूप से रिवर्स-इंजीनियर कर सकते हैं।


🆕 नया!

ब्राउज़र DevTools से निर्यात किए गए HAR को प्रोसेस करने का समर्थन जोड़ा गया। अधिक जानकारी के लिए उपयोग - HAR देखें।


स्थापना

पहले आपको python3 और pip3 की आवश्यकता होगी।

root@kitploit:~
$ pip install mitmproxy2swagger
# ... या ...
$ pip3 install mitmproxy2swagger
# ... या ...
$ git clone [email protected]:alufers/mitmproxy2swagger.git
$ cd mitmproxy2swagger
$ docker build -t mitmproxy2swagger .

फिर रेपो को क्लोन करें और नीचे दिए गए उदाहरणों के अनुसार mitmproxy2swagger चलाएँ।

उपयोग

Mitmproxy

HTTP ट्रैफ़िक का निरीक्षण करके एक विनिर्देश बनाने के लिए आपको यह करना होगा:

  1. mitmproxy टूल का उपयोग करके ट्रैफ़िक कैप्चर करें। मैं व्यक्तिगत रूप से mitmweb का उपयोग करने की सलाह देता हूँ, जो mitmproxy में निर्मित एक वेब इंटरफ़ेस है।

    root@kitploit:~
    $ mitmweb
    Web server listening at http://127.0.0.1:8081/
    Proxy server listening at http://*:9999
    ...
    

    महत्वपूर्ण

    अपने क्लाइंट को mitm प्रॉक्सी द्वारा प्रदर्शित प्रॉक्सी का उपयोग करने के लिए कॉन्फ़िगर करने के लिए, कृपया अधिक जानकारी के लिए mitmproxy दस्तावेज़ीकरण देखें।

  2. ट्रैफ़िक को एक फ़्लो फ़ाइल में सहेजें।

    mitmweb में आप "फ़ाइल" मेनू का उपयोग करके और "सहेजें" चुनकर ऐसा कर सकते हैं:

    एक स्क्रीनशॉट जो "फ़ाइल" मेनू में "सहेजें" विकल्प का स्थान दिखाता है

  3. mitmproxy2swagger का पहला पास चलाएँ:

    root@kitploit:~
    $ mitmproxy2swagger -i <path_to_mitmptoxy_flow> -o <path_to_output_schema> -p <api_prefix>
    # ... या ...
    $ docker run -it -v $PWD:/app mitmproxy2swagger mitmproxy2swagger -i <path_to_mitmptoxy_flow> -o <path_to_output_schema> -p <api_prefix>
    

    कृपया ध्यान दें कि आप किसी मौजूदा स्कीमा का उपयोग कर सकते हैं, जिस स्थिति में मौजूदा स्कीमा को नए डेटा के साथ विस्तारित किया जाएगा। आप इसे विभिन्न फ़्लो कैप्चर के साथ कुछ बार भी चला सकते हैं, कैप्चर किया गया डेटा सुरक्षित रूप से मर्ज हो जाएगा।

    <api_prefix> उस API का आधार URL है जिसे आप रिवर्स-इंजीनियर करना चाहते हैं। आपको इसे mitmproxy में किए जा रहे अनुरोधों को देखकर प्राप्त करना होगा।

    उदाहरण के लिए यदि किसी ऐप ने इस प्रकार के अनुरोध किए हैं:

    root@kitploit:~
    https://api.example.com/v1/login
    https://api.example.com/v1/users/2
    https://api.example.com/v1/users/2/profile
    

HAR

  1. ब्राउज़र DevTools से ट्रैफ़िक कैप्चर करें और निर्यात करें।

    ब्राउज़र DevTools में, नेटवर्क टैब पर जाएँ और "Export HAR" बटन पर क्लिक करें।

    एक स्क्रीनशॉट जो दिखाता है कि HAR निर्यात बटन कहाँ स्थित है

  2. उसी तरह जारी रखें जैसे आप mitmproxy डंप के साथ करते। mitmproxy2swagger स्वचालित रूप से HAR फ़ाइल का पता लगाएगा और उसे प्रोसेस करेगा।

उदाहरण आउटपुट

उदाहरण देखें। वहाँ आपको एक उत्पन्न स्कीमा और उत्पन्न दस्तावेज़ीकरण के साथ एक HTML फ़ाइल मिलेगी (redoc-cli के माध्यम से)।

उत्पन्न HTML फ़ाइल देखें।

विकास और योगदान

यह प्रोजेक्ट उपयोग करता है:

  • uv निर्भरता प्रबंधन के लिए
  • prek कोड फ़ॉर्मेटिंग और लिंटिंग के लिए
  • pytest यूनिट परीक्षण के लिए

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

root@kitploit:~
uv sync

लिंटर चलाएँ:

root@kitploit:~
uv run prek run --all-files

प्री-क हुक स्थापित करें:

root@kitploit:~
uv run prek install

परीक्षण चलाएँ:

root@kitploit:~
uv run pytest

कवरेज के साथ परीक्षण चलाएँ:

root@kitploit:~
uv run pytest --cov=mitmproxy2swagger

लाइसेंस

MIT

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

संभावित उपसर्ग https://api.example.com/v1 है।

  • पहले पास को चलाने से स्कीमा फ़ाइल में ऐसा एक अनुभाग बन जाना चाहिए:

    root@kitploit:~
    x-path-templates:
      # किसी एंडपॉइंट को उसके URL के साथ उत्पन्न करने के लिए ignore: उपसर्ग हटाएँ
      # शीर्ष के निकट की पंक्तियों को प्राथमिकता दी जाती है, मिलान लालची होता है
      - ignore:/addresses
      - ignore:/basket
      - ignore:/basket/add
      - ignore:/basket/checkouts
      - ignore:/basket/coupons/attach/{id}
      - ignore:/basket/coupons/attach/104754
    

    आपको स्कीमा फ़ाइल को टेक्स्ट एडिटर से संपादित करना चाहिए और उन पथों से ignore: उपसर्ग हटा देना चाहिए जिन्हें आप उत्पन्न करना चाहते हैं। आप पथों में दिखाई देने वाले पैरामीटर को भी समायोजित कर सकते हैं।

  • mitmproxy2swagger का दूसरा पास चलाएँ:

    root@kitploit:~
    $ mitmproxy2swagger -i <path_to_mitmptoxy_flow> -o <path_to_output_schema> -p <api_prefix> [--examples]
    # ... या ...
    $ docker run -it -v $PWD:/app mitmproxy2swagger mitmproxy2swagger -i <path_to_mitmptoxy_flow> -o <path_to_output_schema> -p <api_prefix> [--examples]
    

    कमांड को दूसरी बार चलाएँ (उसी स्कीमा फ़ाइल के साथ)। यह संपादित पंक्तियों को उठाएगा और एंडपॉइंट विवरण उत्पन्न करेगा।

    कृपया ध्यान दें कि mitmproxy2swagger मौजूदा एंडपॉइंट विवरणों को अधिलेखित नहीं करेगा, यदि आप उन्हें अधिलेखित करना चाहते हैं, तो दूसरा पास चलाने से पहले उन्हें हटा सकते हैं।

    --examples पास करने से अनुरोधों और प्रतिक्रियाओं में उदाहरण डेटा जुड़ जाएगा। इस विकल्प का उपयोग करते समय सावधानी बरतें, क्योंकि यह स्कीमा में संवेदनशील डेटा (टोकन, पासवर्ड, व्यक्तिगत जानकारी आदि) जोड़ सकता है। --headers पास करने से अनुरोधों और प्रतिक्रियाओं में हेडर डेटा जुड़ जाएगा। इस विकल्प का उपयोग करते समय सावधानी बरतें, क्योंकि यह स्कीमा में संवेदनशील डेटा (टोकन, पासवर्ड, व्यक्तिगत जानकारी आदि) जोड़ सकता है।