Чи є спосіб сканувати безкоштовні IP-адреси в мережі? Я використовую, nmap -sP 192.168.1.0/24
але це фактично показує хостів, які працюють.
Чи є спосіб сканувати безкоштовні IP-адреси в мережі? Я використовую, nmap -sP 192.168.1.0/24
але це фактично показує хостів, які працюють.
Відповіді:
Використовуючи такий Nmap, це досить точний спосіб робити те, що ви просили, за умови, що деякі передумови справджуються:
Щоб отримати "доступні" адреси, вам потрібно отримати список адрес, про які Nmap повідомляє як "вниз". Це можна зробити за допомогою простої команди awk:
sudo nmap -v -sn -n 192.168.1.0/24 -oG - | awk '/Status: Down/{print $2}'
Короткий зміст використаних параметрів Nmap:
-v
опцію, Nmap друкує адреси, які вона знаходить, як "вниз", крім тих, що "вгору".-sP
я замінив новіший правопис -sn
, який все ще виконує те саме сканування, але означає "пропустити сканування порту" замість оманливого "сканування Ping" (оскільки фаза виявлення хосту не обов'язково означає сканування Echo ICMP або Ping ).-n
Опція пропускає зворотний пошук DNS, який купує вам трохи часу, так як ви не зацікавлені в іменах , але тільки IP - адреси.-oG
параметр повідомляє Nmap виводити формат, який можна розпізнати , що легше обробляє awk. Аргумент " -
" повідомляє йому надіслати цей вихід у stdout.Потім команда awk шукає "Статус: вниз" і друкує друге поле, що містить IP-адресу.
Звичайно, якщо у вас є доступ до запущених конфігурацій комутатора або оренди сервера DHCP, ви можете отримати цю відповідь набагато авторитетніше, не роблячи сканування, яке може зняти тривогу безпеки.
Не впевнений у n-карті, але можна обгрунтовано припустити, що якщо ви пишете сценарій ping, який надсилає 1 ping на кожну адресу, будь-який хост, який повертається з "недоступним пунктом призначення", не зайнятий, і все, що повертається, "запит вимкнено" зайнято, але не відповідає ping. Різниця між двома відповідями полягає в тому, що "недоступний пункт призначення" не отримав відповіді на свій запит ARP. "Час вимкнення запиту" означає, що щось відповіло на запит ARP, але не пакет ICMP.
Ось ще одна, натхненна Андерсом Ларссоном
для ip у 172.18.5. {129..254}; do {ping -c 1 -W 1 $ ip; } &> / dev / null || echo $ ip & done | сортувати
Що це означає: "Спробуйте пінг усіх Ips в діапазоні. Якщо" ping "не вдалося надрукувати цей IP"
Якщо ти зробиш
nmap -v -sn -n 192.168.1.0/24 -oG - | awk '/Status: Down/{print $2}'
Працює швидко, але я помітив, що деякі господарі повідомили, що "Вниз" насправді "Вгору"