{"id":25864,"date":"2022-07-08T15:19:10","date_gmt":"2022-07-08T15:19:10","guid":{"rendered":"https:\/\/kalilinuxtutorials.com\/?p=25864"},"modified":"2022-07-08T15:19:13","modified_gmt":"2022-07-08T15:19:13","slug":"mitmproxy2swagger","status":"publish","type":"post","link":"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/","title":{"rendered":"Mitmproxy2Swagger : Automatically Reverse-Engineer REST APIs Via Capturing Traffic"},"content":{"rendered":"\n<p><strong>Mitmproxy2Swagger<\/strong> is a tool for automatically converting&nbsp;mitmproxy&nbsp;captures to&nbsp;OpenAPI 3.0&nbsp;specifications. This means that you can automatically reverse-engineer REST APIs by just running the apps and capturing the traffic.<\/p>\n\n\n\n<h2 class=\"has-text-align-center has-vivid-green-cyan-background-color has-background wp-block-heading\">Installation<\/h2>\n\n\n\n<p>First you will need python3 and pip3.<\/p>\n\n\n\n<p class=\"has-vivid-green-cyan-color has-black-background-color has-text-color has-background\"><strong>pip install mitmproxy2swagger<br>\u2026 or \u2026<br>pip3 install mitmproxy2swagger<\/strong><\/p>\n\n\n\n<p>Then clone the repo and run&nbsp;<code><strong>mitmproxy2swagger<\/strong><\/code>&nbsp;as per examples below.<\/p>\n\n\n\n<h2 class=\"has-text-align-center has-vivid-green-cyan-background-color has-background wp-block-heading\"><a href=\"https:\/\/github.com\/alufers\/mitmproxy2swagger#usage\"><\/a>Usage<\/h2>\n\n\n\n<h3 class=\"has-light-green-cyan-background-color has-background wp-block-heading\"><a href=\"https:\/\/github.com\/alufers\/mitmproxy2swagger#mitmproxy\"><\/a>Mitmproxy<\/h3>\n\n\n\n<p>To create a specification by inspecting HTTP traffic you will need to:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Capture the traffic by using the mitmproxy tool. I personally recommend using mitmweb, which is a web interface built-in to mitmproxy.<\/li><\/ul>\n\n\n\n<p class=\"has-vivid-green-cyan-color has-black-background-color has-text-color has-background\"><strong>$ mitmweb<br>Web server listening at http:\/\/127.0.0.1:8081\/<br>Proxy server listening at http:\/\/*:9999<br>\u2026<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>IMPORTANT<\/strong>To configure your client to use the proxy exposed by mitm proxy, please consult the&nbsp;mitmproxy documentation&nbsp;for more information.<\/li><li>Save the traffic to a flow file.In mitmweb you can do this by using the &#8220;File&#8221; menu and selecting &#8220;Save&#8221;<\/li><\/ul>\n\n\n\n<p>Run the first pass of mitmproxy2swagger:<\/p>\n\n\n\n<p class=\"has-vivid-green-cyan-color has-black-background-color has-text-color has-background\"><strong>$ mitmproxy2swagger -i -o -p<\/strong><\/p>\n\n\n\n<p>Please note that you can use an existing schema, in which case the existing schema will be extended with the new data. You can also run it a few times with different flow captures, the captured data will be safely merged.<\/p>\n\n\n\n<p><code><strong>&lt;api_prefix&gt;<\/strong><\/code>&nbsp;is the base url of the API you wish to reverse-engineer. You will need to obtain it by observing the requests being made in mitmproxy.<\/p>\n\n\n\n<p>For example if an app has made requests like these:<\/p>\n\n\n\n<p class=\"has-vivid-green-cyan-color has-black-background-color has-text-color has-background\"><strong>https:\/\/api.example.com\/v1\/login<br>https:\/\/api.example.com\/v1\/users\/2<br>https:\/\/api.example.com\/v1\/users\/2\/profile<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>The likely prefix is&nbsp;<strong><code>https:\/\/api.example.com\/v1<\/code>.<\/strong><\/li><li>Running the first pass should have created a section in the schema file like this:<\/li><\/ul>\n\n\n\n<p class=\"has-vivid-green-cyan-color has-black-background-color has-text-color has-background\"><strong>x-path-templates:<br>Remove the ignore: prefix to generate an endpoint with its URL<br>Lines that are closer to the top take precedence, the matching is greedy<br>ignore:\/addresses<br>ignore:\/basket<br>ignore:\/basket\/add<br>ignore:\/basket\/checkouts<br>ignore:\/basket\/coupons\/attach\/{id}<br>ignore:\/basket\/coupons\/attach\/104754<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>You should edit the schema file with a text editor and remove the&nbsp;<code><strong>ignore:<\/strong><\/code>&nbsp;prefix from the paths you wish to be generated. You can also adjust the parameters appearing in the paths.<\/li><li>Run the second pass of mitmproxy2swagger:<\/li><\/ul>\n\n\n\n<p class=\"has-vivid-green-cyan-color has-black-background-color has-text-color has-background\"><strong>$ mitmproxy2swagger -i -o -p [&#8211;examples]<\/strong><\/p>\n\n\n\n<p>Run the command a second time (with the same schema file). It will pick up the edited lines and generate endpoint descriptions.<\/p>\n\n\n\n<p>Please note that mitmproxy2swagger will not overwrite existing endpoint descriptions, if you want to overwrite them, you can delete them before running the second pass.<\/p>\n\n\n\n<p>Passing&nbsp;<code><strong>--examples<\/strong><\/code>&nbsp;will add example data to requests and responses. Take caution when using this option, as it may add sensitive data (tokens, passwords, personal information etc.) to the schema.<\/p>\n\n\n\n<h3 class=\"has-light-green-cyan-background-color has-background wp-block-heading\">HAR<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Capture and export the traffic from the browser DevTools.In the browser DevTools, go to the Network tab and click the &#8220;Export HAR&#8221; button.<\/li><li>Continue the same way you would do with the mitmproxy dump.&nbsp;<code><strong>mitmproxy2swagger<\/strong><\/code>&nbsp;will automatically detect the HAR file and process it.<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Mitmproxy2Swagger is a tool for automatically converting&nbsp;mitmproxy&nbsp;captures to&nbsp;OpenAPI 3.0&nbsp;specifications. This means that you can automatically reverse-engineer REST APIs by just running the apps and capturing the traffic. Installation First you will need python3 and pip3. pip install mitmproxy2swagger\u2026 or \u2026pip3 install mitmproxy2swagger Then clone the repo and run&nbsp;mitmproxy2swagger&nbsp;as per examples below. Usage Mitmproxy To create [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":25881,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEh_fQYQ_nwsPCQVQ5rdRbUbK_qLK42P9RqU7dyCJaqZTHHMgyOsu0Ea4pwCe7YGxofxmMQpHlDepAEK58mhRYKk2h1vE6S7pZBwdzGLy4CIh0aIi8fHUrQ4ilNk4Bl7lMRJxpVMP3ejb-hnD4Zx5XkwDsjko5in_yi6BvDfqcfxgiSxYQnKffYWqcVF\/s728\/mitmproxy2swagger_2_mitmweb_save-722537%20(1).png","fifu_image_alt":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[28],"tags":[5405,5402,5404,5403],"class_list":["post-25864","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kali","tag-capturing-traffic","tag-mitmproxy2swagger","tag-rest-apis","tag-reverse-engineer-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mitmproxy2Swagger : Automatically Reverse-Engineer REST APIs<\/title>\n<meta name=\"description\" content=\"Mitmproxy2Swagger is a tool for automatically converting\u00a0mitmproxy\u00a0captures to\u00a0OpenAPI 3.0\u00a0specifications.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mitmproxy2Swagger : Automatically Reverse-Engineer REST APIs\" \/>\n<meta property=\"og:description\" content=\"Mitmproxy2Swagger is a tool for automatically converting\u00a0mitmproxy\u00a0captures to\u00a0OpenAPI 3.0\u00a0specifications.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/\" \/>\n<meta property=\"og:site_name\" content=\"Kali Linux Tutorials\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-08T15:19:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-08T15:19:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEh_fQYQ_nwsPCQVQ5rdRbUbK_qLK42P9RqU7dyCJaqZTHHMgyOsu0Ea4pwCe7YGxofxmMQpHlDepAEK58mhRYKk2h1vE6S7pZBwdzGLy4CIh0aIi8fHUrQ4ilNk4Bl7lMRJxpVMP3ejb-hnD4Zx5XkwDsjko5in_yi6BvDfqcfxgiSxYQnKffYWqcVF\/s728\/mitmproxy2swagger_2_mitmweb_save-722537%20(1).png\" \/>\n<meta name=\"author\" content=\"R K\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEh_fQYQ_nwsPCQVQ5rdRbUbK_qLK42P9RqU7dyCJaqZTHHMgyOsu0Ea4pwCe7YGxofxmMQpHlDepAEK58mhRYKk2h1vE6S7pZBwdzGLy4CIh0aIi8fHUrQ4ilNk4Bl7lMRJxpVMP3ejb-hnD4Zx5XkwDsjko5in_yi6BvDfqcfxgiSxYQnKffYWqcVF\/s728\/mitmproxy2swagger_2_mitmweb_save-722537%20(1).png\" \/>\n<meta name=\"twitter:creator\" content=\"@CyberEdition\" \/>\n<meta name=\"twitter:site\" content=\"@CyberEdition\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"R K\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/\"},\"author\":{\"name\":\"R K\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/69444b58b9e267a4cf08fceb34b6f6ad\"},\"headline\":\"Mitmproxy2Swagger : Automatically Reverse-Engineer REST APIs Via Capturing Traffic\",\"datePublished\":\"2022-07-08T15:19:10+00:00\",\"dateModified\":\"2022-07-08T15:19:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/\"},\"wordCount\":499,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEh_fQYQ_nwsPCQVQ5rdRbUbK_qLK42P9RqU7dyCJaqZTHHMgyOsu0Ea4pwCe7YGxofxmMQpHlDepAEK58mhRYKk2h1vE6S7pZBwdzGLy4CIh0aIi8fHUrQ4ilNk4Bl7lMRJxpVMP3ejb-hnD4Zx5XkwDsjko5in_yi6BvDfqcfxgiSxYQnKffYWqcVF\/s728\/mitmproxy2swagger_2_mitmweb_save-722537%20(1).png\",\"keywords\":[\"Capturing Traffic\",\"Mitmproxy2Swagger\",\"REST APIs\",\"Reverse-Engineer\"],\"articleSection\":[\"Kali Linux\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/\",\"url\":\"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/\",\"name\":\"Mitmproxy2Swagger : Automatically Reverse-Engineer REST APIs\",\"isPartOf\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEh_fQYQ_nwsPCQVQ5rdRbUbK_qLK42P9RqU7dyCJaqZTHHMgyOsu0Ea4pwCe7YGxofxmMQpHlDepAEK58mhRYKk2h1vE6S7pZBwdzGLy4CIh0aIi8fHUrQ4ilNk4Bl7lMRJxpVMP3ejb-hnD4Zx5XkwDsjko5in_yi6BvDfqcfxgiSxYQnKffYWqcVF\/s728\/mitmproxy2swagger_2_mitmweb_save-722537%20(1).png\",\"datePublished\":\"2022-07-08T15:19:10+00:00\",\"dateModified\":\"2022-07-08T15:19:13+00:00\",\"description\":\"Mitmproxy2Swagger is a tool for automatically converting\u00a0mitmproxy\u00a0captures to\u00a0OpenAPI 3.0\u00a0specifications.\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/#primaryimage\",\"url\":\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEh_fQYQ_nwsPCQVQ5rdRbUbK_qLK42P9RqU7dyCJaqZTHHMgyOsu0Ea4pwCe7YGxofxmMQpHlDepAEK58mhRYKk2h1vE6S7pZBwdzGLy4CIh0aIi8fHUrQ4ilNk4Bl7lMRJxpVMP3ejb-hnD4Zx5XkwDsjko5in_yi6BvDfqcfxgiSxYQnKffYWqcVF\/s728\/mitmproxy2swagger_2_mitmweb_save-722537%20(1).png\",\"contentUrl\":\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEh_fQYQ_nwsPCQVQ5rdRbUbK_qLK42P9RqU7dyCJaqZTHHMgyOsu0Ea4pwCe7YGxofxmMQpHlDepAEK58mhRYKk2h1vE6S7pZBwdzGLy4CIh0aIi8fHUrQ4ilNk4Bl7lMRJxpVMP3ejb-hnD4Zx5XkwDsjko5in_yi6BvDfqcfxgiSxYQnKffYWqcVF\/s728\/mitmproxy2swagger_2_mitmweb_save-722537%20(1).png\",\"width\":\"728\",\"height\":\"380\"},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#website\",\"url\":\"https:\/\/kalilinuxtutorials.com\/\",\"name\":\"Kali Linux Tutorials\",\"description\":\"Kali Linux Tutorials\",\"publisher\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kalilinuxtutorials.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#organization\",\"name\":\"Kali Linux Tutorials\",\"url\":\"https:\/\/kalilinuxtutorials.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kalilinuxtutorials.com\/wp-content\/uploads\/2025\/07\/Kali.png\",\"contentUrl\":\"https:\/\/kalilinuxtutorials.com\/wp-content\/uploads\/2025\/07\/Kali.png\",\"width\":272,\"height\":90,\"caption\":\"Kali Linux Tutorials\"},\"image\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/CyberEdition\",\"https:\/\/www.threads.com\/@cybersecurityedition\",\"https:\/\/www.linkedin.com\/company\/cyberedition\",\"https:\/\/www.instagram.com\/cybersecurityedition\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/69444b58b9e267a4cf08fceb34b6f6ad\",\"name\":\"R K\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d3937c9687f2da11bc0a716404ff91779fe19ca115208dbf66167ad353aca5aa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d3937c9687f2da11bc0a716404ff91779fe19ca115208dbf66167ad353aca5aa?s=96&d=mm&r=g\",\"caption\":\"R K\"},\"url\":\"https:\/\/kalilinuxtutorials.com\/author\/ranjith\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mitmproxy2Swagger : Automatically Reverse-Engineer REST APIs","description":"Mitmproxy2Swagger is a tool for automatically converting\u00a0mitmproxy\u00a0captures to\u00a0OpenAPI 3.0\u00a0specifications.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/","og_locale":"en_US","og_type":"article","og_title":"Mitmproxy2Swagger : Automatically Reverse-Engineer REST APIs","og_description":"Mitmproxy2Swagger is a tool for automatically converting\u00a0mitmproxy\u00a0captures to\u00a0OpenAPI 3.0\u00a0specifications.","og_url":"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/","og_site_name":"Kali Linux Tutorials","article_published_time":"2022-07-08T15:19:10+00:00","article_modified_time":"2022-07-08T15:19:13+00:00","og_image":[{"url":"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEh_fQYQ_nwsPCQVQ5rdRbUbK_qLK42P9RqU7dyCJaqZTHHMgyOsu0Ea4pwCe7YGxofxmMQpHlDepAEK58mhRYKk2h1vE6S7pZBwdzGLy4CIh0aIi8fHUrQ4ilNk4Bl7lMRJxpVMP3ejb-hnD4Zx5XkwDsjko5in_yi6BvDfqcfxgiSxYQnKffYWqcVF\/s728\/mitmproxy2swagger_2_mitmweb_save-722537%20(1).png","type":"","width":"","height":""}],"author":"R K","twitter_card":"summary_large_image","twitter_image":"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEh_fQYQ_nwsPCQVQ5rdRbUbK_qLK42P9RqU7dyCJaqZTHHMgyOsu0Ea4pwCe7YGxofxmMQpHlDepAEK58mhRYKk2h1vE6S7pZBwdzGLy4CIh0aIi8fHUrQ4ilNk4Bl7lMRJxpVMP3ejb-hnD4Zx5XkwDsjko5in_yi6BvDfqcfxgiSxYQnKffYWqcVF\/s728\/mitmproxy2swagger_2_mitmweb_save-722537%20(1).png","twitter_creator":"@CyberEdition","twitter_site":"@CyberEdition","twitter_misc":{"Written by":"R K","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/#article","isPartOf":{"@id":"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/"},"author":{"name":"R K","@id":"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/69444b58b9e267a4cf08fceb34b6f6ad"},"headline":"Mitmproxy2Swagger : Automatically Reverse-Engineer REST APIs Via Capturing Traffic","datePublished":"2022-07-08T15:19:10+00:00","dateModified":"2022-07-08T15:19:13+00:00","mainEntityOfPage":{"@id":"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/"},"wordCount":499,"commentCount":0,"publisher":{"@id":"https:\/\/kalilinuxtutorials.com\/#organization"},"image":{"@id":"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/#primaryimage"},"thumbnailUrl":"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEh_fQYQ_nwsPCQVQ5rdRbUbK_qLK42P9RqU7dyCJaqZTHHMgyOsu0Ea4pwCe7YGxofxmMQpHlDepAEK58mhRYKk2h1vE6S7pZBwdzGLy4CIh0aIi8fHUrQ4ilNk4Bl7lMRJxpVMP3ejb-hnD4Zx5XkwDsjko5in_yi6BvDfqcfxgiSxYQnKffYWqcVF\/s728\/mitmproxy2swagger_2_mitmweb_save-722537%20(1).png","keywords":["Capturing Traffic","Mitmproxy2Swagger","REST APIs","Reverse-Engineer"],"articleSection":["Kali Linux"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/","url":"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/","name":"Mitmproxy2Swagger : Automatically Reverse-Engineer REST APIs","isPartOf":{"@id":"https:\/\/kalilinuxtutorials.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/#primaryimage"},"image":{"@id":"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/#primaryimage"},"thumbnailUrl":"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEh_fQYQ_nwsPCQVQ5rdRbUbK_qLK42P9RqU7dyCJaqZTHHMgyOsu0Ea4pwCe7YGxofxmMQpHlDepAEK58mhRYKk2h1vE6S7pZBwdzGLy4CIh0aIi8fHUrQ4ilNk4Bl7lMRJxpVMP3ejb-hnD4Zx5XkwDsjko5in_yi6BvDfqcfxgiSxYQnKffYWqcVF\/s728\/mitmproxy2swagger_2_mitmweb_save-722537%20(1).png","datePublished":"2022-07-08T15:19:10+00:00","dateModified":"2022-07-08T15:19:13+00:00","description":"Mitmproxy2Swagger is a tool for automatically converting\u00a0mitmproxy\u00a0captures to\u00a0OpenAPI 3.0\u00a0specifications.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kalilinuxtutorials.com\/mitmproxy2swagger\/#primaryimage","url":"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEh_fQYQ_nwsPCQVQ5rdRbUbK_qLK42P9RqU7dyCJaqZTHHMgyOsu0Ea4pwCe7YGxofxmMQpHlDepAEK58mhRYKk2h1vE6S7pZBwdzGLy4CIh0aIi8fHUrQ4ilNk4Bl7lMRJxpVMP3ejb-hnD4Zx5XkwDsjko5in_yi6BvDfqcfxgiSxYQnKffYWqcVF\/s728\/mitmproxy2swagger_2_mitmweb_save-722537%20(1).png","contentUrl":"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEh_fQYQ_nwsPCQVQ5rdRbUbK_qLK42P9RqU7dyCJaqZTHHMgyOsu0Ea4pwCe7YGxofxmMQpHlDepAEK58mhRYKk2h1vE6S7pZBwdzGLy4CIh0aIi8fHUrQ4ilNk4Bl7lMRJxpVMP3ejb-hnD4Zx5XkwDsjko5in_yi6BvDfqcfxgiSxYQnKffYWqcVF\/s728\/mitmproxy2swagger_2_mitmweb_save-722537%20(1).png","width":"728","height":"380"},{"@type":"WebSite","@id":"https:\/\/kalilinuxtutorials.com\/#website","url":"https:\/\/kalilinuxtutorials.com\/","name":"Kali Linux Tutorials","description":"Kali Linux Tutorials","publisher":{"@id":"https:\/\/kalilinuxtutorials.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kalilinuxtutorials.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/kalilinuxtutorials.com\/#organization","name":"Kali Linux Tutorials","url":"https:\/\/kalilinuxtutorials.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kalilinuxtutorials.com\/#\/schema\/logo\/image\/","url":"https:\/\/kalilinuxtutorials.com\/wp-content\/uploads\/2025\/07\/Kali.png","contentUrl":"https:\/\/kalilinuxtutorials.com\/wp-content\/uploads\/2025\/07\/Kali.png","width":272,"height":90,"caption":"Kali Linux Tutorials"},"image":{"@id":"https:\/\/kalilinuxtutorials.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/CyberEdition","https:\/\/www.threads.com\/@cybersecurityedition","https:\/\/www.linkedin.com\/company\/cyberedition","https:\/\/www.instagram.com\/cybersecurityedition\/"]},{"@type":"Person","@id":"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/69444b58b9e267a4cf08fceb34b6f6ad","name":"R K","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d3937c9687f2da11bc0a716404ff91779fe19ca115208dbf66167ad353aca5aa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d3937c9687f2da11bc0a716404ff91779fe19ca115208dbf66167ad353aca5aa?s=96&d=mm&r=g","caption":"R K"},"url":"https:\/\/kalilinuxtutorials.com\/author\/ranjith\/"}]}},"jetpack_featured_media_url":"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEh_fQYQ_nwsPCQVQ5rdRbUbK_qLK42P9RqU7dyCJaqZTHHMgyOsu0Ea4pwCe7YGxofxmMQpHlDepAEK58mhRYKk2h1vE6S7pZBwdzGLy4CIh0aIi8fHUrQ4ilNk4Bl7lMRJxpVMP3ejb-hnD4Zx5XkwDsjko5in_yi6BvDfqcfxgiSxYQnKffYWqcVF\/s728\/mitmproxy2swagger_2_mitmweb_save-722537%20(1).png","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":1481,"url":"https:\/\/kalilinuxtutorials.com\/reverseapk-android-applications\/","url_meta":{"origin":25864,"position":0},"title":"ReverseAPK &#8211; Quickly Analyze And Reverse Engineer Android Applications","author":"R K","date":"June 7, 2018","format":false,"excerpt":"Now and then, you may have a circumstance to figure out your current APKs for legitimate analysis investigation reasons, for example, making queries on the application source for getting more inside data. ReverseAPK will quickly analyze and reverse engineer android applications. Also Read\u00a0Best Hacking Books, Tools & Resources 2018 ReverseAPK\u2026","rel":"","context":"In &quot;Kali Linux&quot;","block_context":{"text":"Kali Linux","link":"https:\/\/kalilinuxtutorials.com\/category\/kali\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/kalilinuxtutorials.com\/wp-content\/uploads\/2018\/04\/button_download.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":31030,"url":"https:\/\/kalilinuxtutorials.com\/the-pantherap-uncia-of-cybersecurity\/","url_meta":{"origin":25864,"position":1},"title":"The Panthera(P.)uncia of Cybersecurity","author":"Varshini","date":"October 27, 2023","format":false,"excerpt":"In the ever-evolving landscape of cybersecurity, the hunt for vulnerabilities and exploits has a new apex predator: Puncia. This formidable tool, powered by advanced AI and armed with Subdomain Center and Exploit Observer APIs, prowls the digital realm, seeking out potential threats. Join us as we delve into the world\u2026","rel":"","context":"In &quot;Cyber security&quot;","block_context":{"text":"Cyber security","link":"https:\/\/kalilinuxtutorials.com\/category\/cyber-security\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEilbUC4bMm-4N1ULH02AZrnu-TBPiMasBKTREpS2uNSp4XmtxDTGpCpjmElQCCbeXpAku1KbNUleakbYBAJhk5AdWhvkLd3UBC7zYZsT_MPN45R_JMJTFhHrnU4UlfH6tYq-AYxt42KVojkBb3OA4Pf7KSC0fPY1h3h0mlqcuV24m3zLl45QhWdvBi7Mw\/s16000\/puncia.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEilbUC4bMm-4N1ULH02AZrnu-TBPiMasBKTREpS2uNSp4XmtxDTGpCpjmElQCCbeXpAku1KbNUleakbYBAJhk5AdWhvkLd3UBC7zYZsT_MPN45R_JMJTFhHrnU4UlfH6tYq-AYxt42KVojkBb3OA4Pf7KSC0fPY1h3h0mlqcuV24m3zLl45QhWdvBi7Mw\/s16000\/puncia.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEilbUC4bMm-4N1ULH02AZrnu-TBPiMasBKTREpS2uNSp4XmtxDTGpCpjmElQCCbeXpAku1KbNUleakbYBAJhk5AdWhvkLd3UBC7zYZsT_MPN45R_JMJTFhHrnU4UlfH6tYq-AYxt42KVojkBb3OA4Pf7KSC0fPY1h3h0mlqcuV24m3zLl45QhWdvBi7Mw\/s16000\/puncia.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEilbUC4bMm-4N1ULH02AZrnu-TBPiMasBKTREpS2uNSp4XmtxDTGpCpjmElQCCbeXpAku1KbNUleakbYBAJhk5AdWhvkLd3UBC7zYZsT_MPN45R_JMJTFhHrnU4UlfH6tYq-AYxt42KVojkBb3OA4Pf7KSC0fPY1h3h0mlqcuV24m3zLl45QhWdvBi7Mw\/s16000\/puncia.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":2370,"url":"https:\/\/kalilinuxtutorials.com\/reverse-apk-analyze-reverse-android-packages\/","url_meta":{"origin":25864,"position":2},"title":"Reverse APK &#8211; Quickly Analyze &#038; Reverse Engineer Android Packages","author":"R K","date":"August 24, 2018","format":false,"excerpt":"Using Reverse APK you will have the option to quickly analyze and reverse engineer Android applications. FEATURES Of Reverse APK Displays all extracted files for easy reference Automatically decompile APK files to Java and Smali format Analyze AndroidManifest.xml for common vulnerabilities and behavior Static source code analysis for common vulnerabilities\u2026","rel":"","context":"In &quot;Kali Linux&quot;","block_context":{"text":"Kali Linux","link":"https:\/\/kalilinuxtutorials.com\/category\/kali\/"},"img":{"alt_text":"https:\/\/github.com\/1N3\/ReverseAPK","src":"https:\/\/i0.wp.com\/kalilinuxtutorials.com\/wp-content\/uploads\/2018\/04\/button_download.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":12780,"url":"https:\/\/kalilinuxtutorials.com\/pwnlnx\/","url_meta":{"origin":25864,"position":3},"title":"PwnLnX : An Advanced Multi-Threaded, Multi-Client Python Reverse Shell For Hacking Linux Systems","author":"R K","date":"May 11, 2021","format":false,"excerpt":"PwnLnX is an advanced\u00a0multi-threaded,\u00a0multi-client\u00a0python reverse shell for hacking Linux systems. There's still more work to do so feel free to help out with the development.\u00a0Disclaimer: This reverse shell should only be used in the lawful, remote administration of authorized systems. Accessing a computer network without authorization or permission is illegal.\u2026","rel":"","context":"In &quot;Kali Linux&quot;","block_context":{"text":"Kali Linux","link":"https:\/\/kalilinuxtutorials.com\/category\/kali\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":24779,"url":"https:\/\/kalilinuxtutorials.com\/nimpackt-v1\/","url_meta":{"origin":25864,"position":4},"title":"NimPackt-v1 : Nim-based Assembly Packer And Shellcode Loader For Opsec And Profit","author":"R K","date":"May 28, 2022","format":false,"excerpt":"NimPackt-v1 is among the worst code I have ever written (I was just starting out learning Nim). Because of this, I started on a full rewrite of NimPackt, dubbed 'NimPackt-NG' (currently still private). With this re-write, I decided to open-source the old branch (\"NimPackt-v1\"). As such, this branch is no\u2026","rel":"","context":"In &quot;Kali Linux&quot;","block_context":{"text":"Kali Linux","link":"https:\/\/kalilinuxtutorials.com\/category\/kali\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiPxCQwtniBw65fsASiHVJ58JDW8CA3rOrg1hkQJlW3F6i--_OcKc88kM4yfZp99CSKd48CbaNJWd1T9MwrHkNC7sAJee5zMgRrr8vNwgcKGy4GzJapINyGTu_Th83Dis_iHVGUHwzz1RXT_vnvCQRijcrugbmS9JdpCNhFj0ExNjvr4GgB3qvDrMhQ\/s728\/Nimpackt-Logo-Blacktext%20%281%29.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiPxCQwtniBw65fsASiHVJ58JDW8CA3rOrg1hkQJlW3F6i--_OcKc88kM4yfZp99CSKd48CbaNJWd1T9MwrHkNC7sAJee5zMgRrr8vNwgcKGy4GzJapINyGTu_Th83Dis_iHVGUHwzz1RXT_vnvCQRijcrugbmS9JdpCNhFj0ExNjvr4GgB3qvDrMhQ\/s728\/Nimpackt-Logo-Blacktext%20%281%29.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiPxCQwtniBw65fsASiHVJ58JDW8CA3rOrg1hkQJlW3F6i--_OcKc88kM4yfZp99CSKd48CbaNJWd1T9MwrHkNC7sAJee5zMgRrr8vNwgcKGy4GzJapINyGTu_Th83Dis_iHVGUHwzz1RXT_vnvCQRijcrugbmS9JdpCNhFj0ExNjvr4GgB3qvDrMhQ\/s728\/Nimpackt-Logo-Blacktext%20%281%29.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiPxCQwtniBw65fsASiHVJ58JDW8CA3rOrg1hkQJlW3F6i--_OcKc88kM4yfZp99CSKd48CbaNJWd1T9MwrHkNC7sAJee5zMgRrr8vNwgcKGy4GzJapINyGTu_Th83Dis_iHVGUHwzz1RXT_vnvCQRijcrugbmS9JdpCNhFj0ExNjvr4GgB3qvDrMhQ\/s728\/Nimpackt-Logo-Blacktext%20%281%29.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":21550,"url":"https:\/\/kalilinuxtutorials.com\/swurg\/","url_meta":{"origin":25864,"position":5},"title":"Swurg : Parse OpenAPI Documents Into Burp Suite For Automating OpenAPI-based APIs Security Assessments","author":"R K","date":"February 3, 2022","format":false,"excerpt":"Swurg is a Burp Suite extension designed for OpenAPI testing. The OpenAPI Specification (OAS) defines a standard, programming language-agnostic interface description for REST APIs, which allows both humans and computers to discover and understand the capabilities of a service without requiring access to source code, additional documentation, or inspection of\u2026","rel":"","context":"In &quot;Kali Linux&quot;","block_context":{"text":"Kali Linux","link":"https:\/\/kalilinuxtutorials.com\/category\/kali\/"},"img":{"alt_text":"","src":"https:\/\/blogger.googleusercontent.com\/img\/a\/AVvXsEgGE28TNqrUb0UgZRXM1bL4lB2LZ9AK9DfAHn-gv5S1S7T8VdNKGP8gLqslRrXnFDjXnwyQLI_JZZqdJRbGWrs0EOg3zrM0M7NGylpSP7yhWCj5SngwmC4XArAKZiB69MxI-cpo-CicAwrzzq9cybj_11OMVZpvRaUBNUlXwvzFrcZPBb_6BgCpVYzY=s728","width":350,"height":200,"srcset":"https:\/\/blogger.googleusercontent.com\/img\/a\/AVvXsEgGE28TNqrUb0UgZRXM1bL4lB2LZ9AK9DfAHn-gv5S1S7T8VdNKGP8gLqslRrXnFDjXnwyQLI_JZZqdJRbGWrs0EOg3zrM0M7NGylpSP7yhWCj5SngwmC4XArAKZiB69MxI-cpo-CicAwrzzq9cybj_11OMVZpvRaUBNUlXwvzFrcZPBb_6BgCpVYzY=s728 1x, https:\/\/blogger.googleusercontent.com\/img\/a\/AVvXsEgGE28TNqrUb0UgZRXM1bL4lB2LZ9AK9DfAHn-gv5S1S7T8VdNKGP8gLqslRrXnFDjXnwyQLI_JZZqdJRbGWrs0EOg3zrM0M7NGylpSP7yhWCj5SngwmC4XArAKZiB69MxI-cpo-CicAwrzzq9cybj_11OMVZpvRaUBNUlXwvzFrcZPBb_6BgCpVYzY=s728 1.5x, https:\/\/blogger.googleusercontent.com\/img\/a\/AVvXsEgGE28TNqrUb0UgZRXM1bL4lB2LZ9AK9DfAHn-gv5S1S7T8VdNKGP8gLqslRrXnFDjXnwyQLI_JZZqdJRbGWrs0EOg3zrM0M7NGylpSP7yhWCj5SngwmC4XArAKZiB69MxI-cpo-CicAwrzzq9cybj_11OMVZpvRaUBNUlXwvzFrcZPBb_6BgCpVYzY=s728 2x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/posts\/25864","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/comments?post=25864"}],"version-history":[{"count":16,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/posts\/25864\/revisions"}],"predecessor-version":[{"id":26034,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/posts\/25864\/revisions\/26034"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/media\/25881"}],"wp:attachment":[{"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/media?parent=25864"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/categories?post=25864"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/tags?post=25864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}