Ik moet een bash-script schrijven waarin ik een bestand moet maken dat de details van de IP-adressen van de hosts bevat en hun mapping met bijbehorende MAC-adressen.
Is er een manier waarop ik het MAC-adres van een (externe) host kan achterhalen als het IP-adres van de host beschikbaar is?
Answer
Als u alleen het MAC-adres van een bepaald IP-adres wilt weten, kunt u het commando arp
om het op te zoeken, zodra u “het systeem 1 keer hebt gepingd.
Voorbeeld
$ 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
Zoek nu op in de ARP-tabel:
$ arp -a skinner.bubba.net (192.168.1.3) at 00:19:d1:e8:4c:95 [ether] on wlp3s0
fing
Als u het hele LAN wilt doorzoeken op MAC-adressen, kunt u de opdrachtregelhulpprogramma fing
om dit te doen. Het is meestal niet geïnstalleerd, dus u moet het downloaden en handmatig installeren.
$ sudo fing 10.9.8.0/24
Met ip
Als je merkt dat je de arp
of fing
commandos niet beschikbaar hebt, kun je gebruik iproute2 “s commando ip neigh
om de ARP-tabel van je systeem te zien in plaats daarvan:
$ 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
Referenties
Reacties
Answer
Je kunt arp
commando gebruiken:
arp -an
Maar je kunt dit commando alleen gebruiken in LAN, als je het MAC-adres van een externe host wilt achterhalen, moet je misschien een tool gebruiken om het pakket vast te leggen, zoals tcpdump
en het resultaat te parseren.
Opmerkingen
-
tcpdump(8)
zal je alleen de lokale MACs laten zien (dat wil zeggen, de MAC van de laatste leg router). De MAC-laag-headers van invoerpakketten worden door de router verwijderd en er worden nieuwe toegevoegd aan het uitgaande pakket.
Answer
Dit is van mijn vraag en antwoord in askubuntu .
Je kunt het commando
sudo nmap -sP -PE -PA21,23,80,3389 192.168.1.*
nmap:
Hulpprogramma voor netwerkverkenning en beveiligings- / poortscanner. Uit de handleiding:
-sP
(Poortscan overslaan). Deze optie vertelt Nmap om geen poortscan uit te voeren na hostdetectie en alleen de beschikbare hosts af te drukken die op de scan hebben gereageerd. Dit wordt vaak een “ping-scan” genoemd, maar u kunt ook verzoeken om traceroute- en NSE-hostscripts uit te voeren. Dit is standaard een stap indringender dan de lijstscan en kan vaak voor dezelfde doeleinden worden gebruikt. Het maakt een lichte verkenning van een doelnetwerk mogelijk zonder veel aandacht te trekken. Weten hoeveel hosts er zijn, is waardevoller voor aanvallers dan de lijst die wordt geboden door een lijstscan van elk IP-adres en elke hostnaam.
-PE; -PP; -PM (
ICMP-pingtypen). Naast de ongebruikelijke TCP-, UDP- en SCTP-hostontdekkingstypen die eerder zijn besproken, kan Nmap de standaardpakketten verzenden die door het alomtegenwoordige ping-programma worden verzonden. Nmap stuurt een ICMP type 8 (echo request) pakket naar de doel IP-adressen, in afwachting van een type 0 (echo antwoord) in ruil voor beschikbare hosts. Helaas voor netwerkverkenners blokkeren veel hosts en firewalls deze pakketten nu in plaats van te reageren als vereist door RFC 1122 [2]. Om deze reden zijn scans met alleen ICMP zelden betrouwbaar genoeg voor onbekende doelen via internet. Maar voor systeembeheerders die een intern netwerk bewaken, kunnen ze een praktische en efficiënte aanpak zijn. Gebruik de optie -PE om dit gedrag van echoverzoeken in te schakelen.
-A
(Agressieve scanopties). Deze optie maakt aanvullende geavanceerde en agressieve opties mogelijk.
21,23,80,3389
Poorten om doorheen te zoeken
192.168.1.*
Bereik van IP-adressen. vervang door de jouwe.
Reacties
- -sP is voor ” scanPing “, het lijkt ook -sn in nooit-versies van nmap.
Answer
arping
arping -I <interface> -c 1 <host>
De opdracht moet het MAC-adres in het antwoord retourneren. Zoiets als
$ 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
wordt geleverd door pakket iputils-arping
op Debian.
Opmerkingen
-
arping
moet ook worden verteld welke interface moet worden gebruikt, met de-I
optie. - Je kunt arping -f gebruiken om te stoppen na het eerste antwoord.
arp
verouderd? Hoe kan ik dit doen metip
?ip
.ip neigh
werkt meestal zonder extra pakketten te hoeven installeren. Daarom denk ik dat ‘ het beste antwoord is.