Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Virtuelle Netzwerk Adapter erkennen (https://www.delphipraxis.net/195121-virtuelle-netzwerk-adapter-erkennen.html)

tomkupitz 3. Feb 2018 21:12

Virtuelle Netzwerk Adapter erkennen
 
Hallo,

ich möchte alle Netzwerkadapter auflisten und dabei unterscheiden ob diese virtuell oder physisch sind.
Welche Möglichkeiten gibt es dafür?

Danke und beste Grüße

Ghostwalker 5. Feb 2018 10:42

AW: Virtuelle Netzwerk Adapter erkennen
 
Spontan fällt mir hier nur das Stichwort WMI ein. Darüber sollte sich rausfinden lassen welche Netzwerkadapter vorhanden sind, und ob sie virtuell oder physisch sind (zumindest unter Windows).

Der schöne Günther 5. Feb 2018 10:47

AW: Virtuelle Netzwerk Adapter erkennen
 
Gibt es komfortable Einbindungen von PowerShell in Delphi? Mit PowerShell wäre das einfach nur
Code:
Get-NetAdapter | Where -Property HardwareInterface -eq $true
PS: Ich sehe grade
Delphi-Quellcode:
Get-NetAdapter
geht im Endeffekt auch nur über WMI. Aber trotzdem.

Rollo62 5. Feb 2018 11:00

AW: Virtuelle Netzwerk Adapter erkennen
 
Hab es gerade mal probiert.
Also aus meiner VM heraus werden nur Physische zurückgegeben.

Zitat:

--> Get-NetAdapter -Name "*" -Physical
Ethernet0 Intel(R) 82574L Gigabit Network Conn... 14 Up 00-0C-29-37-8E-8D 1 Gbps
<--

Name InterfaceDescription ifIndex Status MacAddress LinkSpeed
---- -------------------- ------- ------ ---------- ---------
LAN-Verbindung* 5 WAN Miniport (L2TP) 9 Disconnected 0 bps
LAN-Verbindung* 9 WAN Miniport (IPv6) 11 Up 0 bps
LAN-Verbindung* 3 WAN Miniport (SSTP) 12 Disconnected 0 bps
LAN-Verbindung* 8 WAN Miniport (IP) 4 Up 0 bps
LAN-Verbindung* 10 WAN Miniport (Network Monitor) 10 Up 0 bps
Ethernet0 Intel(R) 82574L Gigabit Network Conn... 14 Up 00-0C-29-37-8E-8D 1 Gbps
LAN-Verbindung* 1 Microsoft Kernel Debug Network Adapter 8 Not Present 0 bps
LAN-Verbindung* 4 WAN Miniport (IKEv2) 6 Disconnected 0 bps
LAN-Verbindung* 6 WAN Miniport (PPTP) 2 Disconnected 0 bps
Teredo Tunneling Pseud... Teredo Tunneling Pseudo-Interface 5 Up 00-00-00-00-00... 100 Kbps
LAN-Verbindung* 7 WAN Miniport (PPPOE) 7 Disconnected 0 bps
Bluetooth-Netzwerkverb... Bluetooth Device (Personal Area Netw... 13 Disconnected C8-E0-EB-15-28-B0 3 Mbps
LAN-Verbindung* 2 Bluetooth Device (RFCOMM Protocol TDI) 3 Not Present 0 bps
Innerhalb der VM kann ich so nicht erkennen ob es virtuell ist.

Von ausserhalb der VM wird das wohl funktionieren.

Rollo

himitsu 5. Feb 2018 11:15

AW: Virtuelle Netzwerk Adapter erkennen
 
Weil dort die "Hardware" emuliert wird?

Dort läuft alles über die Netzwerkschnittstelle, also muß das Netzwerk auch für das emulierte System wie echt sein.

Stevie 5. Feb 2018 12:35

AW: Virtuelle Netzwerk Adapter erkennen
 
Zitat:

Zitat von Rollo62 (Beitrag 1393102)
Hab es gerade mal probiert.
Also aus meiner VM heraus werden nur Physische zurückgegeben.

Logisch, weil die innerhalb der VM ja auch nicht virtuell sind - siehe Himis Antwort.
Wenn du aber mal auf dem Host mit $false abfragst, siehst du, dass dort dann die von VMWare o.ä. angelegten Adapter auftauchen.

Rollo62 5. Feb 2018 18:19

AW: Virtuelle Netzwerk Adapter erkennen
 
Ich hatte ja auch nicht viel anderes erwartet.

Aber hätte ja sein können das man irgendwie erkennen könnte woher was kommt :stupid:

Es könnte ja jemand mal das Gleiche von aussen auf die VM machen, da müsste dann aber was entsprechendes rauskommen.
Habe gerade keinen passenden Windows Host zur Hand ...

himitsu 5. Feb 2018 20:20

AW: Virtuelle Netzwerk Adapter erkennen
 
Ich glaube, dass "HardwareInterface" eine Eigenschaft ist, die der Treiber sagt/behauptet und die nicht das OS bestimmt.

Wenn, dann hieße es, dass ein virtueller Treiber auch behaupten könnte er wäre mit einer physischen Hartwareschnittstelle verbunden.
Und andersrum könnte ein "fehlerhadter" Treiber diesen Boolean falsch setzen und schon sähe er ausversehn wie ein Virtueller aus, obwohl er mit einer Hardware spricht.

Nja, und in der VM denkt ja der Standardtreiber vom Windows, dass er mit einer echten Netzwerkkarte spricht und weiß es demnach nicht besser.

Rollo62 6. Feb 2018 07:09

AW: Virtuelle Netzwerk Adapter erkennen
 
Der TE wollte ja die virtuellen Interfaces auflisten,
leider ist mir nicht klar ob von "drinnen" oder von "draussen".

Ich denke das Probloem wird eher von innen sein, s.u., denn von draussen sind die Interfaces ja meist schon mit VmWare... o.ä. kenntlich gemacht.

Du hast Recht, egal wie, ein falscher Treiber könnte das Flag sicher auch faken.
Die Frage wäre ja: Wie sicher und wozu will man das Erkennen.

Es gäbe auch die Möglichkeit ein IsVmware() zu machen, um festzustellen ob drin oder draussen.

Rollo

Towmuz 6. Feb 2018 09:50

AW: Virtuelle Netzwerk Adapter erkennen
 
Alle Physischen
Code:
SELECT * FROM Win32_NetworkAdapter WHERE Manufacturer != 'Microsoft' AND NOT PNPDeviceID LIKE 'ROOT\\%'
Alle Virtuellen
Code:
SELECT * FROM Win32_NetworkAdapter WHERE NOT PNPDeviceID LIKE 'PCI\\%'
Funktionierte hier auf verschiedenen Maschinen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:57 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz