Laden...

Mac-, Id-Adressen aller Geräte im Netzwerk scannen

Erstellt von Pro2013 vor 5 Jahren Letzter Beitrag vor 5 Jahren 2.300 Views
P
Pro2013 Themenstarter:in
2 Beiträge seit 2019
vor 5 Jahren
Mac-, Id-Adressen aller Geräte im Netzwerk scannen

Hallo

Ich möchte von allen ans Netzwerk angeschlossenen Geräten die Mac-Adresse und wenn möglich auch die IP-Adresse auslesen, auch wenn der Netzteil (Subnetmask) unterschiedlich ist.
Das es Möglich sein muss, die Adressen auszulesen, zeigt beispielsweise Siemens - dort können alle Komponenten von Siemens <1min aufgelistet werden, auch wenn diese einen völlig anderen Adressbereich aufweisen.
Mein erster Versuch mit Pingen, dauert einfach viel zu lang. Auch stundenlange Recherche brachte mich nicht weiter. (arp, nmap, usw. )
In c# habe ich es bisher nur geschafft, die IP-Adresse meiner Netzwerkkarten auszulesen.

Gibt es mit c# eine Möglichkeit das Netzwerk zu scannen?

Bin für jede Hilfe dankbar, mfg Pro

H
38 Beiträge seit 2019
vor 5 Jahren

Ich denke mit dem Pingen liegst du richtig nimm am besten die Ping klasse (hast du wars. eh schon)
wenn du dann noch bisl an den Einstellungen fummest solte das hinnhauen

Ich hab so nen IP-Scanner auch mal geschrieben
(kann den code ja mal aus meinen Dateien heraussuchen)

Mit mehreren Threads und ein paar Ping settings solte das ganze in unter 1 min gut zu machen sein

T
2.219 Beiträge seit 2008
vor 5 Jahren

Anstelle von threads solltest du aber Tasks nehmen.
Wäre jetzt auch die einfachste Lösung sowas umzusetzen.

Hier auch gleich der Link zur Doku, sieht an sich recht einfach gestrikt aus.
Dürfte also kaum ein Aufwand werden, damit die Funktion entsprechend umzusetzen.

Link:
https://docs.microsoft.com/de-de/dotnet/api/system.net.networkinformation.ping?view=netframework-4.7.2

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

P
Pro2013 Themenstarter:in
2 Beiträge seit 2019
vor 5 Jahren

Hallo

Danke für die Infos, das hat mich um einiges weitergebracht.
Der normale Ping dauert einfach zu lange, aber es gibt auch den asynchronen Ping, dieser liefert sehr schnell eine Rückmeldung von angeschlossenen Teilnehmern.

Nun erhalte ich aber auch Rückmeldungen von den anderen Netzwerkkarte - gibt es die Möglichkeit den Ping nur auf einer bestimmten Netzwerkkarte auszuführen?

Danke im Voraus, mfg

T
2.219 Beiträge seit 2008
vor 5 Jahren

Im einfachsten Fall musst du die Netzwerkkarten des Rechners auflisten und die IPs dann beim pingen ausnehmen.

Link:
https://docs.microsoft.com/de-de/dotnet/api/system.net.networkinformation.networkinterface.getallnetworkinterfaces?view=netframework-4.7.2

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.