Slide 10
Slide 10 text
便利なスクリプト (2)
擬似的な不安定なネットワー
ク
ランダムにリクエストを kill
して接続が切断された状態
を再現する
# -*- coding: utf-8 -*-
import random
def start(ctx, argv):
if len(argv) != 3:
raise ValueError('Usage: -s "pseudo_unstable_network.py hostname percentage(0-10)"')
# You may want to use Python's argparse for more sophisticated argument parsing.
ctx.arg1, ctx.arg2 = argv[1], argv[2]
def request(context, flow):
host = flow.request.host
if host.endswith(context.arg1) and random.randint(0, 10) <= int(context.arg2):
context.log("Kill the request for %s. Host: %s" % (flow.request.get_url(), host))
flow.kill(context._master)
> mitmproxy -s "./pseudo_unstable_network.py api.example.com 8"