В Linux и других системах существует служебная программа под названием arping, которая может использоваться для отправки запросов ARP («ping») и отображения ответов, как и утилита «ping», но с использованием ARP вместо ICMP.
Есть ли способ сделать то же самое в Windows? (Я использую Windows 7)
Arping для окон действительно существует.
http://freshmeat.net/projects/arping/
Исправление: это для Linux, MAC OSX и т. Д., Но может быть установлен на Windows через cygwin.
Если вы очистите кеш arp в Windows (arp -d), а затем попытаетесь пропинговать IP-адрес, он выдаст широковещательную передачу arp.
Проверьте это с помощью Wireshark.
Встроенный способ сделать это в Windows:
cmd /V /C "set "IP=10.0.2.2" & FOR /L %i in () do @ping -n 1 -w 1000 "!IP!" >NUL & arp -a | findstr /c:"!IP! "
Если вы хотите каждый раз показывать новый результат ARP (необходимо запускать от имени администратора)
cmd /V /C "set "IP=10.0.2.2" & FOR /L %i in () do @arp -d & @ping -n 1 -w 1000 "!IP!" >NUL & arp -a | findstr /c:"!IP! "
Команда WinXP ARP предназначена только для отображения данных. Попробуйте Nmap, это бесплатно и довольно просто для этого типа сканирования. Nmap доступен на insecure.org.
Подумал, что добавлю этот инструмент, который запускается прямо из командной строки:
Параметры командной строки arp-ping.exe
Usage: arp-ping.exe [options] target
-s ip : specify source ip
-n X : ping X times
-t : ping until stopped with CTRL-C
-x : exit immediately after successful ping
-i X : ping every X seconds
-d : do an 'arp -d *' between pings (requires Administrator)
(-d prevents cached ARP responses on Windows XP.)
-c : include date and time on each line
-m X : ignore failures that take less than X milliseconds
-. : print a dot (.) for every ignored failure
-l : print debug log
-v : print version and exit
По сравнению с параметрами командной строки Linux "arping"
Usage: arping [-fqbDUAV] [-c count] [-w timeout] [-I device] [-s source] destination
-f : quit on first reply
-q : be quiet
-b : keep broadcasting, don't go unicast
-D : duplicate address detection mode
-U : Unsolicited ARP mode, update your neighbours
-A : ARP answer mode, update your neighbours
-V : print version and exit
-c count : how many packets to send
-w timeout : how long to wait for a reply
-I device : which ethernet device to use (eth0)
-s source : source ip address
destination : ask for what ip address
Вы можете это проверить: https://github.com/seladb/PcapPlusPlus/tree/master/Examples/Arping. Это кроссплатформенный Arping, который может работать как в Windows, Linux, так и в Mac OS X
Это не совсем ARP «ping», но запуск «arp inet_addr (ip-адрес)» из командной строки отправит один ARP-запрос на хост, указанный в (ip-адрес). Затем вы можете запустить "arp -a", чтобы увидеть результат.
Я верю, что ты можешь играть с КАИН, что бесплатно.
Hardping - достойная программа, которая делает это.
Есть полная версия, которая стоит денег, это больше похоже на программу проверки пинга, но я использую только бесплатную версию. Бесплатная делает только 1 ip за раз, но это все, для чего мне это нужно.
Вы бы использовали его как c:> hardping 192.168.1.1, и он ответил бы с Mac или нет.
Я думаю, они сняли его со своего сайта, но вы все еще можете найти его, погуглив "бесплатное программное обеспечение для жесткого диска"
Как получить таблицу ARP с помощью IP Helper API http://www.codeguru.com/cpp/i-n/internet/internetprotocolip/article.php/c6153
GetIpNetTable: извлекает информацию из таблицы разрешения адресов.
SetIpNetEntry: добавляет запись в таблицу ARP.
DeleteIpNetEntry: удаляет запись из таблицы ARP.
CreateIpNetEntry: создает запись в таблице ARP.
FlushIpNetTable: удаляет все записи ARP для указанного интерфейса из таблицы ARP.
SendARP: отправляет запрос ARP для получения физического адреса, соответствующего указанному IP-адресу назначения.
К сожалению, в Windows нет встроенного инструмента для этого, есть некоторые сторонние инструменты, которые сделают это, например Netscan, но это не бесплатно
arp -a your.ip.here.jo
пример: arp -a 192.168.0.1