📌 عنوان برنامه: برنامه‌ای بنویسید که عملیات TCP Port Scanning را برای یک IP خاص انجام داده و فهرستی از همه Port های باز آن IP را نمایش دهد؟

نکته: در مثال ذیل، زمان Scan برای هر Port، برابر نیم ثانیه (معادل ۵۰۰ میلی‌ثانیه) در نظر گرفته شده است!

نکته: همان‌طور که ملاحظه می‌کنید، اجرای دستورات ذیل، آن‌هم برای صرفا ۱۰۰ پورت اول، خیلی زمان‌گیر است! لذا برای اجرای بهینه‌تر این‌گونه برنامه‌ها، بهتر است که از تکنیک‌های Multi Threading استفاده گردد!

# **************************************************
# Port numbers 0 - 1023 are used for well-known ports.
# Port numbers 1024 - 49151 are reserved for user server applications.
# Port numbers 49152 - 65535 are reserved for clients.
# **************************************************
import socket
from datetime import datetime

ip = "185.55.224.88"
# host = "IranianExperts.ir"

start_time = datetime.now()

# for port in range(0, 65536):
for port in range(0, 100):
try:
address = (ip, port)
client_socket = socket.create_connection(address=address, timeout=0.5)
client_socket.close()

print(f"{port:<6}/tcp: Open")
except:
pass
# except Exception as e:
# print(f"{port:<6}/tcp: An exception occurred: {str(e)}")

finish_time = datetime.now()

duration = finish_time - start_time
print(f"Port Scanning Duration: {duration}")
# **************************************************

#SourceCode #SourceCode10020
کانال پایتون:
@DT_PYTHON_LEARNING
ادمین:
@Dariush_Tasdighi
کانال اصلی:
@IranianExperts
.
4👍4