Kullanım:
portscanner.py (ip) --ports (aralık örneğin 1-50)
Ben burada metasploitable yi taradım
Kodlar
NOT: Kodlar bana ait değildir
portscanner.py (ip) --ports (aralık örneğin 1-50)
Ben burada metasploitable yi taradım
Kodlar
Python:
import argparse
import socket # bağlanmak için
from colorama import init, Fore
from threading import Thread, Lock
from queue import Queue
print("""
################################
| |
| Created By DarksoN |
| |
################################
""")
# renk için
init()
GREEN = Fore.GREEN
RESET = Fore.RESET
GRAY = Fore.LIGHTBLACK_EX
N_THREADS = 200
# iş sırası
q = Queue()
print_lock = Lock()
def port_scan(port):
"""
Scan a port on the global variable `host`
"""
try:
s = socket.socket()
s.connect((host, port))
except:
with print_lock:
print(f"{GRAY}{host:15}:{port:5} is closed {RESET}", end='\r')
else:
with print_lock:
print(f"{GREEN}{host:15}:{port:5} is open {RESET}")
finally:
s.close()
def scan_thread():
global q
while True:
# Kuyruktan port numarası al
worker = q.get()
# o portu tara
port_scan(worker)
# kuyruğa o bağlantı noktası için taramanın bittiğini söyler
q.task_done()
def main(host, ports):
global q
for t in range(N_THREADS):
t = Thread(target=scan_thread)
# daemon'u true olarak ayarladığımızda, ana iş parçacığı bittiğinde bu iş parçacığı sona erecektir.
t.daemon = True
# arka iş parçacığını başlatır
t.start()
for worker in ports:
# her bağlantı noktası için bu bağlantı noktasını sıraya koyar
# tarama başlat
q.put(worker)
# iş parçacıklarının (bağlantı noktası tarayıcıları) bitmesini bekleyin
q.join()
if __name__ == "__main__":
# parse some parameters passed
parser = argparse.ArgumentParser(description="Simple port scanner")
parser.add_argument("host", help="Host to scan.")
parser.add_argument("--ports", "-p", dest="port_range", default="1-65535", help="Taranacak bağlantı noktası aralığı, varsayılan 1-65535 (tüm bağlantı noktaları)")
args = parser.parse_args()
host, port_range = args.host, args.port_range
start_port, end_port = port_range.split("-")
start_port, end_port = int(start_port), int(end_port)
ports = [ p for p in range(start_port, end_port)]
main(host, ports)
NOT: Kodlar bana ait değildir