Пишу небольшой софт для сканирования открытых портов, скрипт должен взять сайт из файла, просканировать и записать результат в файл, но скрипт сканирует(или записывает результаты) только последнего сайта. Код:
import socket
ports = [20, 21, 22, 23, 25, 42, 43, 53, 67, 69, 80,
110, 115, 123, 137, 138, 139, 143, 161, 179, 443, 445,
514, 515, 993, 995, 1080, 1194, 1433, 1702, 1723, 3128,
3268, 3306, 3389, 5432, 5060, 5900, 5938, 8080, 10000, 20000]
host = open('site-list.txt', 'r', encoding='ASCII')
for site in host:
print("ожидайте сканирование")
for port in ports:
s = socket.socket()
s.settimeout(1)
try:
s.connect((site, port))
except:
continue
else:
results = [f"{site}: {port} порт активен \n"]
for result in results:
with open('res.txt', 'a', encoding='UTF-8') as f:
f.write(result)
print("Сканирование завершено")