Вместо вступления :
Python3.
Задаем диапазон IP-адресов для сканирования, перебираем IP-адреса в заданном диапазоне, пытаемся подключиться к серверу по указанным портам, получаем версию программы, Если версия программы устарела предлагаем обновить.
Сам код:
import socket # Задаем диапазон IP-адресов для сканирования start_ip = input("Введите начальный IP-адрес: ") end_ip = input("Введите конечный IP-адрес: ") # Переводим IP-адреса в числовой формат start_ip = socket.inet_aton(start_ip) end_ip = socket.inet_aton(end_ip) # Перебираем IP-адреса в заданном диапазоне while start_ip <= end_ip: # Преобразуем числовой IP-адрес обратно в строку current_ip = socket.inet_ntoa(start_ip) # Пытаемся подключиться к серверу по указанным портам for port in range(1540, 1595): # Проверяем порты от 1 до 1024 try: # Создаем сокет и подключаемся к серверу s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(0.5) # Устанавливаем таймаут на подключение к серверу result = s.connect_ex((current_ip, port)) # Если подключение успешно, получаем версию программы if result == 0: version = s.recv(1024).decode("utf-8").strip() # Если версия программы устарела, предлагаем обновить if version < "8.3.22.1851": print(f"Обнаружена устаревшая версия программы на сервере {current_ip}:{port}.") print("Рекомендуется обновить программу.") # Закрываем соединение s.close() except (socket.error, socket.timeout): pass # Увеличиваем IP-адрес для следующей итерации start_ip = socket.inet_aton(socket.inet_ntoa(start_ip)) + 1
На выходе получаю такую ошибку.
Подскажите куда копать, сам я новичок еще в Python.
Благодарен буду за любую подсказку.
Введите начальный IP-адрес: 10.15.10.1 Введите конечный IP-адрес: 10.15.10.120 Traceback (most recent call last): File "E:\Pyton\temp\Sc1cv1.py", line 40, in <module> start_ip = socket.inet_aton(socket.inet_ntoa(start_ip)) + 1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ TypeError: can't concat int to bytes Process finished with exit code 1