Jag måste skriva ett bash-skript där jag måste skapa en fil som innehåller information om IP-adresser för värdarna och deras mappning med motsvarande MAC-adresser.
Finns det något möjligt sätt på vilket jag kan ta reda på MAC-adressen för en (fjärr) värd när värdens IP-adress är tillgänglig?
Svar
Om du bara vill ta reda på MAC-adressen för en given IP-adress kan du använda kommandot arp
för att slå upp det när du väl har pingat systemet en gång.
Exempel
$ 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
Titta nu upp i ARP-tabell:
$ arp -a skinner.bubba.net (192.168.1.3) at 00:19:d1:e8:4c:95 [ether] on wlp3s0
fing
Om du vill sopa hela LAN för MAC-adresser kan du använda kommandoradsverktyget fing
för att göra det. Det är vanligtvis inte installerat så du måste ladda ner det och installera det manuellt.
$ sudo fing 10.9.8.0/24
Använda ip
Om du tycker att du inte har kommandona arp
eller fing
kan du använd iproute2 ”s kommando ip neigh
för att se ditt systems ARP-tabell istället:
$ 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
Referenser
Kommentarer
Svar
Du kan använda kommandot arp
:
arp -an
Men du kan bara använda det här kommandot i LAN om du vill ta reda på MAC-adressen för valfri fjärrvärd, kanske måste du använda något verktyg för att fånga paketet som tcpdump
och analysera resultatet.
Kommentarer
-
tcpdump(8)
visar bara de lokala MAC: erna (dvs. MAC för routerns sista del). MAC-lagerhuvuden för inmatningspaket tas bort av routern och nya läggs till i det utgående paketet.
Svar
Detta kommer från min fråga och svar i askubuntu .
Du kan använda kommandot
sudo nmap -sP -PE -PA21,23,80,3389 192.168.1.*
nmap:
Nätverksutforskningsverktyg och säkerhets- / portavläsare. Från manualen:
-sP
(Hoppa över portavsökning). Det här alternativet säger till Nmap att inte göra en portavsökning efter värdupptäckt och endast skriva ut de tillgängliga värdarna som svarade på genomsökningen. Detta kallas ofta ”ping-scan”, men du kan också begära att traceroute- och NSE-värdskript körs. Detta är som standard ett steg mer påträngande än listavsökningen och kan ofta användas för samma ändamål. Det möjliggör lätt rekognosering av ett målnätverk utan att få mycket uppmärksamhet. Att veta hur många värdar som är uppe är mer värdefullt för angripare än listan som tillhandahålls genom listavsökning av varje enskild IP och värdnamn.
-PE; -PP; -PM (
ICMP Ping-typer). Förutom ovanliga TCP-, UDP- och SCTP-värdupptäcktstyper som diskuterats tidigare kan Nmap skicka standardpaket som skickas av det allestädes närvarande pingprogrammet. Nmap skickar ett ICMP-typ 8 (echo-förfrågan) -paket till IP-adresserna och förväntar sig typ 0 (ekosvar) i retur från tillgängliga värdar. krävs enligt RFC 1122 [2]. Av denna anledning är endast ICMP-skanningar sällan tillförlitliga mot okända mål via Internet. Men för systemadministratörer som övervakar ett internt nätverk kan de vara ett praktiskt och effektivt tillvägagångssätt. Använd alternativet -PE för att aktivera detta beteende för ekoförfrågan.
-A
(Aggressiva skanningsalternativ). Det här alternativet möjliggör ytterligare avancerade och aggressiva alternativ.
21,23,80,3389
Portar att söka igenom
192.168.1.*
IP-intervall. ersätt med din.
Kommentarer
- -sP är för " scanPing ", det är också -sn i aldrig versioner av nmap verkar det.
Svar
arping
arping -I <interface> -c 1 <host>
Kommandot ska returnera MAC-adressen i svaret. Något liknande,
$ 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
tillhandahålls av paketet iputils-arping
på Debian.
Kommentarer
-
arping
måste också informeras om vilket gränssnitt som ska användas, med-I
-alternativ. - Du kan använda arping -f för att avsluta efter det första svaret.
arp
utfasad? Hur kan jag göra detta medip
?ip
.ip neigh
fungerar oftast utan att behöva installera extra paket. Därför tycker jag att ' är det bästa svaret.