Evet arkadaşlar aşağıdaki kod nmap gibi çalışıyor hedef url veya ip adresinin açık portlarını ve mümkünse porttaki versiyon mesela ftp versiyonunu falan alıyor zaten kod bilgisi olan nasıl çalıştığını kolaylıkla anlar.
Python:
import socket
import threading
print("""
_ _ ____ _
| | _ _ ___(_) | _ \ ___ _ __| |_
| | | | | |/ __| | | |_) / _ \| '__| __|
| |__| |_| | (__| | | __/ (_) | | | |_
|_____\__,_|\___|_| |_| \___/|_| \__|
/ ___| ___ __ _ _ __ _ __ ___ _ __
\___ \ / __/ _` | '_ \| '_ \ / _ \ '__|
___) | (_| (_| | | | | | | | __/ |
|____/ \___\__,_|_| |_|_| |_|\___|_|
""")
target = input("Hedef IP veya URL'yi girin: ")
port_range = range(1, 1025)
def scan_port(port):
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(1)
result = s.connect_ex((target, port))
if result == 0:
print(f"Port {port}: AÇIK")
try:
banner = s.recv(1024)
print(f" Banner: {banner.decode().strip()}")
except Exception as e:
print(f" Banner alınamadı: {e}")
s.close()
except KeyboardInterrupt:
exit()
except Exception as e:
print(f"Hata: {e}")
for port in port_range:
threading.Thread(target=scan_port, args=(port,)).start()