1. 程式人生 > >「docker實戰篇」python的docker爬蟲技術-在linux下mitmproxy介紹和安裝

「docker實戰篇」python的docker爬蟲技術-在linux下mitmproxy介紹和安裝

word https請求 resolv get open www md5 遠程 實戰

原創文章,歡迎轉載。轉載請註明:轉載自IT人故事會,謝謝!
原文鏈接地址:「docker實戰篇」python的docker爬蟲技術-在linux下mitmproxy介紹和安裝(四)

上次說了fiddler的抓包和參數介紹,通過fiddler抓包工具可以完成app和web端的數據,這次介紹另一款抓包公司mitmproxy,可以和python語言結合通過爬蟲抓取數據。
源碼:https://github.com/limingios/netFuture/blob/master/mitmproxy/

技術分享圖片

mitmproxy

  • 官方

    https://www.mitmproxy.org/

技術分享圖片

  • 介紹

    mitmproxy is a free and open source interactive HTTPS proxy.

技術分享圖片

mitmproxy 就是用於MITM的proxy
中間人***(Man-in-the-MiddleAttack,簡稱“MITM***”)是一種“間接”的******,這種***模式是通過各種技術手段將受***者控制的一臺計算機虛擬放置在網絡連接中的兩臺通信計算機之間,這臺計算機就稱為“中間人”。

技術分享圖片

  1. 正常的代理一樣轉發請求,保證服務端和客戶端的通信
  2. 攔截請求,修改請求,攔截返回,修改返回
  3. 可以載入自定義的mitmproxy
  4. fiddler只能攔截請求,修改請求,篡改數據,但是不能載入自定義的mitmproxy
  5. 隨著安全的要求,現在越來越多的網站使用https請求,特別是ios客戶端要求必須服務端使用https,所以必須讓客戶端和服務端都信任中間人
  6. 請用:mitmproxy 做測試使用,請勿使用灰產哦!

安裝

  • 環境安裝

    感覺windows 太麻煩了,還是建議使用linux

  1. 基於pyhon
  2. windows操作系統需要安裝Microsoft Visual C++ V14.0以上
  3. linux操作系統直接安裝pyhon就可以了。

windows 安裝

這裏不做介紹了,真心沒有linux好!

linux 安裝

通過vagrant的方式安裝虛擬機

系統類型 IP地址 用戶 CPU Memory Hostname
Centos7 192.168.77.100 root 2 4G mitmproxy
  • 三臺機器mac開通遠程登錄root用戶下
    #設置 PasswordAuthentication yes
    vi /etc/ssh/sshd_config
    sudo systemctl restart sshd

技術分享圖片

  • 修改dns
    
    # 修改配置文件
    vi /etc/resolv.conf
    # 修改成:
    nameserver 8.8.8.8
    search localdomain

* 修改網絡
``` bash
service network restart
  • 安裝wget和pip3
    yum -y install wget
    wget --no-check-certificate  https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb
    tar -zxvf pip-8.0.2.tar.gz
    cd pip-8.0.2
    python3.6 setup.py build
    python3.6 setup.py install

技術分享圖片

安裝mitmproxy

  • 安裝mitmproxy
    #安裝python3.6的devel
    yum install python36-devel
    yum install gcc libffi-devel openssl-devel -y     
    # 升級pip3
    pip3 install --upgrade pip
    # 安裝 mitmproxy
    pip3 install mitmproxy

技術分享圖片

技術分享圖片

  • 查看mitmproxy的版本
    mitmproxy --version
    mitmdump --version
    mitmweb --version

技術分享圖片

mitmproxy的使用

  • mitmproxy

    安裝好了mitmproxy 直接查看,直接輸入mitmproxy,默認端口是8080,

    mitmproxy 

技術分享圖片

打開google瀏覽器的插件switchyOmega

技術分享圖片

訪問baidu提示,需要安裝證書哦看來

技術分享圖片

如何安裝mitmproxy的證書,瀏覽器輸入mitm.it,根據自己的操作系統選擇要安裝的地址:mac,windows,android,other

技術分享圖片

演示windows下安裝證書

技術分享圖片

雙擊證書

技術分享圖片

技術分享圖片

不用輸入密碼

技術分享圖片

講所有的證書都放入下列存儲

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

瀏覽器關閉重新打開

  • 已經可以打開了

技術分享圖片

查看mitm的界面

  • 列表界面
    技術分享圖片

  • 鍵盤選擇

    點擊鍵盤回車,進入

技術分享圖片

進入後,裏面分為request,repsonse,detail

技術分享圖片

退出esc,然後輸入q 返回列表

進入列表後,輸入f鍵

技術分享圖片

查看mitmproxy的三大組件

  • mitmproxy

    上邊介紹了 不在詳細說了。

  • mitmdump
    #記錄的請求都放入指定的文件夾下
    mitmdump -w 文件路徑

技術分享圖片

技術分享圖片

  • mitmweb

    這個windows查看比較方便。訪問http://127.0.0.1:8081

    mitmweb

技術分享圖片

技術分享圖片

技術分享圖片

PS:更多mitmproxy後續強大的功能,在後續的實踐中,咱們一起詳解吧。實現出真知。

技術分享圖片

「docker實戰篇」python的docker爬蟲技術-在linux下mitmproxy介紹和安裝