<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      mitmproxy簡介與使用說明

      一、mitmproxy概述

      mitmproxy是一款免費且開源的交互式代理工具,功能強大,支持HTTP、HTTPS、HTTP2、WebSockets以及TCP數(shù)據(jù)的攔截、查看、修改和重放操作。它提供了命令行(mitmproxy)、基于瀏覽器的圖形界面(mitmweb)以及可用于備份等功能的mitmdump工具,尤其以其靈活的Python腳本擴展能力備受開發(fā)者青睞,適用于開發(fā)、測試、安全研究等諸多場景。

      二、安裝mitmproxy

      1. 依賴環(huán)境準備
        • mitmproxy基于Python開發(fā),所以系統(tǒng)需預先安裝Python環(huán)境。多數(shù)Linux發(fā)行版自帶Python,也可通過官網(wǎng)(https://www.python.org/downloads/)下載安裝合適版本(建議Python 3.6及以上)。
        • 確保pip(Python包管理工具)已安裝且為最新版本,可使用命令pip install --upgrade pip更新。
      2. 安裝mitmproxy
        • 在Linux系統(tǒng)(以Ubuntu為例),打開終端,執(zhí)行命令sudo apt-get update更新軟件包列表后,輸入sudo apt-get install mitmproxy即可完成安裝。
        • 也可通過pip安裝,執(zhí)行pip install mitmproxy,此方式適用于多種操作系統(tǒng)及Python環(huán)境。

      三、配置環(huán)境變量(使用apt install 則無需配置環(huán)境變量)

      設置環(huán)境變量可方便在任意終端位置調(diào)用mitmproxy相關命令。

      1. Linux系統(tǒng)
        • 編輯~/.bashrc文件(若是使用zsh,則編輯~/.zshrc文件),添加如下內(nèi)容:
      export PATH=$PATH:/usr/local/bin/mitmproxy  # 根據(jù)mitmproxy實際安裝路徑調(diào)整
      
      • 保存文件后,在終端執(zhí)行source ~/.bashrczshsource ~/.zshrc)使環(huán)境變量生效。

      四、證書下載與安裝

      1. 生成證書
        • 首次運行mitmproxy(如執(zhí)行mitmproxy --version命令),它會在~/.mitmproxy/目錄下自動生成CA證書,名為mitmproxy-ca-cert.pem。
        • 證書也可以通過啟動mitm后訪問 https://mitm.it/,下載證書
          如果提示 “If you can see this, traffic is not passing through mitmproxy.” 說明本機的代理還沒有配置,需要第3步完成。

      啟動(以下3種都可以,根據(jù)需要)

      mitmproxy -p 8888 (命令行模式,默認是8080)
      mitmdump -p 8888 -w /tmp/dump.log (文件保存模式)
      mitmweb -p 8888 (網(wǎng)頁模式)

      報錯: /usr/bin/xdg-open: 882: w3m: not found
      xdg-open: no method available for opening 'http://127.0.0.1:8081/'
      解決: mitmweb需要瀏覽器支持,在瀏覽器支持模式下會打開 http://127.0.0.1:8081

      1. 安裝證書到系統(tǒng)信任存儲
        • 在基于Debian或Ubuntu的Linux系統(tǒng)中,執(zhí)行以下操作將證書添加到系統(tǒng)信任列表:
      sudo cp ~/.mitmproxy/mitmproxy-ca-cert.pem /usr/local/share/ca-certificates/mitmproxy-ca-cert.crt
      sudo update-ca-certificates
      
      1. linux環(huán)境下啟用代理

      export http_proxy="http://127.0.0.1:8888"
      export https_proxys="http://127.0.0.1:8888"

      五、Java安裝證書

      由于Java有獨立的證書信任存儲(不默認使用系統(tǒng)的證書,通常為$JAVA_HOME/jre/lib/security/cacerts),需額外將mitmproxy的CA證書添加進去,以便Java應用能信任由mitmproxy簽發(fā)的用于解密HTTPS流量的證書。

      1. 使用keytool命令(keytool位于$JAVA_HOME/bin/目錄下),假設證書文件是mitmproxy-ca-cert.pem,執(zhí)行:
      keytool -import -alias mitmproxy -file mitmproxy-ca-cert.pem -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit
      
      • 注意,這里storepass是證書存儲的默認密碼,Java默認通常為changeit,執(zhí)行過程中按提示確認添加操作。
      • 在windows環(huán)境下是 %JAVA_HOME%

      六、使用mitmproxy進行OkHttp代理訪問

      1. 配置OkHttp客戶端代碼
      import okhttp3.OkHttpClient;
      import okhttp3.Request;
      import okhttp3.Response;
      import java.io.IOException;
      import java.net.InetSocketAddress;
      import java.net.Proxy;
      
      public class Main {
          public static void main(String[] args) {
              // 設置代理,假設mitmproxy運行在本地(127.0.0.1)端口8888
              Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1", 8888));
              OkHttpClient client = new OkHttpClient.Builder()
                     .proxy(proxy)
                     .build();
              Request request = new Request.Builder()
                     .url("https://example.com")
                     .build();
              try {
                  Response response = client.newCall(request).execute();
                  System.out.println(response.body().string());
              } catch (IOException e) {
                  e.printStackTrace();
              }
          }
      }
      
      1. 因okhttp和httpclient 允許應用啟用代理模式,因此,環(huán)境中的代理依然不被認可。
      2. 運行Java程序
        • 編譯并運行上述Java代碼,此時Java應用通過OkHttp發(fā)送的請求就會經(jīng)過mitmproxy代理,mitmproxy可攔截、查看和分析請求與響應數(shù)據(jù),輔助開發(fā)調(diào)試、安全檢測等工作。
      • 注意,有可能有緩存,會發(fā)現(xiàn)啟用了沒生效,需要重啟應用,防止因啟動前訪問過,增加session代理后出錯,錯誤類似:not first session。
      • 因會經(jīng)過mitmproxy在中間代理人來一層,整個響應會變慢且是python,僅適合測試開發(fā)用。

      通過以上步驟,即可完成mitmproxy的安裝、配置以及結合Java的OkHttp實現(xiàn)代理訪問,充分利用其強大功能助力網(wǎng)絡請求相關工作。

      mitmproxy 的Script

      mitmproxy是使用python代碼寫的,也支持加載應用自己寫的python腳本,執(zhí)行url過濾,整理寫入。以下是一個使用 mitmproxy 進行網(wǎng)絡請求攔截的 Python 腳本示例,它可以實現(xiàn)對特定 URL 的請求進行攔截,并對請求和響應進行一些簡單的處理和分析:

      import mitmproxy.http
      
      
      def request(flow: mitmproxy.http.HTTPFlow):
          """
          處理請求的函數(shù)
          在請求發(fā)送到服務器之前被調(diào)用
          """
          # 檢查請求的URL是否包含特定字符串,這里以"example.com"為例
          if "example.com" in flow.request.url:
              print(f"攔截到對 {flow.request.url} 的請求")
              # 可以在這里對請求進行修改,比如修改請求頭
              flow.request.headers["User-Agent"] = "Modified User-Agent"
      
      
      def response(flow: mitmproxy.http.HTTPFlow):
          """
          處理響應的函數(shù)
          在收到服務器響應之后被調(diào)用
          """
          if "example.com" in flow.request.url:
              print(f"收到來自 {flow.request.url} 的響應,狀態(tài)碼: {flow.response.status_code}")
              # 可以在這里對響應進行查看或修改,比如查看響應內(nèi)容
              print(f"響應內(nèi)容: {flow.response.text}")
      

      mitmproxy -s intercept_script.py

      這樣就可以攔截一個 example.com的請求。

      posted on 2024-12-01 21:00  zhaoqiang1980  閱讀(1715)  評論(0)    收藏  舉報
      主站蜘蛛池模板: A毛片终身免费观看网站| 天天综合天天添夜夜添狠狠添| 亚洲精品久久久久成人2007 | 图片区小说区av区| 久久日韩精品一区二区五区| 人妻无码ΑV中文字幕久久琪琪布| 国产成人无码网站| 一区二区三区在线 | 欧洲| 九九久久亚洲精品美国国内| 婷婷综合久久狠狠色成人网| 枝江市| 亚洲区精品区日韩区综合区| 国产美女免费永久无遮挡| 国产亚洲无日韩乱码| 一区二区三区激情都市| 东京道一本热中文字幕| 国产一二三五区不在卡| 国产jizzjizz视频| 国产免费网站看v片元遮挡| 欧美人与动牲交精品| 国产精品自在线拍国产手青青机版| 一女被多男玩喷潮视频| 国产精品国产精品偷麻豆| 日韩中文字幕高清有码| 91久久夜色精品国产网站| 99热久久这里只有精品| 日韩av一区二区不卡在线| 九九九国产| 中文字幕无线码免费人妻| 中年国产丰满熟女乱子正在播放 | 美女爽到高潮嗷嗷嗷叫免费网站| 亚洲成a人无码av波多野| 欧美大胆老熟妇乱子伦视频| 野外做受三级视频| 97色成人综合网站| 在线看国产精品自拍内射| 久久久久四虎精品免费入口| 99久久99这里只有免费费精品 | 日韩大片高清播放器| 亚洲第一狼人成人综合网| 亚洲国产欧美在线人成|