[C] Linux MAC von Netzwerkrechnern ermitteln

OliverD

Grünschnabel
Hallo,

ich will ein Programm unter Linux schreiben, welches mir die MAC Adressen für alle aktiven Rechner im Netzwerk ausgibt.

Dieses wollte ich mit einem Arp Paket machen.

Muss ich da etwas besonderes beachten?

So wie ich das momentan sehe, muss ich zuerst mit einem ICMP Paket alle aktiven Rechner ermitteln, um dann mit der IP von denen das ARP Paket zu bauen, da man ja eine IP auf beim ARP Broadcast(ff:ff:ff:ff:ff:ff) setzen muss. :confused:

Gib es dort noch eine andere Lösung? Bedingung ist, das das Paket selbst zusammengesetzt wird.

Danke & Gruß,
Oliver
 
Hallo,

beim ARP Request muss ich doch die dest. IP angeben, oder? :confused:

Und ich darf keine IP Range verarbeiten :( deswegen dachte ich ich hol mir die über den ICMP Request.

Gruß,
Oliver
 
Hy!

Wie, du darfst keinen Range verarbeiten?
Ich würde einfach an alle möglichen IP Adressen ein ARP-Packet schicken, warum darfst du das nicht?

Du musst wie du schon gesagt hast eine Adresse, ( Target MAC) auf Broadcast setzen, und dann den ganzen IP-Range jeweils ein Packet schicken.
Du müsstest dies auch mit dem ICMP Packeten machen, würdest du sie verwenden.
Zweites Problem: bei ICMP musst du auch eine Ziel-IP Angeben, müsstest also wieder deinen IP-Range scannen. Für ein ICMP Packet brauchst du jedoch auch die MAC-Adresse des Zielrechners, also wieder vorher ein ARP. (bin mir jetzt nicht ganz sicher, schau morgen gleich mal nach)

mfg
uhu01
 
Zurück