Muszę napisać skrypt bash, w którym muszę utworzyć plik, który zawiera szczegóły adresów IP hostów i ich mapowanie z odpowiednimi adresami MAC.
Czy jest możliwy sposób, w jaki mogę znaleźć adres MAC dowolnego (zdalnego) hosta, gdy adres IP hosta jest dostępny?
Odpowiedź
Jeśli chcesz tylko sprawdzić adres MAC danego adresu IP, możesz użyć polecenia arp
aby to sprawdzić, po 1 raz 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 Tabela ARP:
$ arp -a skinner.bubba.net (192.168.1.3) at 00:19:d1:e8:4c:95 [ether] on wlp3s0
fing
Jeśli chcesz przeszukać całą sieć LAN w poszukiwaniu adresów MAC, możesz użyć narzędzia wiersza poleceń fing
, aby to zrobić. Zwykle nie jest zainstalowany, więc musisz go pobrać i zainstalować ręcznie.
$ sudo fing 10.9.8.0/24
Korzystanie z ip
Jeśli okaże się, że nie masz dostępnych poleceń arp
lub fing
, możesz użyj polecenia iproute2 „s ip neigh
, aby zamiast tego zobaczyć tabelę ARP swojego systemu:
$ 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
Referencje
Komentarze
Odpowiedź
Możesz użyć polecenia arp
:
arp -an
Ale możesz używać 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, takiego jak tcpdump
i przeanalizowania wyniku.
Komentarze
-
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 dodawane do pakietu wychodzącego.
Odpowiedź
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 drukował tylko dostępne hosty, które odpowiedziały na skanowanie. Jest to często nazywane „skanowaniem pingów”, ale można również zażądać uruchomienia skryptów traceroute i hostów NSE. Jest to domyślnie o jeden krok bardziej uciążliwe niż skanowanie listy i często może być używane do tych samych celów. Pozwala na lekki rekonesans sieci docelowej bez zwracania większej uwagi. Wiedza o liczbie aktywnych hostów jest cenniejsza dla atakujących niż lista dostarczona przez skanowanie listy każdego adresu IP i nazwy hosta.
-PE; -PP; -PM (
Typy pingów ICMP). Oprócz nietypowych typów wykrywania hostów TCP, UDP i SCTP omówionych wcześniej, Nmap może wysyłać standardowe pakiety wysyłane przez wszechobecny program ping. Nmap wysyła pakiet ICMP typu 8 (żądanie echa) do docelowych adresów 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 ogniowych blokuje teraz te pakiety, zamiast odpowiadać wymagane przez RFC 1122 [2]. Z tego powodu skanowanie tylko ICMP rzadko jest wystarczająco wiarygodne w przypadku nieznanych celów w Internecie. Jednak dla administratorów systemów monitorujących sieć wewnętrzną mogą one 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. wymień na swoje.
Komentarze
- -sP to " scanPing ", wydaje się, że jest to również -sn w nigdy wersjach nmap.
Odpowiedź
arping
arping -I <interface> -c 1 <host>
Polecenie powinno zwrócić adres MAC w odpowiedzi. Coś w rodzaju
$ 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
jest dostarczane przez pakiet iputils-arping
w Debianie.
Komentarze
-
arping
również musi być poinformowany, którego interfejsu użyć, z-I
. - Możesz użyć arping -f, aby wyjść po pierwszej odpowiedzi.
arp
jest przestarzałe? Jak mogę to zrobić zip
?ip
.ip neigh
działa w większości przypadków bez konieczności instalowania dodatkowych pakietów. Dlatego uważam, że ' to najlepsza odpowiedź.