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 

    fingtexempel

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

  • Jag vet att detta är ett gammalt svar, men har du någon inblick i hur Fing implementeras? Jag försöker lära mig mer om detta nätverkslager och verktygen för att övervaka det.
  • @akaphenom Om du har nya frågor, snälla vänligen fråga dem, kommentarer är ' t menade för det.
  • men är inte ' t arp utfasad? Hur kan jag göra detta med ip?
  • @ math2001 – det var inte ' för 5 år sedan, tillade jag ett exempel som visar hur du använder ip.
  • ip neigh fungerar oftast utan att behöva installera extra paket. Därför tycker jag att ' är det bästa svaret.

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.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *