Frage Gibt es eine Möglichkeit zum ARP-Ping unter Windows?


Auf Linux und anderen Systemen gibt es ein Dienstprogramm namens arping, das zum Senden von ARP-Anfragen ("Pings") und zum Anzeigen der Antworten verwendet werden kann, ähnlich wie das Dienstprogramm "ping", aber ARP anstelle von ICMP.

Gibt es eine Möglichkeit, das Gleiche unter Windows zu tun? (Ich benutze Windows 7)


25
2017-09-30 10:18


Ursprung




Antworten:


Arping für Windows existiert tatsächlich.

http://freshmeat.net/projects/arping/

Korrektur: Dies ist für Linux, MAC OSX, etc ... aber kann über Cygwin auf Windows installiert werden.


15
2018-02-25 12:10



Um es klar zu sagen, irgendetwas im Netzwerk muss heutzutage auf ARP antworten, daher unterstützt ARP-Pingen fast alles, was "unterstützt". Ob sie dafür ein nettes Paket mit einem Bogen haben, ist die Frage. - Qix


Wenn Sie den Arp-Cache von Windows (arp -d) löschen und dann versuchen, die IP-Adresse zu pingen, wird eine ARP-Übertragung ausgegeben.

Überprüfe es mit Wireshark.


13
2018-03-16 17:55



Ist dieses Verhalten garantiert? - Pacerier
Einige, die sich darauf ausdehnen, würden gedankt werden. - Sopalajo de Arrierez
@Pacerier: Ja, da ICMP (Ping) auf der IP-Ebene aufgebaut ist. Die IP-Schicht benötigt die Hardwareadresse für eine gegebene IP-Adresse, um zu wissen, an wen sie ihr Paket senden soll. Wenn der ARP-Cache leer ist, hat die IP-Schicht keine andere Wahl, als eine ARP-Anforderung zu senden, bevor sie das Paket senden kann. - Cameron
Dieses Verhalten ist NICHT garantiert. Es wird nur passieren, wenn die IP-Adresse gemäß Subnetzregeln erreichbar ist; Andernfalls wird die IP-Adresse des Standard-Gateways verwendet, um eine ARP-Anfrage zu stellen. - Peter Crabtree


Der ARP-Befehl von WinXP dient nur zur Anzeige von Daten. Versuchen Sie Nmap, es ist kostenlos und ziemlich einfach für diese Art von Scan. Nmap ist verfügbar unter insecure.org.


6
2017-10-13 16:36



Das ist wahrscheinlich am nächsten zum Arping-Dienstprogramm (mit nmap -PR -sP <Host>). Glückwunsch du hast gewonnen. - Etienne Dechamps
@ e-t172 Mit neueren Versionen von nmap, der Befehl nmap -PR -sn <host> Ist bevorzugt. -sP ist veraltet. Auch das funktionierte nur für mich, wenn ich es als root ausführte. - Nic


Ein eingebauter Weg, dies in Windows zu tun:

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

4
2018-01-05 03:33



Wow, das ist Hardcore - ich liebe ich! Und es funktioniert fast hier. Eigentlich musste ich einen Abstand dazwischen hinzufügen -n und 1 so wurde es: ... @ping -n 1 ... - saulius2
Diese Schleife läuft für immer. Ich denke, was du beabsichtigst ist cmd /V /C "set "IP=10.0.2.2" & FOR /L %i in (1,1,2) do @ping -n 1 -w 1000 "!IP!" >NUL & arp -a | findstr /c:"!IP! " welches zweimal läuft und doppelte MAC-Adressen aufnimmt. - parsley72


Dies ist nicht genau ein ARP- "Ping", aber das Ausführen von "arp inet_addr (IP-Adresse)" von einer Eingabeaufforderung wird eine einzelne ARP-Anfrage an den Host senden, der in (IP-Adresse) angegeben ist. Sie können dann "arp -a" ausführen, um das Ergebnis zu sehen.


3
2017-09-30 10:47



Funktioniert einfach nicht. Ich bekomme meine Aufforderung zurück, aber nichts passiert. Ein Sniffer zeigte keine ARP-Anfragen. Gleiches Ergebnis, wenn die IP-Adresse nicht bereits in der ARP-Tabelle enthalten ist. - Etienne Dechamps
Richtig, du bekommst kein Ergebnis zurück. Der Befehl sendet eine einzelne ARP-Anfrage an die IP-Adresse, die Sie dann mit dem Befehl arp -a sehen können. Ich sagte, es ist nicht genau ein Arp-Ping, aber es sendet eine einzige ARP-Anfrage. - joeqwerty
Nein, tut es nicht. Wie ich schon sagte, ein Netzwerk-Sniffer zeigt keine ARP-Anfrage an und kein Eintrag wird zu arp -a hinzugefügt. - Etienne Dechamps
Das ist seltsam. Es funktioniert genau so, wie ich es unter Windows 7 beschrieben habe, aber nicht unter Windows XP. Es tut uns leid. - joeqwerty
Funktioniert bei mir nicht auf Win7, tut mir leid. - Cameron


Sie können dies überprüfen: https://github.com/seladb/PcapPlusPlus/tree/master/Examples/Arping. Dies ist ein plattformübergreifendes Arping, das sowohl unter Windows als auch unter Linux und Mac OS X funktioniert


3
2018-01-05 23:17





Versuchen Sie "arp-ping.exe"

Ich dachte, ich würde dieses Tool hinzufügen, das direkt von der Eingabeaufforderung ausgeführt wird:

Befehlszeilenoptionen von 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

Im Gegensatz zu den Linux "arping" Befehlszeilenoptionen

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

3
2018-03-28 00:42





So erhalten Sie eine ARP-Tabelle mit einer IP-Helper-API http://www.codeguru.com/cpp/i-n/internet/internetprotocolip/article.php/c6153

GetIpNetTable: Ruft die Adresse ab   Auflösungstabelle Informationen.

SetIpNetEntry: Fügt dem ARP einen Eintrag hinzu   Tabelle.

DeleteIpNetEntry: Löscht den Eintrag von   die ARP-Tabelle.

CreateIpNetEntry: Erzeugt einen Eintrag in   die ARP-Tabelle.

FlushIpNetTable: Löscht alle ARP   Einträge für die angegebene Schnittstelle   aus der ARP-Tabelle

SendARP: Sendet eine ARP-Anfrage an   Erhalte die physikalische Adresse   entspricht dem angegebenen   Ziel-IP-Adresse.


1
2018-04-11 13:10