2017-05-17 8 views
-1

学校プロジェクトでは、Kali Linuxでmitmproxyを設定しました。最後に、私たちはmitmproxyをインストールすることができました。そして、私たちはRaspberry PiのWLANクライアントとしてWebサイトを閲覧するクライアントデバイスのHTTPSパッケージを傍受することができます。私たちの目標の1つは、HTTPSパッケージでイメージを変更することです。実際には、これをプロジェクトで実現したいと考えています。そして、ここでポイントが来る、私はPython 3インラインスクリプトでこれを動作させることはありません。これは私が現在行っていることです。HTTPResponseで画像をmitmproxyで変更する

#!/usr/bin/python3 
# modify_response.py 
import sys 
import os 
from io import StringIO 
from mitmproxy.net.http import encoding 
from mitmproxy.net.http import headers 
from mitmproxy.net import http 
from PIL.Image import core as _imaging 

def response(flow): 
    flow.response.headers["newheader"] = "response-flow" 

    if flow.response.headers.get("content-type", "").startswith("image"): 
     decoded_response = decode(flow.response) 
     with decoded(flow.respnse): 
     print('OK') 
     os.system('"./script2.py" "Decoded response: {}"'.format(decoded_response)) 
     try: 
      img = cStringIO.StringIO(open('6868132.png', 'rb').read()) 
      flow.response.content = img.getvalue() 
     except: 
      os.system('"./script2.py" "Error occured"') 

残念ながら、条件場合でも、「コンテンツタイプ」というヘッダの値が「画像」で始まる要求に真実ではないようです。

こちらのウェブサイトはhttps://sunu.in/manipulating-http-traffic-with-mitmproxy/ですが、私は彼らと同じことを達成したいと思います。しかし、彼らはおそらく古いバージョンのmitmproxyを使用していて、2.0.2(私が間違っていない場合)を使用しています。

私はPythonにはかなり新しく、いくつかの時間を自分のコードが何を理解することができるようにオンラインチュートリアルをして過ごしました。 HTTPResponseで画像を変更してもらえますか?

+0

を参照してくださいhttps://discourse.mitmproxy.org/t/change-images-in-httpresponse/481/3 –

+0

ええ、申し訳ありませんが、私は忘れてしまいましたここにそれを言及する。このフォーラムで提供されたソリューションは、私に多くの助けとなりました。それらは、http応答パッケージで写真を交換するために使用したPythonのスクリプト行です。とにかくこれをありがとう。 – Paul

答えて

0

私はmitmproxyフォーラムに同じ質問を投稿し、そこに回答を受けました。付属の答えは私が探していたPythonスクリプトの行に含ま:

def response(flow): 
    if flow.response.headers.get("content-type", "").startswith("image"): 
     img = open("file.png", "rb").read() 
     flow.response.content = img 
     flow.response.headers["content-type"] = "image/png" 
関連する問題