ESP Netzwerk scannen (resolve MAC, Hostname, offene Ports, ...)

Ich würde gern (mit einem ESP8266) mein Netzwerk nach Devices scannen.
Ping von x.x.x.0 - .255 bringt mir mal alle aktiven IP-Adressen. Ist nicht besonders schnell aber das klappt.

Jetzt bräuchte ich noch zu jeder aktiven IP,

  • MAC-Adresse (damit ich auf den Hersteller komm)
  • Hostinfo/Hostname sofern vergeben
  • NETBIOS Info (sofern vorhanden)

Quasi Daten die ich auch mit AngryIP oder ähnlichen Windows Tools finde.

Dann hätt ich noch gern geprüft, obs auf dem Port 80 ein webinterface gibt. Soll ich da einfach eine Client-Anfrage machen und horchen, ob ich einen HTTP Header zurück bekomme, oder gibts da was einfacheres?

Wäre für Code-Schnippsel (oder auch Links) sehr dankbar.

AngryIP ist doch Open Source. Da kannst Du ja im Code schauen, wie die das gemacht haben.

Gruß Tommy

ich habe mich da nach längerer Zeit wieder mal rangesetzt.
Gefunden habe ich mDNS SD (multicast Domain Name Service Service Discovery).
Eigentlich für die die Namensauflösung, aber über das service discovery kommt man auch an die Hostnamen. Dazu gibt es auch das Beispiel ESP8266mDNS/mDNS-SD_Extended

Was ich bisher nicht wusste, dass das Arduino IDE OTA auch ein extra Service "_arduino" registriert.
Praktisch, damit findet nicht nur die Arduino IDE die offenen ESPs sondern auch ein mDNS Client der danach sucht :wink:

Man kann bei den ESP webservern das "_http" service manuell registrieren, dann macht es sogar wieder einen Sinn.

Hab dann mal etwas rumgespielt und hab nun meinen IoT Zoo mal Grafisch auf dem ESP8266:

Da mir das MDNS SD Ergebnis zu wenig war, mach ich auch einen Ping auf lokale IP Adressen, das dauert halt leider eine Viertelstunde bis das einmal durchgesucht ist. Das sind die Namenlosen Boxen nur mit P oder W.

Boxen mit W (Website) kann man anklicken und kommt dann auf das jeweilige Device.

Jo ..., ist halt mal so ein Versuch.
Mehr Text und Download *) am Ende der Seite falls wer weiterspielen möchte:
https://werner.rothschopf.net/microcontroller/202310_arduino_esp_netscanner_en.htm

*)Sketch sind die ino und 3 Tabs, ESP8266Ping Library muss man von Github installieren

3 Likes