import socket import threading
def scan_port(ip, port): try: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(1) result = sock.connect_ex((ip, port)) if result == 0: print(f"✅ Port {port} is OPEN") sock.close() except: pass
def main(): target = input("Enter target IP/Domain: ") start_port = int(input("Enter start port: ")) end_port = int(input("Enter end port: "))
print(f"\n🔍 Scanning {target} from port {start_port} to {end_port}...\n")
# Multithreading for speed
threads = []
for port in range(start_port, end_port + 1):
thread = threading.Thread(target=scan_port, args=(target, port))
threads.append(thread)
thread.start()
for thread in threads:
thread.join()
print("\n✅ Scan Completed!")
if name == "main": main()