Назад | Перейти на главную страницу

Есть ли способ ARP ping в Windows?

В 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"

Подумал, что добавлю этот инструмент, который запускается прямо из командной строки:

Параметры командной строки 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