it-swarm.com.de

Auflösen der MAC-Adresse von der IP-Adresse unter Linux

Ich muss ein Bash-Skript schreiben, in dem ich eine Datei erstellen muss, die die Details der IP-Adressen der Hosts und deren Zuordnung zu den entsprechenden MAC-Adressen enthält.

Gibt es eine Möglichkeit, die MAC-Adresse eines (Remote-) Hosts zu ermitteln, wenn die IP-Adresse des Hosts verfügbar ist?

41
Mandar Shinde

Wenn Sie nur die MAC-Adresse einer bestimmten IP-Adresse herausfinden möchten, können Sie sie mit dem Befehl arp nachschlagen, sobald Sie das System einmal gepingt haben.

Beispiel

$ ping skinner -c 1
PING skinner.bubba.net (192.168.1.3) 56(84) bytes of data.
64 bytes from skinner.bubba.net (192.168.1.3): icmp_seq=1 ttl=64 time=3.09 ms

--- skinner.bubba.net ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 3.097/3.097/3.097/0.000 ms

Schauen Sie jetzt in der ARP-Tabelle nach:

$ arp -a
skinner.bubba.net (192.168.1.3) at 00:19:d1:e8:4c:95 [ether] on wlp3s0

fing

Wenn Sie das gesamte LAN nach MAC-Adressen durchsuchen möchten, können Sie dazu das Befehlszeilentool fing verwenden. Es ist normalerweise nicht installiert, daher müssen Sie es herunterladen und manuell installieren.

$ Sudo fing 10.9.8.0/24

 fing example

IP verwenden

Wenn Sie feststellen, dass die Befehle arp oder fing nicht verfügbar sind, können Sie stattdessen den Befehl ip neigh Von iproute2 verwenden, um die ARP-Tabelle Ihres Systems anzuzeigen:

$ ip neigh
192.168.1.61 dev eth0 lladdr b8:27:eb:87:74:11 REACHABLE
192.168.1.70 dev eth0 lladdr 30:b5:c2:3d:6c:37 STALE
192.168.1.95 dev eth0 lladdr f0:18:98:1d:26:e2 REACHABLE
192.168.1.2 dev eth0 lladdr 14:cc:20:d4:56:2a STALE
192.168.1.10 dev eth0 lladdr 00:22:15:91:c1:2d REACHABLE

Verweise

40
slm

Sie können den Befehl arp verwenden:

arp -an

Sie können diesen Befehl jedoch nur im LAN verwenden. Wenn Sie die MAC-Adresse eines Remote-Hosts ermitteln möchten, müssen Sie möglicherweise ein Tool verwenden, um das Paket wie tcpdump zu erfassen und das Ergebnis zu analysieren.

9
cuonglm

Dies ist aus meiner Frage und Antwort in askubunt .

Sie können den Befehl verwenden

   Sudo nmap -sP -PE -PA21,23,80,3389 192.168.1.*

nmap: Netzwerkerkundungstool und Sicherheits-/Port-Scanner. Aus dem Handbuch:

-sP (Port-Scan überspringen). Diese Option weist Nmap an, nach der Hosterkennung keinen Port-Scan durchzuführen und nur die verfügbaren Hosts auszudrucken, die auf den Scan geantwortet haben. Dies wird häufig als "Ping-Scan" bezeichnet, dies ist jedoch möglich Fordern Sie außerdem die Ausführung von Traceroute- und NSE-Host-Skripten an. Dies ist standardmäßig einen Schritt aufdringlicher als der Listenscan und kann häufig für dieselben Zwecke verwendet werden. Es ermöglicht eine leichte Aufklärung eines Zielnetzwerks, ohne viel Aufmerksamkeit zu erregen. Wissen, wie viele Hosts up sind für Angreifer wertvoller als die Liste, die durch Listenscan jeder einzelnen IP und jedes Hostnamens bereitgestellt wird.

-PE; -PP; -PM (ICMP-Ping-Typen). Zusätzlich zu den zuvor beschriebenen ungewöhnlichen TCP-, UDP- und SCTP-Host-Erkennungstypen kann Nmap die vom allgegenwärtigen Ping-Programm gesendeten Standardpakete senden. Nmap sendet eine ICMP-Paket vom Typ 8 (Echoanforderung) an die Ziel-IP-Adressen, wobei eine Antwort vom Typ 0 (Echoantwort) von verfügbaren Hosts erwartet wird. Leider blockieren viele Hosts und Firewalls diese Pakete jetzt, anstatt wie von RFC gefordert zu antworten 1122 [2]. Aus diesem Grund sind Nur-ICMP-Scans für unbekannte Ziele über das Internet selten zuverlässig genug. Für Systemadministratoren, die ein internes Netzwerk überwachen, können sie jedoch ein praktischer und effizienter Ansatz sein. Verwenden Sie die Option -PE, um dies zu aktivieren Echoanforderungsverhalten.

-A (Aggressive Scanoptionen). Diese Option ermöglicht zusätzliche erweiterte und aggressive Optionen.

21,23,80,3389 Ports zum Durchsuchen

192.168.1.* IP-Bereich. durch deine ersetzen.

5
Maythux

arping

arping -I <interface> -c 1 <Host>

Der Befehl sollte die MAC-Adresse in der Antwort zurückgeben. Etwas wie,

$ arping -I eth0 -c1 192.168.1.2
ARPING 192.168.1.2 from 192.168.1.5 eth0
Unicast reply from 192.168.1.2 [08:01:27:38:EF:32]  0.746ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)

arping wird vom Paket iputils-arping Auf Debian bereitgestellt.

4
hookman