Netzwerk mit Arduino nach IP Adressen durchsuchen

Hallo an alle!

Gibt es eine Möglichkeit mit einem Arduino nano + Ethernet shield das Netzwerk in dem er sich befindet nach allen aktiven IP Adressen zu durchsuchen?
So ne art Broadcast bei dem sich jeder Netzteilnehmer mit seiner IP zurückmeldet.

Danke

Hi

Du willst mit dem Arduino Pingen - kA, ob Der Das kann - sollte sich dann aber in der benutzten Lib wiederfinden lassen.

MfG

Du könntest z.B. alle IP-Adressen Deines Netzwerkes versuchen mit Ping anzusprechen.

Gruß Tommy

postmaster-ino:
Hi

Du willst mit dem Arduino Pingen - kA, ob Der Das kann - sollte sich dann aber in der benutzten Lib wiederfinden lassen.

MfG

Mit der ICMPPing Lib müsste das funktionieren.

Tommy56:
Du könntest z.B. alle IP-Adressen Deines Netzwerkes versuchen mit Ping anzusprechen.

Gruß Tommy

Danke für die Bestätigung. An so etwas ähnliches hab ich auch schon gedacht.
Hoffe nur, sowas dauert nicht zu lange.
Aber da es nur zu Konfigurationszwecken verwendet wird, kann man auch mal ein paar Min ( ? ? ? ) in Kauf nehmen :slight_smile:

Hi

Wie lange dauert ein PING auf Deinem PC?
Warum sollte DAS auf dem Arduino länger dauern?

MfG

Hi

Nmap done: 256 IP addresses (11 hosts up) scanned in 3.06 seconds

Es muß also einen schnelleren Weg geben, denke aber, daß hier der PC mit wesentlich mehr Speicher eben einfach ALLE IPs 'gleichzeitig' anfragt - einige ms später sind dann 245 Timeouts aufgelaufen, der Rest hat geantwortet.

Kann man beim Arduino mehrere Netzwerk-'Dinger' erstellen, ähnlich Steppern in den entsprechenden Stepper-Libs?
Dann könnte man ja 2/4/8/.../256 dieser Instanzen erstellen, Alle pingen lassen und schauen, was zurück kommt.

MfG

Eine andere Lösungsmöglichkeit wäre die Nutzung der API des Routers zur Abfrage der angemeldeten IP.
Falls Du eine Fritzbox hast, die hat eine gut dokumentierte API.

Gruß Tommy

postmaster-ino:
Dann könnte man ja 2/4~~/8/.../256~~ dieses Instanzen erstellen

Wirf mal einen prüfenden Blick ins Datenblatt der Ethernetmodule.

Gruß Tommy

Die Windows-Firewall ignoriert Ping per Default. Hat mich mal Stunden gekostet ein Netzwerkproblem zu beheben.

Mach lieber ARP-Requests. Die können nicht ignoriert werden.

wenn sich wer daran probieren möchte, ich hänge ein Zip dazu.

Es kompiliert und läuft (bei mir im konkreten am MEGA, sollte aber auch am Nano laufen), aber wie gesagt, in einem kleinen Netzwerk mit wenigen Devices dauert es mehrere Minuten. Je mehr aktiv ist, desto schneller geht's.

Der Hack mit der IP in vier Oktetten sei mir verziehen, ich war faul und wollte Ziel-Netz und Device IP nicht doppelt schreiben ^^

Der Rest ist auf Basis PINGasync, die Delays hab ich auskommentiert.
Die Library wollte ich nicht installieren und musste für async ohnehin angepasst werden, daher ist sie lokal im Sketch-Verzeichnis (und ergo das Zip)

ICMPPing_async.zip (9.72 KB)