Gerätename des Windows 7-Netzwerkadapters mithilfe von WinPCap

Gerätename des Windows 7-Netzwerkadapters mithilfe von WinPCap

Ich versuche, WinPcap für eine Anwendung zu verwenden, die auf mehreren Servern in einer Produktionslinie verwendet werden soll. Was mich bisher ärgert, ist die Gerätebenennungskonvention von Windows 7, die aus einer langen Hex-Zeichenfolge besteht und sich von Server zu Server ändert (d. h. \Device\NPF_{6F2E340D-FD43-4505-81C2-735716D02F15}Linux macht dies einfacher, indem es nur die Konvention eth0, eth1, ... verwendet). Da jeder Server 5 Netzwerkadapter verwenden wird, möchte ich vermeiden, eine Konfigurationsdatei mit den Gerätenamen führen oder den Quellcode ändern zu müssen, um die Gerätenamenänderungen zu berücksichtigen. Darüber hinaus wird der Cat5-Anschluss an verschiedene Geräte in separaten Netzwerken gehen und die Portzuweisungen sollten pro Zeichnung immer gleich bleiben.

Meine Frage ist also, ob es eine einfache Möglichkeit gibt, diese Gerätenamen unter Windows zu verwalten, z. B. indem man sie einfach in der Registrierung umbenennen kann. Als ich in die Registrierung geschaut habe, wurde die Hex-Zeichenfolge in vielen Einträgen angezeigt und taucht auch in Ordnernamen auf, daher war ich mir nicht sicher, ob das Ändern mühsam wäre oder nicht. Oder gibt es vielleicht eine Möglichkeit, mit WinPcap den benutzerfreundlichen Namen eines Geräts abzurufen, den man über die Seite „Netzwerkverbindungen“ festlegen kann, und auf diese Weise das Ergebnis des Hex-Gerätenamens zu erhalten (ähnlich wie bei findalldev_ex()). Alle anderen Vorschläge sind ebenfalls willkommen.

PS: Ich weiß, dass ich bind() zum Binden an IP und Ports oder Winsock usw. verwenden kann, aber die Anwendungs- und Hardwareschnittstelle zu anderen Geräten ist kompliziert, da mehrere Netzwerkadapter die gleiche IP-Adresse haben müssen und dies in Windows zu Konflikten führt. Daher erzeugt die Winpcap-Option im Promiscuous-Modus ausschließlich Rohnachrichten.

Antwort1

Wie erhalte ich den „Verbindungsnamen“ einer Netzwerkverbindung?

Unter Windows getmackönnen damit sowohl der „Verbindungsname“ (Benutzername) als auch der „Transportname“ (GUID) abgerufen werden.

getmac /fo csv /v

Beispielausgabe:

"Connection Name","Network Adapter","Physical Address","Transport Name"
"Local Area Connection","Realtek PCIe GBE Family Controller","F0-BF-97-62-95-5D","\Device\Tcpip_{45B9E87F-83FB-4829-A751-6B62656CC1A8}"
"Wireless Network Connection","Atheros AR9285 Wireless Network Adapter","CC-AF-78-B2-4C-09","\Device\Tcpip_{B108BB0B-CCDC-4ACA-9DFE-5A2F17BC138D}"
"Bluetooth Network Connection","Bluetooth Device (Personal Area Network)","CC-AF-78-B2-4C-0A","Media disconnected"

Wie benenne ich eine Verbindung um?

netshkann zum Umbenennen einer Netzwerkverbindung verwendet werden.

netsh interface set interface name="Local Area Connection" newname="New Name"

Wie kann ich das alles automatisieren?

Sie können die obigen Befehle bei der Installation Ihres Produkts in einer Batchdatei verwenden, um automatisch eine benutzerdefinierte lokale Konfigurationsdatei zu erstellen.


Weitere Informationen

  • Ein AZ-Index der Windows CMD-Befehlszeile- Ein hervorragendes Nachschlagewerk zu allem, was mit der Windows-Eingabeaufforderung zu tun hat.
  • getmac- Zeigen Sie die Media Access Control (MAC)-Adresse und die Liste der mit jeder Adresse verknüpften Netzwerkprotokolle für alle Netzwerkkarten in jedem Computer an, entweder lokal oder über ein Netzwerk.
  • Netsh- Konfigurieren Sie Netzwerkschnittstellen, Windows-Firewall, Routing und Remotezugriff.

verwandte Informationen