Alle IP-Addressen eines WLANs

Alle Fragen zur Netzwerkkommunikation
Antworten
FF_Programmierer
Beiträge: 19
Registriert: Di 30. Apr 2019, 14:43
OS, Lazarus, FPC: Windows 10, Lazarus 2.0.2, FPC 3.0.4
CPU-Target: 64Bit
Wohnort: Nordhessen

Alle IP-Addressen eines WLANs

Beitrag von FF_Programmierer »

Hallo,
weiß vielleicht jemand wie man alle IP-Addressen von allen Geräten die mit einem WLAN verbunden sind in z.B. einer StringListe bekommt?
Ich will Dateien in einem WLAN austauschen, mit anderen Computern die auch die App besitzen. Und dann muss man natürlich auch wählen können, an welchen Computer es gehen soll.

Schon mal vielen Danke im Voraus,

Finn
Windows 10, 64bit, Lazarus 2.0.2, Fpc 3.0.4

Timm Thaler
Beiträge: 1078
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Alle IP-Addressen eines WLANs

Beitrag von Timm Thaler »

1. Du fragst deinen Router. Musst du halt schauen, wie der Router die Daten rausgibt, und du brauchst dafür das Admin-Passwort des Routers. Da das bei jedem Router anders ist, wenig praktikabel.

2. Du klapperst alle IP-Adressen des Intranets ab und versuchst auf einem bestimmten Port mit der gegnerischen App zu verbinden. Einer von beiden muss dann Client, einer Server sein. Könnte aber bei IPv6 schwierig werden.

3. Du hast einen dedizierten Server stehen, bei dem sich jede App meldet und die IP das Gerätes auf dem sie läuft übermittelt. Die andere App fragt diese ab und verbindet sich dann auf diese IP. So machen das die Chinesen mit ihren IOT Geräten. Geht halt nur solange der Server aktiv ist.

Sonst noch Ideen?

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

Re: Alle IP-Addressen eines WLANs

Beitrag von MacWomble »

Der Tipp 3 von Timm ist eigentlich recht gut. Irgendwo muss halt eine zentrale Anwendung laufen. Nur wer sich dort gemeldet hat, darf Dateien empfangen und auch senden.
Alles andere wie IP-Adressen scannen etc. birgt unvorhersehbare Risiken - auch rechtlich !
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.

Warf
Beiträge: 1474
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: MacOS | Win 10 | Linux
CPU-Target: x86_64
Wohnort: Aachen

Re: Alle IP-Addressen eines WLANs

Beitrag von Warf »

Das was du suchst nennt sich Broadcast. Bei Lokalen IP Netzwerken ist die .255 die Broadcast IP addresse. Der server lauscht also auf eingehende verbindungen (UDP). Wenn jetzt eine Anwendung sucht, sendet sie ein UDP datagram an die Broadcast IP (angenommen das Netz ist 192.168.178.0, mit der Subnetzmaske 255.255.255.0) 192.168.178.255, dann bekommt jeder im Netzwerk diese Anfrage. Die apps antworten dann über UDP mit einem Acknowledgement zu dem sender der Broadcast message.

Hier hab ich ein Linux beispiel gefunden: Link Ist zwar C, sollte aber auch ganz einfach mit Pascal gehen. Eventuell kann die ssockets unit das bereits. Indy kanns auf jeden fall und Synapse wahrscheinlich auch.

Die Sachen die Timm vorgeschlagen hat gehen zwar theoretisch auch, 1 und 2 sind aber extrem unpraktikabel und 3 benötigt extra hardware. Wenn du allerdings das Lokale netzwerk verlässt, und z.B. Über das Internet agierst, kannst du natürlich keinen Broadcast senden (aus offensichtlichen Gründen möchte man nicht das man mal eben jeden rechner auf der Welt anpingen kann), dann ist so ein Registryserver unvermeidlich. Im lokalennetzwerk ist Broadcast aber genau dafür gemacht

FF_Programmierer
Beiträge: 19
Registriert: Di 30. Apr 2019, 14:43
OS, Lazarus, FPC: Windows 10, Lazarus 2.0.2, FPC 3.0.4
CPU-Target: 64Bit
Wohnort: Nordhessen

Re: Alle IP-Addressen eines WLANs

Beitrag von FF_Programmierer »

Hallo,
und vielen Dank, muss ich mal ausprobieren, hab jetzt aber erst noch was anderes zu tun.

Finn
Windows 10, 64bit, Lazarus 2.0.2, Fpc 3.0.4

Antworten