Intereting Posts
Как имитировать периодическое нажатие кнопки на веб-странице? Какова цель команды xargs -I? Изменение прозрачности терминала gnome с помощью команды в Ubuntu? Может ли diff показать числовые различия, с порогом, чтобы не показывать их как различия? Заменить все значения в одном столбце на 1 vsftpd не разрешает пользователям chrooted записывать в каталог grep -Ef для захвата соответствующих ip-адресов в двух файлах, а также результат печати или эха каждой итерации, xx.xx.xx.xx found или xx.xx.xx.xx не найден Почему я не могу избежать брекетов "]" в sed? SSH Подключение к локальной сети без переадресации портов? Активировать Wi-Fi при запуске 3 запуска ограничение удаленного входа vpn на ip-адрес в CentOS 7 checkinstall зависает при «Копирование файлов во временный каталог …» при создании vim8 Где хранятся настройки прокси-сервера? Как узнать, как была создана файловая система? notepad ++ добавляет \ r к скриптам оболочки

Сканирование сети 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

Кеш 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-адрес локального шлюза / маршрутизатора.