Всем доброе время суток. Сегодня мы будем писать очень простенький сканер портов. Итак приступим.
# -*-coding: cp1251
#Импортируем модуль для работы с сокетами
import socket
#определяем хост, который мы будем сканировать
HOST = 'localhost'
# Создаем список портов, которые мы хотим просканирвать
ports = [21, 22, 23, 25, 38, 43, 80, 109, 110, 115, 118, 119, 143,
194, 220, 443, 540, 585, 591, 1112, 1433, 1443, 3128, 3197,
3306, 4000, 4333, 5100, 5432, 6669, 8000, 8080, 9014, 9200]
#Теперь в цикле перебераем все указаные порты
for port in ports:
#Создаем новый сокет
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Устанавливаем таймаут, чтоб скрипт не зависал если попал
# на открытый порт
sock.settimeout(1)
try:
# Пробуем подключится
sock.connect((HOST, port))
except:
# Если возникло исключение -- порт закрыт
print ("Port %s closed" % port)
continue
try:
#Если порт открыт - пробуем прочитать с него порцию информации
result = sock.recv(1024)
# если что-то удалось прочитать, выводим это
print ("Received: %s port: %s" %port,result)
except:
# Если ничего прочитать не удалось -- просто выводим
# информацию что порт открыт
print ("Порт %s открыт." % port)
# закрываем сокет.
sock.close()
#Импортируем модуль для работы с сокетами
import socket
#определяем хост, который мы будем сканировать
HOST = 'localhost'
# Создаем список портов, которые мы хотим просканирвать
ports = [21, 22, 23, 25, 38, 43, 80, 109, 110, 115, 118, 119, 143,
194, 220, 443, 540, 585, 591, 1112, 1433, 1443, 3128, 3197,
3306, 4000, 4333, 5100, 5432, 6669, 8000, 8080, 9014, 9200]
#Теперь в цикле перебераем все указаные порты
for port in ports:
#Создаем новый сокет
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Устанавливаем таймаут, чтоб скрипт не зависал если попал
# на открытый порт
sock.settimeout(1)
try:
# Пробуем подключится
sock.connect((HOST, port))
except:
# Если возникло исключение -- порт закрыт
print ("Port %s closed" % port)
continue
try:
#Если порт открыт - пробуем прочитать с него порцию информации
result = sock.recv(1024)
# если что-то удалось прочитать, выводим это
print ("Received: %s port: %s" %port,result)
except:
# Если ничего прочитать не удалось -- просто выводим
# информацию что порт открыт
print ("Порт %s открыт." % port)
# закрываем сокет.
sock.close()
Комментариев нет:
Отправить комментарий