単純な GET リクエストを pydivert (WinDivert for python) で変更しようとしています。
私が遭遇したように見えるのは、パケットの長さの問題です。
URLを書き直して、文字数が同じかそれ以下になるようにすると、機能します
。GET /?a=asdf
=>GET /?a=z
しかし、リクエストにさらに文字を追加すると、ブラウザがループして何も表示されずに終了します
以下は私が使用するサンプルコードです
filter_ = "true and tcp.PayloadLength > 0"
with Handle(filter=filter_) as handle:
while True:
packet = handle.receive()
if packet.payload[0:3]=="GET":
packet.payload=packet.payload.replace("GET /?a=asdf","GET /?a=gfdsazzz")
handle.send(packet)
と
<?php
echo $_GET['a'];
?>
どこかに MAX パケット サイズが設定されていますか。はいの場合、それを増やす方法は?
それがヒントになる場合は、コンソールにすべてのパケットを出力すると、リクエストがサーバーによって応答されたことがはっきりとわかります。gfdsazzz