本地网络接口信息获取

QString localHostName=QHostInfo::localHostName();//主机名

    QHostInfo hostInfo=QHostInfo::fromName(localHostName);

    QList<QHostAddress>listAddress=hostInfo.addresses();//获取本地所有的IP;

QString IP= listAddress.at(1).toString();//打印本地第一个获取到的IP,下标0是IPV6地址,1往后都是IPV4地址

   

    QString detail="";

    QList<QNetworkInterface>list=QNetworkInterface::allInterfaces();

    for(int i=0;i<list.count();i++)

    {

        QNetworkInterface m_interface=list.at(i);

        detail=m_interface.name();//获取网络接口的名称

        qDebug()<<"设备"<<detail;

        detail=m_interface.hardwareAddress();//获取网络接口的硬件地址

        qDebug()<<"硬件地址"<<detail;

        QList<QNetworkAddressEntry>entryList=m_interface.addressEntries();

        for(int j=1;j<entryList.count();j++)

        {

            QNetworkAddressEntry entry=entryList.at(j);

            detail=entry.ip().toString();

            qDebug()<<"ip"<<detail;//IP地址

            detail=entry.netmask().toString();

            qDebug()<<"netmask"<<detail;//子网掩码

            detail=entry.broadcast().toString();

            qDebug()<<"broadcast"<<detail;//广播地址

        }

   

发布了104 篇原创文章 · 获赞 22 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_41672557/article/details/103450192