Ip-Adresse und zugehörige Hardwareadresse
-
Ein Ansatz bitte zu dieser Frage:
Wie ist es möglich die zu der Ip-Adresse gehörige Hardwareadresse im Netzwerk zu ermitteln, wie es das Konsolenprogramm arp -a tut?
-
ARP ist ein eigenes Protokoll (Adress Resolution Protocol)
Das ARP Protokoll ist neben vielen anderen sehr elementar für Netzwerke.
Hier werden IP-Adressen in so genannte Mac-Adressen umgewandelt. Dadurch werden Datenübertragungen in einem lokalen Segment ermöglicht.
Sobald zwei Rechner in einem lokalen physischen Netzwerksegment miteinander kommunizieren wollen,
tritt das ARP Protokoll auf. Das ARP Protokoll ist also bei jeder, wie immer gearteten Verbindung, auch wenn nur UDP-Pakete verschickt werden, in Aktion.
Das ARP Protokoll arbeitet auf der Netzwerkschicht des OSI Schichtenmodells und wird in dem RFC 826 definiert.
ARP-Pakete beinhalten verschiedene Felder, wobei nur fünf davon genutzt werden, um das Grundprinzip von ARP zu ermöglichen:
Die Hardware-Adresse des Senders,
die IP-Adresse des Senders,
die Hardware-Adresse des Empfängers,
die IP-Adresse des Senders sowie ein Feld
"Option Code", um Anfragen und Antworten zu unterscheiden.
Wenn ein Device eine Anfrage stellt, füllt es drei dieser Felder aus. Das leerstehende, (die Hardware- Adresse des Empfängers), besteht bei dieser Art des Paketes nur aus Nullen.ARP Cache
Sobald das System des Senders die Hardware-Adresse des anderen Rechnern erhalten hat, wird sie lokal zwischengespeichert.
Dies dient dem Vorbeugen von erneuten Anfragen, wenn IP wiederum Daten an dasselbe System senden möchte. Sobald dieser Fall eintritt, verwendet ARP nur die Daten aus dem lokalen Speicher.
Bei einer Anfrage sehen alle Empfänger die Hardware-Adresse des Senders. Die Systeme können hierbei vor dem Löschen des Datenpakets (welches nicht für sie direkt bestimmt ist) die IP-Adresse mit zugehöriger ARP-Adresse in ihrem lokalen Cache-Speicher sichern.
Dies könnte auch das Löschen von anderen Einträgen aus Platzmangel hervorrufen. Aus diesem Grund werden nur bereits eingetragene Hardware-Adressen aktualisiert, falls dies notwendig ist.
Reverse ARPDas Reverse Resolution Protocol ist das Gegenstück zum ARP. Es leistet die Umsetzung von physikalischen Adressen in Internet-Adressen. Ein Rechner hat somit die Möglichkeit seine Internet-Adresse von einem Server zu holen. Dazu sendet der Rechner ein Broadcast-RARP-Paket. Diese Nachricht wird wiederum von allen Rechnern im Netzwerk empfangen, kann aber nur von einem speziellen RARP-Server weiterverarbeitet werden. Dieser Server besitzt eine Tabelle mit Paaren aus physikalischer und Internet-Adresse.
Enthält die Tabelle die empfangene physikalische Adresse, wird die Internet-Adresse an die Quelle des Broadcast zurückgesendet.
Dieses Verfahren eignet sich z.B. für plattenlose Rechner, die Ihre Internet-Adresse nicht lokal in einer Konfigurationsdatei speichern können. Das RARP-Verfahren ist auch eine Möglichkeit, um bei Rechnern das ändern der Internet-Adresse zu verhindern, da diese ja nirgendwo auf dem Rechner hinterlegt ist.
-
Ich habe in der MSDN eine Bibliothek gefunden, die direktes MAC auslesen gestattet. Allerdings steht dort auch, das sie "preliminary" ist und es gibt keine Dateien diesen Namens auf meinem Rechner. Gibt es irgendwo eine Adresse, wo ich mir diese Datei mit der Bibliothek einzeln runterladen kann, denn für einen zusätzlichen SDK bräuchte ich mit meinen Modem sicher 1 Monat oder länger

-
Kann mir jemand diese Dateien ( IpHlpApi.h, IpHlpApi.lib ) zuschicken?
EMail: Beowulf-23@gmx.net
Danke schonmal im voraus für jede Einsendung.
-
hallo
bin heute zufaellig ueber ein programm gestossen, das scheinbar das mit der MAC addy schafft:
http://gspoof.sourceforge.net/
is auch source dabei:
Auszug von der HP:
Features:
Ethernet header manipulation:
- interface
- source and destination mac addresses
- ethernet type (ip or loopback)Meep Meep
-
Ich hab die Files erhalten.
Ein dickes Danke an "Nachtschatten"!
Ich hab das Prob allerdings mittlerweile mit GetProcAddress und Funktionszeigern gelöst.
Allerdings werden die Dateien in Zukunft sicher den Quellcode leichter verdtändlich machen.