zoukankan      html  css  js  c++  java
  • QT5下获取本机IP地址、计算机名、网络连接名、MAC地址、子网掩码、广播地址

    1.获取计算机名称:

    /*
     * 名称:get_localmachine_name
     * 功能:获取本机机器名称
     * 参数:no
     * 返回:QString
     */
    QString CafesClient::get_localmachine_name()
    {
        QString machineName     = QHostInfo::localHostName();
        return machineName;
    }

    2.获取本机IP地址

    /*
     * 名称:get_localmachine_ip
     * 功能:获取本机的IP地址
     * 参数:no
     * 返回:QString
     */
    QString CafesClient::get_localmachine_ip()
    {
        QString ipAddress;
        QList<QHostAddress> ipAddressesList = QNetworkInterface::allAddresses();
        // use the first non-localhost IPv4 address
        for (int i = 0; i < ipAddressesList.size(); ++i) {
            if (ipAddressesList.at(i) != QHostAddress::LocalHost &&
                ipAddressesList.at(i).toIPv4Address()) {
                ipAddress = ipAddressesList.at(i).toString();
                break;
            }
        }
        // if we did not find one, use IPv4 localhost
        if (ipAddress.isEmpty())
            ipAddress = QHostAddress(QHostAddress::LocalHost).toString();
        return ipAddress;
    }

    3.获取本机网络连接名、MAC地址

    /*
     * 名称:get_localmachine_mac
     * 功能:获取本机的MAC地址
     * 参数:no
     * 返回:void
     */
    QString CafesClient::get_localmachine_mac()
    {
        QList<QNetworkInterface> nets       = QNetworkInterface::allInterfaces();
        int i = 0;
        foreach(QNetworkInterface ni,nets)
        {
            i++;
            qDebug()<<i<<ni.name()<<ni.hardwareAddress()<<ni.humanReadableName();
        }
    }

    4.获取本机子网掩码、广播地址

    在上个函数的环境下
    QList<QNetworkAddressEntry> entryList =interface.addressEntries();  
      10.      //获取IP地址条目列表,每个条目中包含一个IP地址,一个子网掩码和一个广播地址  
      11.         foreach(QNetworkAddressEntry entry,entryList)  
      12.         {//遍历每一个IP地址条目  
      13.             qDebug()<<”IP Address: “<<entry.ip().toString();  
      14.             //IP地址  
      15.             qDebug()<<”Netmask: “<<entry.netmask().toString();  
      16.             //子网掩码  
      17.             qDebug()<<”Broadcast: “<<entry.broadcast().toString();  
      18.             //广播地址  
      19.         }  
  • 相关阅读:
    二十九:CSRF及SSRF漏洞案例讲解
    二十八:XSS跨站之WAF绕过及安全检测
    二十七:XSS跨站之代码及httponly绕过
    二十六:XSS跨站之订单及shell箱子反杀
    二十五:XSS跨站值原理分类及攻击手法
    二十四:文件上传之WAF绕过及安全修复
    二十三:文件上传之解析漏洞编辑器安全
    二十二:内容逻辑数组绕过
    mysql-----04 多表查询
    Python·——进程1
  • 原文地址:https://www.cnblogs.com/justwake/p/3155243.html
Copyright © 2011-2022 走看看