Untitled

 avatar
unknown
plain_text
13 days ago
1.5 kB
3
Indexable
import socket

def simple_port_scanner(target, start_port=1, end_port=100, max_ports=50):
    if end_port - start_port > max_ports:
        print(f"Error: Trying to scan too many ports! (Max {max_ports})")
        return
    if end_port > 65535:
        print("Error: Ports can't be higher than 65535")
        return

    print(f"Scanning {target} (ports {start_port}-{end_port})...")
    open_ports = []

    for port in range(start_port, end_port + 1):
        try:
            s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            s.settimeout(0.5)
            result = s.connect_ex((target, port))
            if result == 0:
                print(f"Port {port}: OPEN")
                open_ports.append(port)
            s.close()
        except KeyboardInterrupt:
            print("\nScan stopped by user")
            break
        except socket.error:
            print(f"Port {port}: Error occurred")

    print("\nScan complete!")
    if open_ports:
        print("Open ports found:", ", ".join(map(str, open_ports)))
    else:
        print("No open ports found in this range")

if __name__ == "__main__":
    print("=== Simple Port Scanner ===")
    print("(For educational purposes only)\n")

    target = input("Enter target IP or hostname: ")
    start = int(input("Start port (default 1): ") or 1)
    end = int(input("End port (default 100): ") or 100)

    simple_port_scanner(target, start, end)
Editor is loading...
Leave a Comment