Sobes.tech
Back to questions
Junior — Middle
58

Какими методами сканирования сетевых устройств ты знаком?

Companies where asked
РунитиРунити

Answer from AI

sobes.tech AI

Основные методы сканирования сетевых устройств, с которыми можно работать на Python:

  1. Ping-сканирование — проверка доступности устройств по ICMP-запросам.
  2. TCP-сканирование портов — попытка установить TCP-соединение на определённые порты для определения открытых сервисов.
  3. UDP-сканирование — отправка UDP-пакетов для выявления открытых UDP-портов.
  4. ARP-сканирование — определение устройств в локальной сети по ARP-запросам.
  5. 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} закрыт")