Seite 1 von 1

Netzwerke und Clients auflisten

Verfasst: Samstag 17. Mai 2014, 09:52
von Herb
Hallo,

ich suche gerade nach einer einfachen Möglichkeit alle im Ntzwerk befindlichen Rechner bzw. deren IP zu listen. Ist man beispielsweise noch nicht mit einem WLAN verbunden sollen, wie bei einem Smartphone, alle verfügbaren Netzwerke gelistet werden.

Mein erster Ansatz war es IP's in einem loop mit os.system() an zu pingen. Diese Lösung ist ziemlich naiv, ineffektive und löst auch nicht mein ganzes Problem.

Da ich recht zeitnah eine Lösung brauche dachte ich, ich frage schnell mal hier :)

Re: Netzwerke und Clients auflisten

Verfasst: Samstag 17. Mai 2014, 10:14
von BlackJack
@Herb: Statt `os.system()` sollte man besser das `subprocess`-Modul verwenden. Und statt ``ping`` etwas das effizienter, nämlich parallel mehrere Adressen prüft. Zum Beispiel ``fping``. Oder am besten gleich den Klassiker ``nmap``. Dafür gibt es auch ein Python-Modul das einem den Aufruf abnimmt, die Ausgabe auf XML umstellt und das dann auch noch in eine Python-Datenstruktur parst. Da kann man dann nach dem Scannen mit der `get_all_hosts()`-Methode ganz einfach die IPs abfragen.

Re: Netzwerke und Clients auflisten

Verfasst: Samstag 17. Mai 2014, 11:28
von Herb
PS: es sollte sowohl unter OSX als auch unter Windows funktionieren

Re: Netzwerke und Clients auflisten

Verfasst: Samstag 17. Mai 2014, 11:38
von BlackJack
@Herb: Dann muss man dort eben ``nmap`` installieren. :-)

Ansonsten würde als Minimallösung ja nur `subprocess`, ``ping``, und `threading` übrig bleiben, um selber parallel Pings absetzen zu können.