Rechnernamen im lokalen Netzwerk

Für Fragen von Einsteigern und Programmieranfängern...
Solino
Beiträge: 11
Registriert: Do 27. Feb 2014, 13:18

Re: Rechnernamen im lokalen Netzwerk

Beitrag von Solino »

Ist das vielleicht kompliziert. Also das Programm soll auf einem PC laufen und schauen welche IP-Adressen in einem lokalen Netzwerk vorhanden sind und zusätzlich die zu den IP-Adressen zugehörigen Rechnernamen ermitteln. Ist es jetzt genau genug definiert? ;-)

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Rechnernamen im lokalen Netzwerk

Beitrag von Christian »

Du hast deine Antwort schon 3x die heisst du musst ARP Anfragen ins Netzwerk schicken dann melden sich Windows Clients. Die meissten anderen Rechner werden warscheinlich auf ARP Anfragen nicht antworten.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Solino
Beiträge: 11
Registriert: Do 27. Feb 2014, 13:18

Re: Rechnernamen im lokalen Netzwerk

Beitrag von Solino »

Danke für die Antworten. Hat zufällig jemand ein Quellcodebeispiel für diese "ARP-Anfragen"?

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2805
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Rechnernamen im lokalen Netzwerk

Beitrag von m.fuchs »

Du könntest dir dieses Tool mal ansehen: http://yana.sourceforge.net/ Da sollte entsprechender Code drin sein.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Rechnernamen im lokalen Netzwerk

Beitrag von mschnell »

Christian hat geschrieben: Die meissten anderen Rechner werden warscheinlich auf ARP Anfragen nicht antworten.
???
Auf einen ARP-Request " welche Ethernet-MAC-Adresse hat der Knoten mit der IP-Adresse xxx ? " muss jeder Knoten antworten. Sonst ist er per IP nicht erreichbar.

Das macht die IP-Schicht des Systems automatisch wenn es eine Ziel-IP-Adresse nicht im ARP-Cache des Sendenden Knotens findet. und schreibt das Ergebnis in den ARP-Cache (woraus es nach endlicher Zeit automatisch wieder verschwindet).

Mir ist allerdings nicht klar, ob ein User-Programm so ohne weiteres den ARP-Cache auslesen kann.

-Michael

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6766
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Rechnernamen im lokalen Netzwerk

Beitrag von af0815 »

Unter Windows auf der Kommandozeile:

Code: Alles auswählen

arp -a
und man sieht den arp cache
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

MacWomble
Lazarusforum e. V.
Beiträge: 999
Registriert: Do 17. Apr 2008, 01:59
OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
CPU-Target: Intel i7-10750 64Bit
Wohnort: Freiburg

Re: Rechnernamen im lokalen Netzwerk

Beitrag von MacWomble »

mschnell hat geschrieben:
Christian hat geschrieben: Die meissten anderen Rechner werden warscheinlich auf ARP Anfragen nicht antworten.
???
Auf einen ARP-Request " welche Ethernet-MAC-Adresse hat der Knoten mit der IP-Adresse xxx ? " muss jeder Knoten antworten. Sonst ist er per IP nicht erreichbar.
-Michael

arp zeigt bei mir jedenfalls nicht alle Netzknoten an. Nicht einmal der Router, an dem ich angemeldet bin wird gelistet.

(Ubuntu 14.04, Cisco-Router mit fester IP hinter einer Fritz!Box mit DHCP)
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Rechnernamen im lokalen Netzwerk

Beitrag von mschnell »

MacWomble hat geschrieben:arp zeigt bei mir jedenfalls nicht alle Netzknoten an. Nicht einmal der Router, an dem ich angemeldet bin wird gelistet. (Ubuntu 14.04, Cisco-Router mit fester IP hinter einer Fritz!Box mit DHCP)
Es gibt divers verschieden "ARP" Funktionen.

Üblicher Weise verwenden User-Programme das nicht.

Den ARP-Cache kannst Du sehen mit: "arp -a" (aber nur als suervisor).
Die Einträge verschwinden aber ziemlich flott von selbst wieder.

Ich bin mir aber ziemlich sicher, dass das Abschicken eines IP-Paketes an einen Knoten mit derselben Netzwerk-Adresse (entsprechend der Netmask, sonst geht das Paket den IP- Router) in einem Ethernet-Netzwerk nur geht, wenn die IP-Adresse im ARP-Cache steht. Falls nicht, wird sie mit einem ARP-Broadcast erfragt und dort eingetragen.

-Michael
Zuletzt geändert von mschnell am Mi 25. Jun 2014, 10:02, insgesamt 1-mal geändert.

Socke
Lazarusforum e. V.
Beiträge: 3177
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Rechnernamen im lokalen Netzwerk

Beitrag von Socke »

MacWomble hat geschrieben:
mschnell hat geschrieben:
Christian hat geschrieben: Die meissten anderen Rechner werden warscheinlich auf ARP Anfragen nicht antworten.
???
Auf einen ARP-Request " welche Ethernet-MAC-Adresse hat der Knoten mit der IP-Adresse xxx ? " muss jeder Knoten antworten. Sonst ist er per IP nicht erreichbar.
-Michael

arp zeigt bei mir jedenfalls nicht alle Netzknoten an. Nicht einmal der Router, an dem ich angemeldet bin wird gelistet.

(Ubuntu 14.04, Cisco-Router mit fester IP hinter einer Fritz!Box mit DHCP)
Über ARP wird festgestellt, welche IP-Adresse zu welcher MAC-Adresse der Netzwerkkarte gehört. Das heißt: alles was hinter dem ersten Router von dem abfragenden Computer aus steht, kann nicht gesehen werden.
Wenn deine Netzwerke so aussieht Internet <-> Router <-> Fritz!Box <-> PC hast du zwei lokale Netzwerke.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

MacWomble
Lazarusforum e. V.
Beiträge: 999
Registriert: Do 17. Apr 2008, 01:59
OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
CPU-Target: Intel i7-10750 64Bit
Wohnort: Freiburg

Re: Rechnernamen im lokalen Netzwerk

Beitrag von MacWomble »

Nein, die Konstellation ist

PC - Router - Fritzbox - Internet

und ich sehe die Fritzbox aber nicht den Router
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Rechnernamen im lokalen Netzwerk

Beitrag von mschnell »

Ist der "Router" vielleicht ein Switch ?

IP-Adressen hinter einem Router haben eine andere Netzwerk-Kennung (sind also nicht "lokal"). Diese kommen nicht in den ARP-Cache.

-Michael

Antworten