A varredura de rede NMAP mostra endereços IP e endereços MAC de itens que estão ausentes de um dump de cache arp subseqüente?

1

A lógica que tenho é esta

  1. obtenha a definição da sub-rede
  2. use nmap para verificar cada item na sub-rede para preencher o cache de arp
  3. use a ferramenta /usr/sbin/arp para despejar o cache de arp
  4. analisa o arp-cache para obter (IP-address, MAC-address) pares de tudo na sub-rede.

Isso geralmente funcionou muito bem, mas estou em um caso agora em que isso não está funcionando.

Digamos que eu esteja na sub-rede a seguir 10.199.200.0/21

Eu corro nmap

sudo /usr/bin/nmap -sP --send-ip -n 10.199.200.0/21

mostra todos os dispositivos encontrados

Starting Nmap 7.01 ( https://nmap.org ) at 2018-08-09 15:45 MDT
Nmap scan report for 10.199.200.1
Host is up (0.00066s latency).
MAC Address: FC:AA:14:XX:XX:XX(Giga-byte Technology)
Nmap scan report for 10.199.200.2
Host is up (0.00038s latency).
MAC Address: C2:EA:E4:XX:XX:XX(Unknown)
Nmap scan report for 10.199.200.4
Host is up (0.00045s latency).
MAC Address: 00:50:56:XX:XX:XX(VMware)
Nmap scan report for 10.199.200.5
Host is up (0.00041s latency).
MAC Address: 00:1A:64:XX:XX:XX(IBM)
Nmap scan report for 10.199.200.6
Host is up (0.0010s latency).
MAC Address: 00:50:56:XX:XX:XX(VMware)
Nmap scan report for 10.199.200.8
Host is up (0.00027s latency).
MAC Address: 40:F2:E9:XX:XX:XX(IBM)
Nmap scan report for 10.199.200.9
Host is up (0.00061s latency).
MAC Address: 1C:98:EC:XX:XX:XX(Unknown)
Nmap scan report for 10.199.200.10
Host is up (0.00038s latency).
MAC Address: D0:67:26:XX:XX:XX(Unknown)
Nmap scan report for 10.199.200.11
Host is up (0.00075s latency).
MAC Address: 7C:AD:74:XX:XX:XX(Cisco Systems)
Nmap scan report for 10.199.200.12
Host is up (0.00053s latency).
MAC Address: 68:72:51:XX:XX:XX(Ubiquiti Networks)
Nmap scan report for 10.199.200.13
Host is up (0.00061s latency).
MAC Address: 00:50:56:XX:XX:XX(VMware)
Nmap scan report for 10.199.200.15
Host is up (0.00098s latency).
MAC Address: 00:50:56:XX:XX:XX(VMware)
Nmap scan report for 10.199.200.16
Host is up (0.00088s latency).
MAC Address: 00:50:56:XX:XX:XX(VMware)
Nmap scan report for 10.199.200.18
Host is up (0.0017s latency).
MAC Address: 00:50:56:XX:XX:XX(VMware)
Nmap scan report for 10.199.200.19
Host is up (0.00080s latency).
MAC Address: 00:50:56:XX:XX:XX(VMware)
Nmap scan report for 10.199.200.20
Host is up (0.00076s latency).
MAC Address: 00:50:56:XX:XX:XX(VMware)
Nmap scan report for 10.199.200.22
Host is up (0.00078s latency).
MAC Address: 00:50:56:XX:XX:XX(VMware)
Nmap scan report for 10.199.200.23
Host is up (0.0011s latency).
MAC Address: 00:50:56:XX:XX:XX(VMware)
Nmap scan report for 10.199.200.24
Host is up (0.0010s latency).
MAC Address: 00:50:56:XX:XX:XX(VMware)
Nmap scan report for 10.199.200.26
Host is up (0.00058s latency).
MAC Address: 00:50:56:XX:XX:XX(VMware)
Nmap scan report for 10.199.200.27
Host is up (0.00091s latency).
MAC Address: 00:50:56:XX:XX:XX(VMware)
Nmap scan report for 10.199.200.28
Host is up (0.00074s latency).
MAC Address: 00:50:56:XX:XX:XX(VMware)
Nmap scan report for 10.199.200.29
Host is up (0.0011s latency).
MAC Address: 00:50:56:XX:XX:XX(VMware)
Nmap scan report for 10.199.200.30
Host is up (0.00089s latency).
MAC Address: 00:50:56:XX:XX:XX(VMware)
Nmap scan report for 10.199.200.31
Host is up (0.00060s latency).
MAC Address: 00:50:56:XX:XX:XX(VMware)
Nmap scan report for 10.199.200.32
Host is up (0.00096s latency).
MAC Address: 00:50:56:XX:XX:XX(VMware)

mas quando eu imediatamente tento descarregar o cache do arp

/usr/sbin/arp

Eu só entendo isso, com muitos dos itens mostrados no escaneamento anterior faltando

Address                  HWtype  HWaddress           Flags Mask            Iface
10.199.200.179                   (incomplete)                              enp2s0
10.199.202.172                   (incomplete)                              enp2s0
10.199.205.70                    (incomplete)                              enp2s0
10.199.206.73            ether   f4:5c:89:XX:XX:XX  C                     enp2s0
10.199.202.42                    (incomplete)                              enp2s0
10.199.202.245                   (incomplete)                              enp2s0
10.199.205.74                    (incomplete)                              enp2s0
10.199.200.2             ether   c2:ea:e4:XX:XX:XX  C                     enp2s0
10.199.205.21                    (incomplete)                              enp2s0
10.199.207.193                   (incomplete)                              enp2s0
10.199.203.231                   (incomplete)                              enp2s0
10.199.203.162                   (incomplete)                              enp2s0
10.199.204.181                   (incomplete)                              enp2s0
10.199.207.79                    (incomplete)                              enp2s0
10.199.205.94                    (incomplete)                              enp2s0
10.199.203.109                   (incomplete)                              enp2s0
10.199.206.44                    (incomplete)                              enp2s0
10.199.204.51                    (incomplete)                              enp2s0
10.199.200.209                   (incomplete)                              enp2s0
10.199.206.239                   (incomplete)                              enp2s0
10.199.203.235                   (incomplete)                              enp2s0
10.199.206.170                   (incomplete)                              enp2s0
10.199.201.69                    (incomplete)                              enp2s0
10.199.205.98                    (incomplete)                              enp2s0
10.199.203.113                   (incomplete)                              enp2s0
10.199.200.229                   (incomplete)                              enp2s0
10.199.206.190                   (incomplete)                              enp2s0
10.199.203.186                   (incomplete)                              enp2s0
10.199.200.99                    (incomplete)                              enp2s0
10.199.205.118                   (incomplete)                              enp2s0
10.199.201.20                    (incomplete)                              enp2s0
10.199.207.34                    (incomplete)                              enp2s0
10.199.203.192                   (incomplete)                              enp2s0
10.199.205.252                   (incomplete)                              enp2s0
10.199.200.180                   (incomplete)                              enp2s0
10.199.202.165                   (incomplete)                              enp2s0
10.199.206.66                    (incomplete)                              enp2s0
10.199.205.122                   (incomplete)                              enp2s0
10.199.205.197                   (incomplete)                              enp2s0
10.199.203.212                   (incomplete)                              enp2s0
10.199.205.128                   (incomplete)                              enp2s0
10.199.203.151                   (incomplete)                              enp2s0
10.199.206.139           ether   f4:5c:89:XX:XX:XX  C                     enp2s0
10.199.200.184                   (incomplete)                              enp2s0
10.199.206.86                    (incomplete)                              enp2s0
10.199.202.116                   (incomplete)                              enp2s0
10.199.207.127                   (incomplete)                              enp2s0
10.199.206.17                    (incomplete)                              enp2s0
10.199.201.44                    (incomplete)                              enp2s0
10.199.202.120                   (incomplete)                              enp2s0
10.199.206.37                    (incomplete)                              enp2s0
10.199.204.52                    (incomplete)                              enp2s0
10.199.205.221                   (incomplete)                              enp2s0
10.199.206.224                   (incomplete)                              enp2s0
10.199.200.149                   (incomplete)                              enp2s0
10.199.206.163                   (incomplete)                              enp2s0
10.199.205.91                    (incomplete)                              enp2s0
10.199.206.41                    (incomplete)                              enp2s0
10.199.202.207                   (incomplete)                              enp2s0
10.199.205.225                   (incomplete)                              enp2s0
10.199.206.244                   (incomplete)                              enp2s0
10.199.203.179                   (incomplete)                              enp2s0
10.199.201.66                    (incomplete)                              enp2s0
10.199.205.111                   (incomplete)                              enp2s0
10.199.200.39                    (incomplete)                              enp2s0
10.199.207.27                    (incomplete)                              enp2s0
10.199.200.226                   (incomplete)                              enp2s0
10.199.202.211                   (incomplete)                              enp2s0
10.199.200.173                   (incomplete)                              enp2s0
10.199.207.161                   (incomplete)                              enp2s0
10.199.205.176                   (incomplete)                              enp2s0
10.199.207.108                   (incomplete)                              enp2s0
10.199.205.115                   (incomplete)                              enp2s0
10.199.206.6                     (incomplete)                              enp2s0
10.199.207.47                    (incomplete)                              enp2s0
10.199.204.208                   (incomplete)                              enp2s0
10.199.200.246                   (incomplete)                              enp2s0

(note que ambas as saídas estão incompletas)

essencialmente, nmap mostra o IP / MAC de itens que estão totalmente ausentes do comando arp subseqüente ou o IP está lá, mas o endereço MAC é mostrado como (incomplete)

Eu tentei aumentar o tempo limite de itens no cache do arp fazendo o seguinte

echo 'net.ipv4.neigh.default.gc_stale_time=600' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv4.neigh.default.base_reachable_time_ms=1200000' | sudo tee -a /etc/sysctl.conf

mas isso não parece fazer diferença.

O que está acontecendo aqui? Por que o arp não está mostrando o que nmap está mostrando? O nmap talvez não esteja preenchendo o cache corretamente?

Outra coisa que notei, usando o utilitário arp-scan , mostra tudo o que nmap encontra

    
por John Allard 10.08.2018 / 00:21

3 respostas

1

O cache do arp é apenas isso, um cache. Isso significa que ele armazenará alguns valores que provavelmente serão necessários em breve, mas que podem ser descartados para que sejam disponibilizados para outras pessoas.

A / 21 Network possui 2048 endereços, portanto, alguns deles são removidos do cache para liberar slots para outras entradas. Você provavelmente já usou isso em redes menores.

Você deve verificar a saída do nmap. Você precisa combinar informações de linhas diferentes, mas elas devem estar completas.

Editar

Cada entrada inicia (incomplete) até que uma resposta seja recebida. Portanto, quando o cache está cheio, o kernel deve remover uma entrada completa mais antiga ou uma entrada mais nova que pode agora receber a resposta.

Para o tamanho, de aqui :

sysctl -w net.ipv4.neigh.default.gc_thresh1=<n>: gc_thresh1 represents the minimum number of entries that may be in the ARP cache. Garbage collection will not be triggered if the number of entries is below this setting.

sysctl -w net.ipv4.neigh.default.gc_thresh2=<n>: gc_thresh2 represents the soft maximum number of entries that may be in the ARP cache. This setting is arguably the most important, as ARP garbage collection will be triggered ~5s after reaching this soft maximum.

sysctl -w net.ipv4.neigh.default.gc_thresh3=<n>: gc_thresh3 represents the hard maximum number of entries in the ARP cache.

    
por 10.08.2018 / 00:33
0

Eu geralmente uso tcpdump em conjunto com nmap scan quando eu quero manter um registro específico dos arps

tcpdump -ennl -i eth0 arp | grep is-at | tee foo

e enquanto isso estiver em execução, faça o nmap . Isso pode exigir limitações adicionais por nome de host ou IP, dependendo de quanto você deseja que tcpdump capture.

    
por 10.08.2018 / 01:15
0

A partir de suas perguntas e interações, você parece não entender que os MACs estão na camada 2 e, portanto, são locais em sua rede.

Ao digitalizar vários endereços IP remotos fora da sua rede, apenas o seu endereço MAC e IP do seu gateway / roteador local aparecerá no cache do ARP.

    
por 10.08.2018 / 09:53