Самый простой путь получения такого списка - это провести ping каждого host'а в подсети и просмотреть ARP кэш, однако это требует большого времени и данные в кэше хранятся всего в течение 2 минут. Альтернативный вариант - пинговать "broadcast mask" подсети (невозможно пинговать всю сеть, т.к. вы непосредственно связаны только с нодами (узлами) в вашей подсети, все другие запрoсы проходят через "gateways" (шлюзы), так что вы получите в кэше ARP данные только для шлюзов (кроме данных по подсети)).
Что такое "Broadcast mask"? "Broadcast mask" легко получить если маска подсети в формате 255.255.255.0 или 255.255.0.0 . Например, если IP адрес 134.189.23.42 и маска подсети 255.255.0.0, то "broadcast mask" будет 134.189.255.255. Но в более общем случае, для определения "broadcast mask" выполните следующее:
например, IP адрес 158.234.24.98 и маска подсети 255.255.248.0
Network |
Host |
|||||||||||||||||||||||||||||||
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | |
1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |
Байт 1 |
Байт 2 |
Байт 3 |
Байт 4 |
Первая строка - маска подсети 255.255.248.0, вторая строка IP адрес 158.234.24.98 и третья строка "broadcast mask" 158.234.31.255.
Ну и теперь для получения списка соответствия MAC адресов IP адресам выполните:
ping <broadcast mask>
arp -a
Для записи результатов в файл, добавьте "> filename" (например, arp -a > iptomac.lst).
На первую страницу Раздел Windows NT Назад
Copyright © 2000. Andrey Harchenko. При
перепечатке ссылка на http://WinFAQ.com.ru
обязательна.
Авторские права на оригиналы
статей: Microsoft
Corporation, SavillTech Ltd,
Simon Clausen