LoginSignup
4
2

More than 5 years have passed since last update.

mitmproxyで特定URLへのHTTP/HTTPSの応答bodyを書換える

Posted at

はじめに

mitmproxy便利そうなのでCentOS7にインストールしてみた。
http://qiita.com/hkato/items/d0e10d500cde6e6e1695
で、自分がやりたかったことの一つはレスポンスボディを書き換えることなので、下記を参考にしていたのですが、
http://qiita.com/ikuo/items/c03e37bd5ef0c3ea8c10
こちらのスクリプトは一個のURLしか書き換えられないので、それを元に複数のURLを書き換えられるスクリプトを用意してみた。

環境設定

こちらなどを参考に
http://qiita.com/hkurokawa/items/9034274cc1b9e1405c68
http://qiita.com/ikuo/items/c03e37bd5ef0c3ea8c10

スクリプト

こちらに起きました。
https://github.com/hkato/mitmproxy-replace-response-body

使い方

変換したいコンテンツをローカルに用意してください。

変換ルール

こんな感じでCSVファイルにリクエスト先のURLと変換先のローカルファイルのパスを書く。
Yahooトップページのアクセスがsample.htmlに変換される感じですね。

"from","to"
"http://m.yahoo.co.jp/","sample.html"
"https://www.google-analytics.com/analytics.js","sample.js"

実行

$ mitmproxy -s "replace.py replace.csv"

結果

こんな感じになります。
iPhoneからYahooにアクセスすると…
IMG_2307.PNG

オリジナルのスクリプトの様にGoogle Analyticsにリンクが張ってるQiitaにアクセスすると…
IMG_2308.PNG

あとがき

運用中のサーバのレスポンスを書き換えてデザイン変更の様子を見てみる。なんて感じで使ってみようと思ってますが、よくよく考えたらApache+mod_proxyやNginxなんかでリバースプロキシーすれば静的コンテンツだけだったらいけたかも。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2