Kod:
import socket
import threading
import android
droid = android.Android()
DEFAULT_VULNERABLES_PORTS = {21, 22, 25, 53, 80, 81, 110, 119, 143, 443, 465, 563, 587, 826, 993, 995, 1421, 2052, 2053, 2077, 2078, 2082, 2083, 2086, 2087, 2091, 2095, 2096, 3306, 7080, 7392, 7999, 8080, 8081, 8086, 8443, 8880, 9098, 9112, 9912, 9992, 15001, 20001, 24564, 25461, 25462, 25462, 25463, 25867, 25469, 31210, 37000, 45463, 46000, 46500}
PUERTO_INICIO_SCAN = 0
PUERTO_FIN_SCAN = 30000
SCAN_LENTO = 0
SCAN_NORMAL = 1
SCAN_PORTS_LOCAL = 0
SCAN_PORTS_WEB = 1
def scan_port(target_ip, port):
try:
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:
sock.settimeout(1)
result = sock.connect_ex((target_ip, port))
if result == 0:
return port
except Exception as e:
print("Hata:", e)
def port_scan(target_ip, start_port, end_port):
print(target_ip + " için port taraması başlatıldı...")
open_ports = []
threads = []
for port in range(start_port, end_port + 1):
thread = threading.Thread(target=worker, args=(target_ip, port, open_ports))
threads.append(thread)
thread.start()
for thread in threads:
thread.join()
return open_ports
def worker(target_ip, port, open_ports):
result = scan_port(target_ip, port)
if result:
open_ports.append(result)
def save_results(results):
try:
with open("tarama_sonuclari.txt", "w") as file:
file.write(results)
print("Sonuçlar başarıyla kaydedildi.")
except Exception as e:
print("Hata:", e)
if __name__ == "__main__":
try:
target_ips = droid.dialogGetInput("Hedef IP adreslerini girin", "").result.split(",")
if SCAN_PORTS_LOCAL:
start_port = PUERTO_INICIO_SCAN
end_port = PUERTO_FIN_SCAN
elif SCAN_PORTS_WEB:
start_port = 80
end_port = 443
result_text = ""
for target_ip in target_ips:
open_ports = port_scan(target_ip.strip(), start_port, end_port)
result_text += "\n" + target_ip + " için açık portlar: " + str(open_ports)
save_results(result_text)
droid.dialogCreateAlert("Tarama Sonuçları", result_text)
droid.dialogSetPositiveButtonText("Tamam")
droid.dialogShow()
response = droid.dialogGetResponse().result
except Exception as e:
droid.dialogCreateAlert("Hata", str(e))
droid.dialogSetPositiveButtonText("Tamam")
droid.dialogShow()
Bu kod, QPython kullanarak Android cihazlarında çalışacak şekilde ayarlanmıştır. Kullanıcıya bir dizi hedef IP adresi girmesine izin verir, ardından belirtilen tarama moduna göre portları taramak için çoklu iş parçacıkları kullanır ve sonuçları bir iletişim kutusunda gösterir. Sonuçlar ayrıca "tarama_sonuclari.txt" adlı bir dosyaya kaydedilir.