Hi ...
ich kann ja bekanntlich alle NIC's auslesen, ich möchte aber wissen, über welchen aktuell der Traffic ins Internet läuft. Mit nur einem aktiven Interface einfach, nur eines Up und Default Gateway gesetzt ...
Aber wenn ich nun ein aktives WLan habe und gleichzeitig mit einem Kabel irgendwo angeschlossen bin (und zum Beispiel auf diesem Interface auch ein GW eingetragen ist, warum auch immer), übers Kabel jedoch kein Internet vorhanden ist - wie kann ich das ganze herausfinden was wo ist ...)
Hintergrund - ich möchte dann eben das interface das nur Lokal ist entsprechend umkonfigurieren. Mach ich das aber beim falschen ist natürlich das Internet weg 🙂
Vielleicht hats ja jemand verstanden 🙂
Gruss
nekron
Das Problem ist: das weiß das NIC selbst nicht.
Es gibt kein "spezielles Internet Flag" - ein NIC hat entweder ein Netzwerk, oder nicht. Dafür gibts dann eben https://docs.microsoft.com/de-de/dotnet/api/system.net.networkinformation.networkinterface.getisnetworkavailable?view=net-6.0
Für das NIC sind aber alle Netzwerke gleich.
Was Du machen musst ist rauszufinden, welches NIC ist denn mit dem Internet geroutet.
Für Heim-Geräte ist das noch relativ einfach umzusetzen; in Firmen-Netzwerken sieht das ganz anders aus.
Da nutzt man am besten einfach https://docs.microsoft.com/en-us/windows/win32/api/iphlpapi/nf-iphlpapi-getbestinterface
Das Interface nimmt auch Windows, um das Internet-fähige NIC zu testen - wobei die Zieladresse eben eine Microsoft-IP ist.
Ein Gateway am NIC ist aber üblich, sonst wirds mit dem Routing schwer.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code