Qt获取本机IP、MAC、IPV6子网掩码等网络信息

简介: Qt获取本机IP、MAC、IPV6子网掩码等网络信息

参考

Qt网路与通信(获取本机IP、MAC、IPV6子网掩码等网络信息)+ 源码

主要代码

    QString strHostName = QHostInfo::localHostName();//本地主机名
    QString strHostDomain = QHostInfo::localDomainName();//本地域名
    qInfo() <<tr("本地域名:")+strHostDomain;

    m_ptrLineEditHostName->setText(strHostName);

    QHostInfo hostInfo = QHostInfo::fromName(strHostName);
    qInfo() <<tr("addresses:");
    //在windows系统中可以获取全部的IP地址,但是在linux中仅能获取一个ip地址且ip地址为127.0.0.1
    //获取的ip地址可以在/etc/hosts中查到。
    QList<QHostAddress> list = hostInfo.addresses();
    foreach (auto item, list) {
        qInfo() <<item.toString();
    }
    qInfo() <<tr("----------------------------------------------------------");
    qInfo() <<tr("listAddress:");
    QList<QHostAddress> listAddress = QNetworkInterface::allAddresses();//获取本机所有IP
    foreach (auto item, listAddress) {
        qInfo() <<item.toString();
    }
    QList<QNetworkInterface> listNetworkInterface=QNetworkInterface::allInterfaces();//获取所有的网络接口
    qInfo() <<tr("----------------------------------------------------------");
    foreach (auto item, listNetworkInterface) {
        qInfo() << tr("网口设备:") + item.name();
        qInfo() << tr("硬件地址:") + item.hardwareAddress();

        foreach (auto item2, item.addressEntries()) {
            qInfo() << "    " + tr("ip地址:") + item2.ip().toString();
            qInfo() << "    " + tr("子网掩码:") + item2.netmask().toString();
            qInfo() << "    " + tr("广播地址:") + item2.broadcast().toString();
        }
    }

效果

image.png

相关文章
【qt】如何读取文件并拆分信息?
【qt】如何读取文件并拆分信息?
304 0
|
网络协议
【qt】TCP客户端信息的接受和发送
【qt】TCP客户端信息的接受和发送
183 0
|
网络协议
【qt】TCP 服务端怎么收到信息?
【qt】TCP 服务端怎么收到信息?
257 0
|
存储 网络安全 数据安全/隐私保护
|
缓存 网络协议 网络架构
网络抓包分析【IP,ICMP,ARP】以及 IP数据报,MAC帧,ICMP报和ARP报的数据报格式
本文详细介绍了如何使用网络抓包工具Wireshark进行网络抓包分析,包括以太网v2 MAC帧、IP数据报、ICMP报文和ARP报文的格式,以及不同网络通信的过程。文章通过抓包分析展示了IP数据报、ICMP数据报和ARP数据报的具体信息,包括MAC地址、IP地址、ICMP类型和代码、以及ARP的硬件类型、协议类型、操作类型等。通过这些分析,可以更好地理解网络协议的工作机制和数据传输过程。
网络抓包分析【IP,ICMP,ARP】以及 IP数据报,MAC帧,ICMP报和ARP报的数据报格式
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
1550 3
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
2366 2
|
C++
C++ Qt开发:QUdpSocket网络通信组件
QUdpSocket是Qt网络编程中一个非常有用的组件,它提供了在UDP协议下进行数据发送和接收的能力。通过简单的方法和信号,可以轻松实现基于UDP的网络通信。不过,需要注意的是,UDP协议本身不保证数据的可靠传输,因此在使用QUdpSocket时,可能需要在应用层实现一些机制来保证数据的完整性和顺序,或者选择在适用的场景下使用UDP协议。
1245 2
|
存储 运维 监控
Qt开发网络嗅探器01
Qt开发网络嗅探器01

推荐镜像

更多
  • qt