Есть ли способ ARP ping на Windows?
В Linux и других системах есть утилита arping, которая может использоваться для отправки запросов ARP ("ping") и показа ответов, так же, как утилита "ping", но с использованием ARP вместо ICMP.
Есть ли способ сделать то же самое на Windows? (Я использую Windows 7)
12 ответов
Арпинг для окон действительно существует.
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 (1,0,2) do @ping -n1 -w 1000 "!IP!" >NUL & arp -a | findstr /c:"!IP! "
Попробуйте "arp-ping.exe"
Думаю, я бы добавил этот инструмент, который запускается прямо из командной строки:
- Эли Фулкерсон, arp-ping.exe - реализация ping с помощью arp lookup (заархивировано здесь)
Параметры командной строки 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
Команда WinXP ARP предназначена только для отображения данных. Попробуйте Nmap, это бесплатно и довольно легко для этого типа сканирования. Nmap доступно на insecure.org.
Это не совсем ARP-запрос "ping", но запуск "arp inet_addr (IP-адрес)" из командной строки отправит один ARP-запрос на хост, указанный в (IP-адрес). Затем вы можете запустить "arp -a", чтобы увидеть результат.
Вы можете проверить это: https://github.com/seladb/PcapPlusPlus/tree/master/Examples/Arping. Это кроссплатформенный Arping, который может работать как в Windows, Linux и Mac OS X
Как получить таблицу 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-адресу назначения.
Я считаю, что вы можете arp-ping с CAIN, который является бесплатным.
Hardping - достойная программа, которая делает это.
Есть полная версия, которая стоит денег, это больше программа ping sweep, но я просто использую бесплатную версию. Свободный делает только 1 IP за один раз, но это все, что мне было нужно.
Вы бы использовали его как c:>hardping 192.168.1.1, и он отвечал бы с Mac или нет.
Я думаю, что они сняли его со своего сайта, но вы все еще можете найти его, прибегая к помощи "жестких бесплатных программ"
К сожалению, в Windows нет встроенного инструмента для этого, есть некоторые сторонние инструменты, такие как Netscan, но это не бесплатно.