精华内容
下载资源
问答
  • Qt获取本机IPV4 IP地址

    千次阅读 2017-06-02 14:39:13
    挺简单的代码,直接看吧 #include #include ...* 获取本机 IPV4 地址,如果有多个,返回第 * 一个有效的IPV4地址 **************************************/ QHostAddress getHostIPV4Address() {
    挺简单的代码,直接看吧
    #include 
       
        
    #include 
        
         
    
    /*************************************  
    * 获取本机 IPV4 地址,如果有多个,返回第
    * 一个有效的IPV4地址
    **************************************/
    QHostAddress getHostIPV4Address()
    {
    	foreach(const QHostAddress& hostAddress,QNetworkInterface::allAddresses())
    		if ( hostAddress != QHostAddress::LocalHost && hostAddress.toIPv4Address() )
    			return hostAddress;
    
    	return QHostAddress::LocalHost;
    }
        
       
    展开全文
  • IPv4IP地址的分类

    千次阅读 2018-10-05 11:17:05
    IP地址(百度百科词条) IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机...

    IP地址(百度百科词条)
    IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。目前还有些ip代理软件,但大部分都收费。

    IP地址由四段组成,地址长度为32位,共4个字节,每个字段是一个字节(Byte)即8位二进制,最大值是255。实际中我们用“点分十进制记法”。

    IP地址由两部分组成,即网络地址主机地址。网络地址表示其属于互联网的哪一个网络,主机地址表示其属于该网络中的哪一台主机。二者是主从关系。

    IP地址根据网络号和主机号来分,分为A、B、C三类及特殊地址D、E。 全0和全1的都保留不用。

    A类IP地址

    一个A类IP地址是指, 在IP地址的四段号码中,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。如果用二进制表示IP地址的话,A类IP地址就由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”。A类IP地址中网络的标识长度为8位,主机标识的长度为24位,A类网络地址数量较少,有126个网络,每个网络可以容纳主机数达1600多万台。

    A类IP地址 地址范围1.0.0.0到126.255.255.255 [1] (二进制表示为:00000001 00000000 00000000 00000000 - 01111111 11111111 11111111 11111111)。最后一个是广播地址。

    A类IP地址的子网掩码为255.0.0.0,每个网络支持的最大主机数为256的3次方-2=16777214台。

    B类IP地址

    一个B类IP地址是指,在IP地址的四段号码中,前两段号码为网络号码。如果用二进制表示IP地址的话,B类IP地址就由2字节的网络地址和2字节主机地址组成,网络地址的最高位必须是“10”。B类IP地址中网络的标识长度为16位,主机标识的长度为16位,B类网络地址适用于中等规模的网络,有16384个网络,每个网络所能容纳的计算机数为6万多台。

    B类IP地址地址范围128.0.0.0-191.255.255.255 [3] (二进制表示为:10000000 00000000 00000000 00000000----10111111 11111111 11111111 11111111)。 最后一个是广播地址。

    B类IP地址的子网掩码为255.255.0.0,每个网络支持的最大主机数为256的2次方-2=65534台。

    C类IP地址

    一个C类IP地址是指,在IP地址的四段号码中,前三段号码为网络号码,剩下的一段号码为本地计算机的号码。如果用二进制表示IP地址的话,C类IP地址就由3字节的网络地址和1字节主机地址组成,网络地址的最高位必须是“110”。C类IP地址中网络的标识长度为24位,主机标识的长度为8位,C类网络地址数量较多,有209万余个网络。适用于小规模的局域网络,每个网络最多只能包含254台计算机。

    C类IP地址范围192.0.0.0-223.255.255.255 [3] (二进制表示为: 11000000 00000000 00000000 00000000 - 11011111 11111111 11111111 11111111)。

    C类IP地址的子网掩码为255.255.255.0,每个网络支持的最大主机数为256-2=254台

    D类IP地址

    D类IP地址在历史上被叫做多播地址(multicast address),即组播地址。在以太网中,多播地址命名了一组应该在这个网络中应用接收到一个分组的站点。多播地址的最高位必须是“1110”,范围从224.0.0.0到239.255.255.255。

    特殊的网址

    每一个字节都为0的地址(“0.0.0.0”)对应于当前主机;

    IP地址中的每一个字节都为1的IP地址(“255.255.255.255”)是当前子网的广播地址;

    IP地址中凡是以“11110”开头的E类IP地址都保留用于将来和实验使用。

    IP地址中不能以十进制“127”作为开头,该类地址中数字127.0.0.1到127.255.255.255用于回路测试,如:127.0.0.1可以代表本机IP地址,用“http://127.0.0.1”就可以测试本机中配置的Web服务器。

    网络ID的第一个8位组也不能全置为“0”,全“0”表示本地网络。

    总结

    下图体现了上述对IP地址类型的描述。
    在这里插入图片描述

    图1.五类IP地址示意图

    A类地址

    (1)A类地址第1字节为网络地址,其它3个字节为主机地址。它的第1个字节的第一位固定为0.
    (2)A类地址网络号范围:1.0.0.0—126.0.0.0
    (3)A类地址中的私有地址和保留地址:
    ① 10.X.X.X是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址)。
    范围(10.0.0.0—10.255.255.255)
    ② 127.X.X.X是保留地址,用做循环测试用的。

    B类地址

    (1) B类地址第1字节和第2字节为网络地址,其它2个字节为主机地址。它的第1个字节的前两位固定为10.
    (2) B类地址网络号范围:128.0.0.0—191.255.0.0。
    (3) B类地址的私有地址和保留地址
    ① 172.16.0.0—172.31.255.255是私有地址
    ② 169.254.X.X是保留地址。如果你的IP地址是自动获取IP地址,而你在网络上又没有找到可用的DHCP服务器。就会得到其中一个IP。
    191.255.255.255是广播地址,不能分配。

    C类地址

    (1)C类地址第1字节、第2字节和第3个字节为网络地址,第4个字节为主机地址。另外第1个字节的前三位固定为110。
    (2)C类地址网络号范围:192.0.0.0—223.255.255.0。
    (3) C类地址中的私有地址:
    192.168.X.X是私有地址。(192.168.0.0—192.168.255.255)

    D类地址

    (1) D类地址不分网络地址和主机地址,它的第1个字节的前四位固定为1110。
    (2) D类地址范围:224.0.0.0—239.255.255.255

    E类地址

    (1) E类地址不分网络地址和主机地址,它的第1个字节的前五位固定为11110。
    (2) E类地址范围:240.0.0.0—255.255.255.254
    IP地址如果只使用ABCDE类来划分,会造成大量的浪费:一个有500台主机的网络,无法使用C类地址。但如果使用一个B类地址,6万多个主机地址只有500个被使用,造成IP地址的大量浪费。因此,IP地址还支持VLSM技术,可以在ABC类网络的基础上,进一步划分子网。

    特殊地址

    127.x.x.x给本地网地址使用。
    224.x.x.x为多播地址段。
    255.255.255.255为通用的广播地址。

    参考文档

    1. IPv4各类地址的分类
    2. 百度词条[IP地址]

    作者:戴翔
    电子邮箱:daixiangcn@outlook.com
    简介:中华人民共和国公民,中国共青团员,CSDN博客专家,秦淮区疾控中心托管社会公益组织指南针工作室志愿者,创业公司研发中心负责人,在校大学生。第二届大学生微信小程序应用开发大赛全国三等奖项目第一作者,微信小程序《约车吗》、《庆云慈善会》、《锋云速检》项目总工程师。


    展开全文
  • c# 多网卡获取ipv4 ip地址办法列举

    千次阅读 2013-10-24 09:48:51
    但是在vista win7等系统里面这样获得的是ipv6地址,另外有多张网卡的时候问题就更复杂了 以前我都是根据自己的ip修改数组的下标,不过那样毕竟不是好的办法,也不是通用的办法,用AddressFamily来判断更好

    获取本机ip本来是很容易的,IPAddress _ip = Dns.GetHostAddresses(Dns.GetHostName())[0];就行了

    但是在vista win7等系统里面这样获得的是ipv6地址,另外有多张网卡的时候问题就更复杂了

    以前我都是根据自己的ip修改数组的下标,不过那样毕竟不是好的办法,也不是通用的办法,用AddressFamily来判断更好


    下面我们以win7 笔记本(有无线网卡)+多网卡(vmware安装的)和win2003 笔记本(有无线网卡)+多网卡(vmware安装的)

    做测试




    (1)其中“测试多个”的是一种很笨的办法,获取适配器的名称,比如一般都叫“本地连接”,“无线网络连接”,遇到改名字的就无能为力了

    (2)“其他办法1”的是一种简单的办法,如果单个网卡就走else,两个网卡(不区分网卡类型)走if,很傻,但是简单环境下能用,比第一种好

    (3)”其他办法2“是通过数组把所有的地址读取出来放到richtextbox,应该是最全的,都能读出来

    (4)“指定接口类”这个办法是根据网卡类型进行区分的,一般我们上网的网卡就是以太网卡和无线网卡,这个都能获取。网卡类型说明

    参考地址:

    http://msdn.microsoft.com/zh-cn/library/system.net.networkinformation.networkinterfacetype.aspx

    (5)如果要具体到某一个的话建议写个扫描器吧。


    using System;
    using System.Collections.Generic;
    using System.Collections.Specialized;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Net;
    using System.Net.NetworkInformation;
    using System.Net.Sockets;
    using System.Text;
    using System.Windows.Forms;
    using System.Xml;
    
    using  System.Management;
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            
    
            private void button3_Click(object sender, EventArgs e)
            {
    
                NetworkInterface[] interfaces = System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces();
                int len = interfaces.Length;
                string mip;
    
                for (int i = 0; i < len; i++)
                {
                    NetworkInterface ni = interfaces[i];
    
                    if (ni.Name == "本地连接")
                    {
                        IPInterfaceProperties property = ni.GetIPProperties();
                        foreach (UnicastIPAddressInformation ip in property.UnicastAddresses)
                        {
                            if (ip.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
                            {
                                mip = ip.Address.ToString();
                                label1.Text = ip.Address.ToString();
                            }
                        }
                    }
                    else if (ni.Name == "本地连接2")
                       {
                            IPInterfaceProperties property = ni.GetIPProperties();
                            foreach (UnicastIPAddressInformation ip in property.UnicastAddresses)
                            {
                                if (ip.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
                                {
                                    mip = ip.Address.ToString();
                                    label2.Text = ip.Address.ToString();
                                }
                            }
                       }
                    else if (ni.Name == "无线网络连接")
                    {
                        IPInterfaceProperties property = ni.GetIPProperties();
                        foreach (UnicastIPAddressInformation ip in property.UnicastAddresses)
                        {
                            if (ip.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
                            {
                                mip = ip.Address.ToString();
                                label3.Text = ip.Address.ToString();
                            }
                        }
                    }
                }
                
            }
    
            
            private void button4_Click(object sender, EventArgs e)//简单的办法,如果单个网卡就走else,两个网卡(不区分网卡类型)走if
            {
                System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;
                if (addressList.Length > 1)
                {
                    label1.Text = addressList[0].ToString();
                    label2.Text = addressList[1].ToString();
                }
                else
                {
                    label1.Text = addressList[0].ToString();
                    label2.Text = "没有可用的连接 ";
                } 
            }
    
    
           public void ShowIP()
            {
                //ipv4地址也可能不止一个
                foreach (string ip in GetLocalIpv4())
                {
                    this.richTextBox1.AppendText(ip.ToString());
                }
                return;
            }
           public string[] GetLocalIpv4()
            {
                //事先不知道ip的个数,数组长度未知,因此用StringCollection储存
                try
                {
                    IPAddress[] localIPs;
                    localIPs = Dns.GetHostAddresses(Dns.GetHostName());
                    StringCollection IpCollection = new StringCollection();
                    foreach (IPAddress ip in localIPs)
                    {
                        //根据AddressFamily判断是否为ipv4,如果是InterNetWork则为ipv6
                        if (ip.AddressFamily == AddressFamily.InterNetwork)
                            IpCollection.Add(ip.ToString());
                    }
                    string[] IpArray = new string[IpCollection.Count];
                    IpCollection.CopyTo(IpArray, 0);
                    return IpArray;
                }
    
                catch (Exception ex)
                {
                    MessageBox.Show("Error: " + ex.Message);
                }
                return null;
            }
    
           private void button5_Click(object sender, EventArgs e)
           {
               richTextBox1.Clear();//可以获取全部,列在richtextbox中
               ShowIP();
           }
    
           private void button7_Click(object sender, EventArgs e)
           {
               label1.Text = "";
               label2.Text = "";
               label3.Text = "";
           }
    
           private void button6_Click(object sender, EventArgs e)
           {
               //获取说有网卡信息
               NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
               foreach (NetworkInterface adapter in nics)
               {
                   //判断是否为以太网卡
                   //Wireless80211         无线网卡;    Ppp     宽带连接;Ethernet              以太网卡
                   if (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet)
                   {
                       //获取以太网卡网络接口信息
                       IPInterfaceProperties ip = adapter.GetIPProperties();
                       //获取单播地址集
                       UnicastIPAddressInformationCollection ipCollection = ip.UnicastAddresses;
                       foreach (UnicastIPAddressInformation ipadd in ipCollection)
                       {
                           //InterNetwork    IPV4地址      InterNetworkV6        IPV6地址
                           //Max            MAX 位址
                           if (ipadd.Address.AddressFamily == AddressFamily.InterNetwork)
                           label1.Text = ipadd.Address.ToString();//获取ip
                       }
                   }
                   else if (adapter.NetworkInterfaceType == NetworkInterfaceType.Wireless80211)
                   {
                       //获取以太网卡网络接口信息
                       IPInterfaceProperties ip = adapter.GetIPProperties();
                       //获取单播地址集
                       UnicastIPAddressInformationCollection ipCollection = ip.UnicastAddresses;
                       foreach (UnicastIPAddressInformation ipadd in ipCollection)
                       {
                           //InterNetwork    IPV4地址      InterNetworkV6        IPV6地址
                           //Max            MAX 位址
                           if (ipadd.Address.AddressFamily == AddressFamily.InterNetwork)
                           label2.Text = ipadd.Address.ToString();//获取ip
                       }
                   }
               }   
           }
    
    
    
    
    
    
    
    
    
    
        }
    }
    


    展开全文
  • ipv4-ipv6 IP地址数据库

    2021-04-21 14:22:19
    包含最新的30万条ipv4地址数据和13万条ipv6地址数据,提供ip地址,国家、省市县及行政区域代码,若有问题可私信咨询
  • Win7旗舰版IPv4自动获取IP地址设置教程.docx
  • Ghost版Windows7SP1无法保存TCP/IP属性设置的处理方法一、问题描述在必须采用静态IP地址才能上网的情况下,在本地连接属性中,需要将TCP/IP(V4)地址由“自动取得IP地址”改为“使用下面的IP地址”,DNS设置也做相应...

    Ghost版Windows7SP1无法保存TCP/IP属性设置的处理方法

    一、问题描述

    在必须采用静态IP地址才能上网的情况下,在本地连接属性中,需要将TCP/IP(V4)地址由“自动取得IP地址”改为“使用下面的IP地址”,DNS设置也做相应修改。但关闭退出后,重新打开,IP地址又变回自动取得IP地址。

    二、原因分析

    不知道。估计为设置不当。在CMD窗口中进行如下操作:(1)netsh;(2)int;(3)IP;(4)set address 本地连接 static 192.168.1.10 255.255.255.0 192.168.1.1。操作完成后,系统提示:未能配置DHCP服务,接口可能已经断开。系统找不到指定的文件。

    三、处理方法

    1、重新安装TCP/IP协议;

    先删除:在CMD窗口中,(1)netsh;(2)int;(3)IP;(4)uninstall,这时系统要求重新启动;

    再安装:在CMD窗口中,(1)netsh;(2)int;(3)IP;(4)install,这时系统要求重新启动。

    2、卸载网卡及其驱动;

    3、删注册表中以下几项:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\Config

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Adapters\ { GUID }

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ { GUID }

    如果是域控制器,后两项不用删。

    卸载网卡以后,注册表中的上述值可能会不存在,如果这样就不管了。安全起见,删以前还是做个备份吧。

    重新启动电脑,安装网卡驱动。

    取消

    评论

    展开全文
  • IPv4IP地址分类

    千次阅读 2018-12-25 15:06:00
     IPV4简单粗暴地把IP地址分为五类。分类方法如下图所示: 也就是说,分为以下几类: A: 0.0.0.0-127.255.255,其中段0和127不可用 B: 128.0.0.0-191.255.255.255 63  C: 192.0.0.0-223.255.255.255 31 D:...
  • 获取本机IP的小案例,可以获取Ipv4IP地址,内容简单易懂,有注释,可运行,小案例,旨在分享,代码简单
  • 网际协议版本4(Internet Protocol Version 4,IPv4) 一、IP地址可以分为5类,分别是A类、B类、C类、D类、E类 二、IP地址可以分为公网IP地址、私网IP地址和特殊IP地址
  • IPV4 特殊IP地址 子网划分 子网汇总

    千次阅读 2020-05-27 11:24:03
    注:只有单播地址既可以作为源IP地址,也可以作为目标IP地址;其他地址只能作为目标IP地址 快速区分类别:关注第一个八位 A 1-126 0000 0000 B 128-191 1000 0000 C 192-223 1100 0000 D 224-239 1110 0000 E 240-...
  • 获取本机所有IP地址: 这些地址是包含所有网卡(虚拟网卡)的ipv4和ipv6地址。 string name = Dns.GetHostName(); IPAddress[] ipadrlist = Dns.GetHostAddresses(name); 获取本机所有IPV4地址: string name =...
  • Centos IPV4没有IP地址

    千次阅读 2017-05-25 10:54:23
    Vmware虚拟机和主机之间采用NAT方式通讯;...设置虚拟机为自动获取IP dhclient eth0
  • IPv4私有IP地址有哪些?

    千次阅读 2018-01-11 13:50:06
    私有IP地址是一段保留的IP地址。只是使用在局域网中,在Internet上是不使用的。  私有IP地址的范围有:  私网地址分有三类, A类中,第一段为10的都为私网地址, B类中,以172.16--172.31开头的都...
  • centos7-设置ip地址-ipv4

    万次阅读 2016-07-04 22:08:42
    Centos 7 学习之静态IP设置(续) 1、编辑 ifcfg-eth0 文件,vim 最小化安装时没有被安装,需要自行安装不描述。 [plain]   view plain   copy   # vim /etc/sysconfig/...
  • 私有IP地址是一段保留的IP地址。只是使用在局域网中,在Internet上是不使用的。 私有IP地址的范围有: 私网地址分有三类, A类中,第一段为10的都为私网地址,B类中,以172.16--172.31开头的都是私网地址C类中,...
  • 该工具可解析输入域名下对应的所有IP地址(包括IPV4地址和IPV6地址),自己写来用的,分享给大家,提供的是jar包,未混淆代码,可以工具查看源码,如果需要可编译的源码可私聊我。 例子: 解析域名:www.baidu.com ...
  • VirtualBox-Centos7设置IPV4地址

    千次阅读 2018-01-14 15:57:09
    本学习主要针对 Centos 7.0.1406 版本进行学习整理!...如果你使用 VirtualBox 配置 Centos 那么请参考我的这篇文章 Centos 7 学习之静态IP设置(续) 1、编辑 ifcfg-eth0 文件,vim 最小化安装时没有被安装
  • IPv4中的IP地址分类

    千次阅读 2019-03-01 09:43:59
     IPV4简单粗暴地把IP地址分为五类。分类方法如下图所示: 也就是说,分为以下几类: A: 0.0.0.0-127.255.255,其中段0和127不可用 B: 128.0.0.0-191.255.255.255 C: 192.0.0.0-223.255.255.255 D: 224.0.0.0...
  • C语言IP地址比较(IPv4/IPv6)

    千次阅读 2018-11-23 14:02:07
    C语言IP地址“大小/范围”比较(IPv4/IPv6)IP地址转换函数字符串IPv4地址转换实例字符串IPv6地址转换实例IP地址比较原理比较两个IPv4地址大小比较两个IPv6地址大小 IP地址转换函数 在比较IP地址之前需要将其转换为...
  • 常用的ip地址是遵循IPv4协议,由32位的二进制数组成,在具体设置时看到的是4个0~255之间的数组成,常见就有本地环回地址“127.0.0.1”,还有常用的局域网地址“192.168.0.1”之类的。所以IPv4的地址能表示的范围就2...
  • IP地址IPv4分类:ABCDE类

    千次阅读 2020-04-13 19:48:08
    在对IP地址分类,协议上区分:IPv4、IPv6 针对于IPv4 IP地址的一般格式为:类别+网络标识+主机标识 A类 类别一位,为0 网络标识占一个字节 主机标识占三个字节 通常用于网络运营商、互联网的主干网络、超大型公司 ...
  • 我们电脑安装的系统不同,IP地址修改的方法也有点不同。下面就让学习啦小编给大家说说电脑的ip地址怎么修改吧。修改电脑ip地址的方法WindowsXP系统修改IP地址步骤:开始 - 控制面板,在控制面板窗口,我们左键点击:...
  • 全球IPV4地址池,想免费给下载。。。
  • IPv4 地址

    万次阅读 2017-05-24 17:16:39
    IPv4 地址
  • IP地址IPV4)与int类型之间的转换

    千次阅读 2019-03-22 11:01:02
    IP地址IPV4)与int类型之间的转换 一、前言 IP地址IPV4)是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。IP地址IPV4)通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,...
  • 【题目】 输入一个IP地址,判断该IP地址IPv4,还是IPv6类地址。  使用正则表达式。 class Solution{ private static Pattern pattern; private static Pattern ptipv4; static { // ipv6
  • @[TOC]【Win10】系统,手动设置静态IP后出现两个IPv4地址解决方法 【Win10】系统,手动设置静态IP后出现两...在cmd命令行输入 添加IP地址 netsh interface ip set address “以太网” static 192.168.0.0 255.255.255.0
  • 电信设备-IP地址信息的存储、IPv4地址的查询的方法及系统.zip

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 181,106
精华内容 72,442
热门标签
关键字:

如何设置ipv4的ip地址