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
Alle IP-Addressen eines WLANs
-
- 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
Windows 10, 64bit, Lazarus 2.0.2, Fpc 3.0.4
-
- Beiträge: 1224
- 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
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?
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?
-
- 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: Alle IP-Addressen eines WLANs
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 !
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.
-
- Beiträge: 2118
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Alle IP-Addressen eines WLANs
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
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
-
- 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
Hallo,
und vielen Dank, muss ich mal ausprobieren, hab jetzt aber erst noch was anderes zu tun.
Finn
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