Сканирование сети NMAP показывает IP-адреса и MAC-адреса элементов, которые затем отсутствуют в последующем дампе arp-cache?

Логика у меня есть это

  1. получить определение подсети
  2. используйте nmap для сканирования каждого элемента в подсети, чтобы заполнить кеш arp
  3. используйте утилиту /usr/sbin/arp для сброса кэша arp
  4. проанализируйте arp-cache, чтобы получить (IP-address, MAC-address) пары всего в подсети.

Обычно это работает довольно хорошо, но сейчас я нахожусь в ситуации, когда это не работает.

Допустим, я нахожусь в следующей подсети 10.199.200.0/21

Я запускаю nmap

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

показывает все найденные устройства

 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) 

но когда я тогда сразу пытаюсь сбросить кеш arp

 /usr/sbin/arp 

Я получаю только это, так как многие элементы, показанные в предыдущем сканировании, отсутствуют

 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 

(обратите внимание, что оба эти вывода являются неполными)

по существу, nmap показывает IP / MAC элементов, которые либо полностью отсутствуют в последующем дампе команды arp либо IP есть, но MAC-адрес отображается как (incomplete)

Я попытался увеличить время ожидания элементов в кэше arp, выполнив следующие действия

 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 

но это, кажется, не имеет значения.

Что тут происходит? Почему arp не показывает то, что показывает nmap ? Возможно, nmap неправильно nmap кеш?

Еще одна вещь, которую я заметил, использование утилиты arp-scan показывает все, что находит nmap

3 Solutions collect form web for “Сканирование сети NMAP показывает IP-адреса и MAC-адреса элементов, которые затем отсутствуют в последующем дампе arp-cache?”

Кеш arp – это просто кеш. Это означает, что он будет содержать некоторые значения, которые, вероятно, скоро понадобятся, но могут быть отброшены, чтобы освободить место для других.

Сеть A / 21 имеет 2048 адресов, поэтому некоторые из них удаляются из кэша, чтобы освободить слоты для других записей. Вы, вероятно, ранее использовали это в небольших сетях.

Вы должны отсканировать вывод из nmap. Вы должны объединить информацию из разных строк, но она должна быть полной.

редактировать

Каждая запись начинается (incomplete) до получения ответа. Таким образом, когда кэш заполнен, kernel ​​должно либо удалить более старую завершенную запись, либо более новую запись, которая может только что получить ответ.

По размеру отсюда :

sysctl -w net.ipv4.neigh.default.gc_thresh1= : gc_thresh1 представляет минимальное количество записей, которые могут находиться в кэше ARP. Сборка мусора не будет запущена, если количество записей ниже этого параметра.

sysctl -w net.ipv4.neigh.default.gc_thresh2= : gc_thresh2 представляет мягкое максимальное количество записей, которые могут находиться в кэше ARP. Этот параметр, возможно, является наиболее важным, поскольку assembly мусора ARP будет запущена через ~ 5 с после достижения этого мягкого максимума.

sysctl -w net.ipv4.neigh.default.gc_thresh3= : gc_thresh3 представляет максимальное количество записей в кэше ARP.

Обычно я использую tcpdump в сочетании со сканированием nmap когда я хочу следить за arps

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

и пока он работает, сделайте nmap . Это может потребовать дополнительных ограничений по имени хоста или IP-адресу в зависимости от того, сколько вы хотите захватить tcpdump .

Исходя из вашего вопроса и взаимодействий, вы, кажется, не понимаете, что MAC находятся на уровне 2 и, следовательно, локальны для вашей сети.

При сканировании нескольких удаленных IP-адресов вне вашей сети в кеше ARP будут отображаться только ваши MAC-адрес и IP-адрес локального шлюза / маршрутизатора.

  • Как найти причину TCP RST в Linux (Ubuntu Server)
  • Можно ли использовать один DHCP-сервер для передачи совершенно разных диапазонов IP-адресов на разные сетевые интерфейсы в разных локальных сетях?
  • Есть ли способ сделать фильтрацию 7 уровня в Linux?
  • Обнаружение IP-сети без dhcp
  • OpenWRT добавляет постоянный виртуальный интерфейс
  • Избегайте сбоя сети Ethernet, если кабель отключен
  • Автоматизировать процесс удаления отводных устройств
  • разделить JSON-файл по количеству объектов
  • Сетевой менеджер, который скрывает прокси от приложений
  • Загрузка сценариев netplan из необязательной цели монтирования
  • Какие-нибудь контейнеры Linux с поддержкой двухточечной сети хост-гость?
  • Interesting Posts

    Проигрыватель веб-VLC-плейера с usb.hdd через 192.168.xx: 8090

    Dpkg не может очистить AMD-графический пакет; файловая система только для чтения (Mint)

    Как извлечь имя столбца (заголовок) из файла CSV, который содержит максимальное значение в строке?

    Как скопировать строки access.log по времени?

    Как подключиться к SSH через промежуточный сервер?

    использовать tar для извлечения и немедленного сжатия файлов из tarball

    Как читать файлы в каталоге proc?

    Оптимальный способ настройки учетной записи пользователя / доступа?

    Запустить Java в chroot тюрьме

    Нормальный текстовый файл, обнаруженный файлом как текст программы ASCII Pascal

    Как запустить команду от имени другого пользователя, когда нет команд sudo или su

    start-stop-daemon делает cron pidfile с неправильным pid

    Почему так много «scsi 4: 0: 0: 0: CDB: запрос: 12 00 00 00 24 00» в моем журнале сообщений?

    Настройка точки доступа Wi-Fi для Linux для перенаправления URL с одним словом на страницу http://192.168.42.1:8888

    Xorg частично работает для ошибки шрифта

    Linux и Unix - лучшая ОС в мире.