MMBFR(HANDALA)
wdeszZBFUCKkkkkkkkkkkk?👇
import socket
import sys
from datetime import datetime
def simple_port_scanner(target_ip, start_port, end_port):
'''
یک اسکنر پورت ساده برای یافتن پورتهای باز روی یک IP هدف.
'''
print('-' * 60)
print(f'شروع اسکن پورت برای IP: {target_ip}')
print(f'زمان شروع: {datetime.now()}')
print('-' * 60)
open_ports = []
try:
for port in range(start_port, end_port + 1):
# ایجاد یک شیء سوکت جدید
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# تنظیم تایماوت برای جلوگیری از مسدود شدن طولانی مدت
socket.setdefaulttimeout(0.5) # نیم ثانیه
# تلاش برای اتصال به پورت
result = sock.connect_ex((target_ip, port))
if result == 0:
print(f'پورت {port}: /t باز است')
open_ports.append(port)
# else:
# در صورت نیاز به نمایش پورتهای بسته:
# print(f'پورت {port}: /t بسته است')
sock.close()
except KeyboardInterrupt:
print('/nاسکن توسط کاربر متوقف شد.')
sys.exit()
except socket.gaierror:
print('خطا در resolving نام هاست. مطمئن شوید IP یا نام دامنه صحیح است.')
sys.exit()
except socket.error:
print('خطا در اتصال به سرور.')
sys.exit()
print('-' * 60)
print(f'اسکن کامل شد. {len(open_ports)} پورت باز یافت شد.')
print('پورتهای باز:', open_ports)
print('-' * 60)
return open_ports
# --- نحوه استفاده ---
if __name__ == '__main__': IP هدف (فقط روی سیستم خودتان یا لابراتوار تست کنید!)
# مثال: '127.0.0.1' برای لوکال هاست
target_ip = input('لطفاً آدرس IP هدف را وارد کنید (مث 127.0.0.1): ')
# محدوده پورتها برای اسکن
# معمولاً پورتهای 1 تا 1024 برای سرویسهای شناخته شده مهم هستند
start_port = 1
end_port = 1024 # میتوانید این محدوده را تغییر دهید
# اجرای اسکنر
simple_port_scanner(target_ip, start_port, end_port)