Ich habe irgendwo eine NIC-Karte auf einem Debian-Rechner. Die Maschine ist ausgeschaltet, aber ich muss wissen, ob die NIC-Karte eingeschaltet ist, damit ich später (von einer anderen Debian-Maschine) ein Wake-on-LAN-Zauberpaket senden kann, um sie zu aktivieren. Ich habe die MAC-Adresse der Karte. Kann ich die Ethernet-Karte per MAC anpingen, um festzustellen, ob sie eingeschaltet ist?
Ich habe versucht, einen ARP-Eintrag zu erstellen:
arp -s 192.168.2.2 00-0c-0d-ef-02-03
ping 192.168.2.2
Das hat nicht funktioniert, da die NIC-Karte diese IP-Adresse nicht hat. Die NIC-Karte würde also die Ping-Anfrage erhalten, aber nicht darauf antworten. Gibt es einen Weg, dies zu umgehen?
Ich verwende das Etherwake-Paket, um eine Wake-on-Lan-Nachricht zu senden.
quelle
arping
kann eine MAC-Adresse als Parameter verwenden:arping -c 5 38:e7:d8:63:5e:a6
arping
an eine MAC-Adresse: Ja, es gibt zwei Implementierungen von Arping 1. von Linux iputils 2. Arping von Thomas Habets . --- Nur die 2. Implementierung kann eine MAC-Adresse pingen, aber ein solcher Ping ist sehr schwierig: Auf dem Ping-Rechner muss noch TCP / IP konfiguriert sein (mindestens eine IP-Adresse) und er muss in der Lage sein, auf einen Ping zu antworten eine Broadcast-IP-Adresse.Sie können keine normale Netzwerkkarte anpingen, da die Netzwerkkarte allein keine Antworten sendet.
Nur ein laufender Computer kann Antworten senden
Normale Netzwerkkarten senden selbst keine Antworten. Sie benötigen dazu immer eine laufende Software auf dem Computer.
Wenn die CPU des Computers ausgeschaltet ist, wird keine Software ausgeführt, die eine Antwort auf einen Ping senden würde.
Wake-on-LAN ist unidirektional
Wake-on-LAN ermöglicht es dem Computer, nur die Netzwerkkarte teilweise einzuschalten, um Ethernet-Frames zu empfangen und nach der magischen Aktivierungssequenz in ihnen zu suchen. Die Netzwerkkarte sendet jedoch weiterhin keine Antwort. Wake-on-LAN ist streng unidirektional. Es werden keine Antworten gesendet.
Ausnahmen
Es gibt bestimmte spezielle NICs, die von sich aus Antworten senden können, z. B. solche, die ein vollständiges TCP-Handshake-Offload implementieren .
quelle
Der
ether-wake
Befehl funktioniert mit der Mac-Adresse, sodass Sie (a) keine IP-Adresse benötigen und (b) den Befehl ohne Schaden senden können (wenn er bereits wach ist, hat das Aufwecken keine Auswirkungen?)Sie können die Liste Ihres vorhandenen Arp-Caches anzeigen, indem
arp -an
Sie Ihren MAC verwenden und nach ihm suchen, um die IP des Zielhosts abzurufen. Da es sich bei arp jedoch um einen Cache handelt, wurde möglicherweise eine Zeitüberschreitung für den Cache festgestellt (und er ist immer noch "aktiv"). In diesem Fall müssen Sie möglicherweise eine Brute-Force-Methode verwenden, um die IP-Adresse zu ermitteln. Beispiel:(und dann nach 00: 0c: 0d: ef: 02: 03 suchen) - vorausgesetzt, Firewalls und andere solche Dinge stören nicht!
quelle
ether-wake
nicht erreicht). Ich würde tatsächlich Zugriff auf einen anderen Host vor Ort erhalten, den Zielcomputer in den Ruhezustand versetzen und versuchen, dieether-wake
.Meine Anwendung war ein Server, der eine RSYNC-Verbindung zu einer Arbeitsstation herstellte, um das Dokumentverzeichnis der Arbeitsstation abzurufen. Die Arbeitsstation hatte jedoch keine garantierte IP-Adresse, sondern eine bekannte MAC-Adresse (die IP-Adresse wurde von DHCP vorgenommen). Dieser Code verwendet NUR Ping.
quelle
Hier ist ein einfaches Skript, um über die Mac-Adresse zu pingen. Einfach speichern und zB ausführen
macping aa:bb:cc:dd:ee:ff
Sie können das Ergebnis auch verketten, um unter bestimmten Bedingungen andere Dinge zu tun, z.
-
quelle
Dies hängt weder von unterschiedlichen Versionen von Arping noch von komplexen Bash-Skripten ab:
Ich habe Arp-Scan anstelle von Arp verwendet, da es viel schneller zu laufen scheint.
quelle