Ir ao contido

arp-scan

Descrición: Ferramenta para descubrir hosts nunha rede local mediante solicitudes ARP.

Sintaxe básica:

sudo arp-scan [opcións] <rede>

Opcións principais:

Opción Descrición
--interface=<iface> ou -I <iface> Especifica a interface de rede a usar
--localnet ou -l Escanea a rede local automaticamente
--numeric ou -N Non resolve nomes DNS
--quiet ou -q Modo silencioso (só mostra hosts activos)
--retry=<n> ou -r <n> Número de reintentos (por defecto: 1)
--timeout=<n> ou -t <n> Timeout en milisegundos (por defecto: 500)

Exemplos de uso:

## Escaneo básico dunha rede específica
sudo arp-scan --interface=eth0 192.168.1.0/24

## Escaneo da rede local automático
sudo arp-scan --localnet

## Escaneo con interface específica 
sudo arp-scan --interface=eth1 192.168.56.0/24

## Escaneo rápido sen resolver nomes
sudo arp-scan -I eth1 -N 192.168.56.0/24

## Escaneo con máis reintentos
sudo arp-scan -I eth1 --retry=3 192.168.56.0/24

Saída típica:

Interface: eth1, type: EN10MB, MAC: 08:00:27:xx:xx:xx, IPv4: 192.168.56.53
Starting arp-scan 1.9.7 with 256 hosts (https://github.com/royhills/arp-scan)
192.168.56.1    0a:00:27:00:00:00       (Unknown)
192.168.56.100  08:00:27:xx:xx:xx       PCS Systemtechnik GmbH

2 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.9.7: 256 hosts scanned in 1.234 seconds (207.45 hosts/sec). 2 responded

Cómo funciona ARP-SCAN

ARP (Address Resolution Protocol) é un protocolo da capa de enlace que traduce enderezos IP (capa 3) a enderezos MAC (capa 2). Así, opera na capa 2 (Enlace de Datos) do modelo OSI, NON na capa 4 (Transporte) onde está TCP.

┌─────────────────────────────────────────┐
│  Modelo OSI                             │
├─────────────────────────────────────────┤
│ 7. Aplicación                           │
│ 6. Presentación                         │
│ 5. Sesión                               │
│ 4. Transporte  ← TCP/UDP están aquí     │
│ 3. Rede        ← IP está aquí           │
│ 2. Enlace      ← ARP está aquí          │
│ 1. Física                               │
└─────────────────────────────────────────┘

Proceso ARP Request/Reply

Máquina Atacante                    Máquina Obxectivo
(IP: 192.168.56.53)                 (IP: 192.168.56.100)
(MAC: 08:00:27:aa:bb:cc)            (MAC: 08:00:27:dd:ee:ff)

     |                                     |
     | 1. ARP REQUEST (broadcast)          |
     |   "Quen ten 192.168.56.100?"        |
     |   "Dime a túa MAC"                  |
     |------------------------------------>|
     |                                     |
     |                  2. ARP REPLY       |
     |     "Son eu! A miña MAC é           |
     |      08:00:27:dd:ee:ff"             |
     |<------------------------------------|
     |                                     |

Detalle técnico:

  1. ARP REQUEST (broadcast a FF:FF:FF:FF:FF:FF)

    Ethernet Frame:
    - Dest MAC: FF:FF:FF:FF:FF:FF (broadcast)
    - Src MAC:  08:00:27:aa:bb:cc
    - Type:     0x0806 (ARP)
    
    ARP Packet:
    - Operation: Request (1)
    - Sender MAC: 08:00:27:aa:bb:cc
    - Sender IP:  192.168.56.53
    - Target MAC: 00:00:00:00:00:00 (descoñecido)
    - Target IP:  192.168.56.100
    

  2. ARP REPLY (unicast)

    Ethernet Frame:
    - Dest MAC: 08:00:27:aa:bb:cc
    - Src MAC:  08:00:27:dd:ee:ff
    - Type:     0x0806 (ARP)
    
    ARP Packet:
    - Operation: Reply (2)
    - Sender MAC: 08:00:27:dd:ee:ff
    - Sender IP:  192.168.56.100
    - Target MAC: 08:00:27:aa:bb:cc
    - Target IP:  192.168.56.53
    


Características de ARP-SCAN

Vantaxes

  1. Moi rápido: Traballa na capa de enlace, sen overhead de TCP/IP
  2. Non require privilexios especiais de TCP: Só acceso á interface de rede
  3. Funciona en redes locais: Ideal para LAN
  4. Detecta hosts que bloquean ping: ARP non pode ser bloqueado facilmente nunha LAN

Limitacións

  1. Só funciona en rede local (LAN): Non pode atravesar routers
  2. Non proporciona información de portos: Só detecta hosts activos
  3. Non detecta servizos: Só sabe que o host existe

Análogo de ARP-SCAN en NMAP

Nmap ten funcionalidades similares a arp-scan para descubrimento de hosts:

Nmap con ARP Ping (-PR)

sudo nmap -PR -sn 192.168.56.0/24

Opcións:
- -PR: Usa ARP para descubrir hosts (ping ARP)
- -sn: Ping scan (non escanea portos, só descubre hosts)

Equivalente a arp-scan:

# arp-scan
sudo arp-scan --interface=eth1 192.168.56.0/24

# nmap equivalente
sudo nmap -PR -sn -e eth1 192.168.56.0/24

Saída típica:

Starting Nmap 7.94
Nmap scan report for 192.168.56.1
Host is up (0.00023s latency).
MAC Address: 0A:00:27:00:00:00 (Unknown)

Nmap scan report for 192.168.56.100
Host is up (0.00045s latency).
MAC Address: 08:00:27:DD:EE:FF (Oracle VirtualBox virtual NIC)

Nmap done: 256 IP addresses (2 hosts up) scanned in 2.34 seconds

Exemplos

  1. Descubrimento básico LAN
    Con arp-scan:
    sudo arp-scan --interface=eth1 192.168.56.0/24
    
    Con nmap:
    sudo nmap -PR -sn -e eth1 192.168.56.0/24
    
  2. Descubrimento rápido con saída clara
    Con arp-scan:
    sudo arp-scan --interface=eth1 --localnet --quiet
    # Saída:
    # 192.168.56.1    0a:00:27:00:00:00
    # 192.168.56.100  08:00:27:dd:ee:ff
    
    Con nmap:
    sudo nmap -PR -sn -e eth1 192.168.56.0/24 | grep "Nmap scan report"
    # Saída:
    # Nmap scan report for 192.168.56.1
    # Nmap scan report for 192.168.56.100