mitmproxy 에서 tcp, websocket message inject 하기

Updated on

가끔 mitmproxy 사용해서 연결을 가로챌때, 다시 서버로 보내야하는 경우들이 있다.

https://github.com/mitmproxy/mitmproxy/discussions/6855

위 이슈처럼 ctx.master.commands.call("inject.tcp", flow, True, b"I was injected") 방식을 사용해야 한다.

tcp의 경우 inject.tcp

websocket의 경우 inject.websocket

으로 보내면 된다.

만약에 웹소켓 (클라이언트 -> 서버)로 전송해야한다면 아래 코드처럼 사용하면 된다.

ctx.master.commands.call("inject.websocket", flow, False, {"type": "register"})

3번째 인자 값은 Server -> Client 여부라고 보면 된다.

True 일 경우 Server -> Client

False 일 경우 Client -> Server

로 전송된다.