initial
This commit is contained in:
commit
103011f8f7
7 changed files with 415 additions and 0 deletions
51
mitmaddon/littlesnitch.py
Normal file
51
mitmaddon/littlesnitch.py
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
#!/usr/bin/env python3
|
||||
import pdb
|
||||
from mitmproxy import ctx
|
||||
import threading
|
||||
from queue import Queue
|
||||
import time
|
||||
import zmq
|
||||
|
||||
def networking(q):
|
||||
print("starting thread")
|
||||
|
||||
context = zmq.Context()
|
||||
socket = context.socket(zmq.PAIR)
|
||||
socket.connect("tcp://127.0.0.1:12345")
|
||||
|
||||
while True:
|
||||
print("try recv")
|
||||
message = socket.recv()
|
||||
if message == b"littlesnitch_init":
|
||||
print("connected")
|
||||
socket.send(b"mitmaddon")
|
||||
while True:
|
||||
a = q.get()
|
||||
print(f"got {a}")
|
||||
if a:
|
||||
socket.send(str.encode(a))
|
||||
q.task_done()
|
||||
else:
|
||||
raise ValueError("init failed")
|
||||
|
||||
class Counter:
|
||||
def __init__(self):
|
||||
self.q = Queue()
|
||||
self.thread = threading.Thread(name="NetworkThread", target=networking, args=(self.q,))
|
||||
self.thread.start()
|
||||
self.q.join()
|
||||
|
||||
def request(self, flow):
|
||||
data = flow.request.data
|
||||
self.q.put(f"{flow.id},REQ,{data.method},{data.scheme},{data.host},{data.port},{data.path},{data.http_version},{data.headers}")
|
||||
self.q.join()
|
||||
|
||||
def response(self, flow):
|
||||
data = flow.response.data
|
||||
self.q.put(f"{flow.id},RES,{data.status_code},{data.http_version},{data.reason},{data.headers},{data.content},{data.timestamp_start},{data.timestamp_end}")
|
||||
self.q.join()
|
||||
|
||||
|
||||
addons = [
|
||||
Counter()
|
||||
]
|
||||
Loading…
Add table
Add a link
Reference in a new issue