Я пишу программу на Python для Сканирование портов
здесь мой исходный код ...
import socket
t_host = str(input("Enter the host to be scanned: "))
t_ip = socket.gethostbyname(t_host)
print(t_ip)
list=[1,3,4,6,7,9,13,17,19,20,21,22,23,24,25,26,30,32,33,37,42,43,49,53,70,79,80,81,82,83,84,85,88,89,90,99,100,106,109,110,111,113,119,125,135,139,143,144,146,161,163,179,199,211,212,222,254,255,256,259,264,280,301,306,311,340,366,389,40]
sock = socket.socket()
sock.settimeout(1)
for item in list:
t_port=int(item)
result = sock.connect_ex((t_ip,t_port))
if result == 0:
print("Port",t_port,": Opened")
else:
print("port",t_port,": Closed")
sock.close()
print("Port Scanning complete")
когда я использую один элемент в списке, он сканирует и дает порт, открытый / закрытый правильно. (Т. Е.) Первый элемент в списке оценивается правильно, тогда как оставшиеся не оцениваются как открытый или закрытый правильно
например. list=[80]
это дает вывод как открытый правильно.
Но если список содержит более одного элемента, он дает Закрыт для всех портов
например. list=[80,23,443,25]
выводит как port 80 : Opened
, но остальные закрыты