Rozwiązywanie adresu MAC z adresu IP w systemie Linux


39

Muszę napisać skrypt bash, w którym muszę utworzyć plik, który zawiera szczegóły adresów IP hostów i ich mapowanie na odpowiednie adresy MAC.

Czy jest jakiś możliwy sposób, w jaki mogę znaleźć adres MAC dowolnego (zdalnego) hosta, gdy adres IP hosta jest dostępny?

Odpowiedzi:


35

Jeśli chcesz po prostu znaleźć adres MAC danego adresu IP, możesz użyć polecenia, arpaby go wyszukać, po pierwszym pingowaniu systemu.

Przykład

$ 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

Teraz spójrz w górę w tabeli ARP:

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

palec

Jeśli chcesz zmieść całą sieć LAN dla adresów MAC, możesz to zrobić za pomocą narzędzia wiersza poleceń fing. Zwykle nie jest instalowany, więc musisz go pobrać i zainstalować ręcznie.

$ sudo fing 10.9.8.0/24

    przykład palca

Referencje


Wiem, że to stara odpowiedź, ale czy masz jakiś wgląd w to, jak Fing jest wdrażany? Próbuję dowiedzieć się o tej warstwie sieci i narzędziach do jej monitorowania.
akaphenom

1
@akaphenom Jeśli masz nowe pytania, zadaj je wprost, komentarze nie są do tego przeznaczone.
slm

8

Możesz użyć arppolecenia:

arp -an

Ale możesz użyć tego polecenia tylko w sieci LAN, jeśli chcesz znaleźć adres MAC dowolnego zdalnego hosta, być może musisz użyć jakiegoś narzędzia do przechwycenia pakietu tcpdumpi przeanalizowania wyniku.


2
tcpdump(8)pokaże tylko lokalne adresy MAC (tj. MAC ostatniego routera). Nagłówki warstwy MAC pakietów wejściowych są usuwane przez router, a nowe są dodawane do pakietu wychodzącego.
vonbrand,

5

To z mojego pytania i odpowiedzi w askubuntu .

Możesz użyć polecenia

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

nmap:Narzędzie do eksploracji sieci i skaner zabezpieczeń / portów. Z instrukcji:

-sP(Pomiń skanowanie portów). Ta opcja mówi Nmapowi, aby nie skanował portów po wykryciu hosta i wydrukował tylko dostępne hosty, które odpowiedziały na skanowanie. Jest to często nazywane „skanowaniem ping”, ale można również zażądać uruchomienia skryptów hosta traceroute i NSE. Jest to domyślnie o jeden krok bardziej uciążliwe niż skanowanie listy i często można go używać do tych samych celów. Umożliwia lekki rozpoznanie sieci docelowej bez przyciągania dużej uwagi. Wiedza o liczbie hostów jest dla atakujących bardziej cenna niż lista dostarczona przez skanowanie listy każdego adresu IP i nazwy hosta.

-PE; -PP; -PM (Typy pingowania ICMP). Oprócz omówionych wcześniej nietypowych typów wykrywania hostów TCP, UDP i SCTP, Nmap może wysyłać standardowe pakiety wysyłane przez wszechobecny program ping. Nmap wysyła pakiet ICMP typu 8 (żądanie echa) na docelowe adresy IP, oczekując w zamian od dostępnych hostów typu 0 (odpowiedź echa). Niestety dla eksploratorów sieci, wiele hostów i zapór sieciowych blokuje teraz te pakiety, zamiast odpowiadać jako: wymagane przez RFC 1122 [2]. Z tego powodu skany tylko ICMP rzadko są wystarczająco niezawodne w stosunku do nieznanych celów przez Internet. Ale dla administratorów systemu monitorujących wewnętrzną sieć mogą być praktycznym i wydajnym podejściem. Użyj opcji -PE, aby włączyć to zachowanie żądania echa.

-A(Agresywne opcje skanowania). Ta opcja włącza dodatkowe zaawansowane i agresywne opcje.

21,23,80,3389 Porty do przeszukiwania

192.168.1.* Zakres adresów IP. zamień na swoje.


-sP jest przeznaczone do „scanPing”, wydaje się także -sn w nigdy wersjach nmap.
meawoppl

4

arping

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

Polecenie powinno zwrócić adres MAC w odpowiedzi. Coś jak,

$ 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)

arpingjest dostarczany przez pakiet iputils-arpingna Debianie.


arpingnależy również powiedzieć, którego interfejsu użyć, z -Iopcją.
Stephen Kitt

Możesz użyć arping -f, aby wyjść po pierwszej odpowiedzi.
Ryan Griggs,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.