Back to questions
Рунити
Junior — Middle
58
Какими методами сканирования сетевых устройств ты знаком?
Companies where asked
Answer from AI
sobes.tech AI
Основные методы сканирования сетевых устройств, с которыми можно работать на Python:
- Ping-сканирование — проверка доступности устройств по ICMP-запросам.
- TCP-сканирование портов — попытка установить TCP-соединение на определённые порты для определения открытых сервисов.
- UDP-сканирование — отправка UDP-пакетов для выявления открытых UDP-портов.
- ARP-сканирование — определение устройств в локальной сети по ARP-запросам.
- SNMP-сканирование — получение информации от устройств, поддерживающих SNMP.
Для реализации часто используют библиотеки:
scapy— для создания и отправки пакетов разных типов.socket— для низкоуровневой работы с сетевыми соединениями.python-nmap— обертка для nmap, мощного инструмента сканирования.
Пример простого TCP-сканера на Python:
import socket
def scan_port(ip, port):
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.settimeout(1)
try:
s.connect((ip, port))
return True
except:
return False
ip = '192.168.1.1'
ports = [22, 80, 443]
for port in ports:
if scan_port(ip, port):
print(f"Порт {port} открыт")
else:
print(f"Порт {port} закрыт")