0
votes

Existe-t-il une API ou des drapeaux dans QT pour vérifier l'interface / ports réseau physiques disponibles sur Windows / Linux / Mac OS?

J'essaie d'obtenir une adresse MAC pour tous les ports physiques disponibles sur mon ordinateur portable pour Windows / Linux / Mac OS. Je veux aussi vérifier si je peux détecter la connexion physique / la déconnexion du câble réseau.

J'ai essayé d'utiliser des API QNetworkInterface, mais cela me fournit toutes les interfaces physiques et logiques. Je suis incapable d'obtenir comment je peux différencier les ports physiques. Avons-nous des drapeaux pour le faire?

J'ai essayé du code xxx

suivi est le résultat de l'interface réseau, du nom, du type et de l'adresse matérielle de mon Mac

(ISUP | ISRUNNING | CANBRODODCAST | CANMULTRICAST) "EN0" QNetworkInterface :: wifi "xx: xx: xx: xx: xx: xx"
(ISUP | ISRUNNING | CANBRODODCAST | CANMulticast) "P2P0" QNetworkInterface :: wifi "xx: xx: xx: xx: xx: xx"
(ISUP | ISRUNNING | CANBRODFAST | CANMULTRICAST) "AWDL0" QNetworkInterface :: wifi "xx: xx: xx: xx: xx: xx"
(ISUP | ISRUNNING | CANBRODODCAST | CANMULTICAST) "EN1" QNetworkInterface :: Ethernet "XX: XX: XX: XX: XX: XX"
(ISUP | ISRUNNING | CANBRODLAST | CANMULTRICAST) "EN2" QNetworkInterface :: Ethernet "xx: xx: xx: xx: xx: xx"
(ISUP | ISRUNNING | CANBRODODCAST | CANMULTRICAST) "Bridge0" QNetWorkInterface :: Unknown "xx: xx: xx: xx: xx: xx"

ps: "xx: xx: xx: xx: xx: xx "Est-ce que leur adresse MAC


0 commentaires

3 Réponses :



0
votes

1 commentaires

Il comprend uniquement des adaptateurs d'hôte virtuels également en tant que type Ethernet.



0
votes

J'ai une solution. Après avoir fait beaucoup d'analyse, je suis à la conclusion que QT ne peut pas obtenir de détails plus profonds du système d'exploitation. Nous devons toucher la couche d'OS pour atteindre la même chose.

  1. pour Windows - LI> OL>
    File *fp = popen("lshw -class network | grep -A 1 \"bus info\" | grep name | awk -F': ' '{print $2}'", "r");
    


0 commentaires