from http.server import BaseHTTPRequestHandler, HTTPServer
import json
import socket
connected_devices = {}
def get_ip():
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
s.connect(('8.8.8.8', 80))
IP = s.getsockname()[0]
except Exception:
IP = '127.0.0.1'
finally:
s.close()
return IP
def get_device_name(ip):
if ip in connected_devices:
return connected_devices[ip]
if ip.startswith("192.168.0."):
name = f"Устройство ({ip})"
else:
name = f"Неизвестный ({ip})"
connected_devices[ip] = name
return name
class FakeServer(BaseHTTPRequestHandler):
def do_POST(self):
client_ip = self.client_address[0]
device_name = get_device_name(client_ip)
print("\n" + "=" * 50)
print(f"[!] ВХОДЯЩИЙ СИГНАЛ: {device_name}")
print(f" Запрос: POST {self.path}")
self.send_response(200)
self.send_header('Content-type', 'application/json')
self.end_headers()
response = {"code": 0, "message": "Success"}
self.wfile.write(json.dumps(response).encode('utf-8'))
print("[+] Отправлено: УСПЕХ (code 0)")
print("=" * 50)
def do_GET(self):
client_ip = self.client_address[0]
device_name = get_device_name(client_ip)
print("\n" + "=" * 50)
print(f"[!] ВХОДЯЩИЙ СИГНАЛ: {device_name}")
print(f" Запрос: GET {self.path}")
self.send_response(200)
self.end_headers()
self.wfile.write(b"OK")
print("[+] Отправлено: OK")
print("=" * 50)
my_ip = get_ip()
print("=" * 50)
print(f" IP ДЛЯ DNS: {my_ip}")
print("=" * 50)
print(" СЕРВЕР-РАДАР ЗАПУЩЕН")
print(" Ожидание подключения бойцов...")
print(" (Не закрывай это окно!)")
print("=" * 50)
server = HTTPServer(('0.0.0.0', 80), FakeServer)
server.serve_forever()