怎样判断IP地址的非法性?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样判断IP地址的非法性?相关的知识,希望对你有一定的参考价值。

下列各项中,非法的IP地址是()。

A)126.96.2.6

B)190.256.38.8

C)203.113.7.15

D)203.226.1.68
怎么判断这些IP地址是合法还是非法呢?谢谢

1、选项B是非法IP

IP地址是由8位2进制转换成十进制得来的,8位2进制,最大为11111111,转换为十进制的255,所以任何IP地址,只要IP里面有大于255的数字,皆为错误地址。

2、IP地址的长度为32位(共有2^32个IP地址),分为4段,每段8位,用十进制数字表示,每段数字范围为0~255,段与段之间用句点隔开。

例如159.226.1.1。

扩展资料

一、IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。

例如点分十进IP地址(100.4.5.6)

实际上是32位二进制数(01100100.00000100.00000101.00000110)

二、Internet上的每台主机(Host)都有一个唯一的IP地址。IP协议就是使用这个地址在主机之间传递信息,这是Internet 能够运行的基础。

三、特殊的网址:

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

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

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

4、IP地址中不能以十进制“127”作为开头,该类地址中数字127.0.0.1到127.255.255.255用于回路测试。

例如:

127.0.0.1可以代表本机IP地址,用“http://127.0.0.1”就可以测试本机中配置的Web服务器。

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

参考资料:百度百科-IP地址

参考技术A   在国际互联网(Internet)上有成千百万台主机,为了区分这些主机,人们给每台主机都分配了一个专门的“地址”作为标识,称为IP地址,它就像在网上的身份证一样。
  正常的IP地址是,每个三位数都是在0~254之间的,不可能是大于254,就连255都不行,这才是合法的IP地址。
参考技术B 回答

确定IP地址的合法步骤:1、首先了解IP地址是什么,IP地址分为A类、B类、C类、D类、E类。A类的IP地址范围是0.0.0-127.255.255.255,B类是128.0.0.0-191.255.255,C类是192.0.0.0-223.255.255.255。2. 然后判断身份证的长度。在a级IP地址中,网络标识的长度为8位,主机标识的长度为24位,子网掩码为255.0.0。B类适用于网络ID长度为16位、主机ID长度为16位、子网掩码为255.255.0.0的中型网络。C类适用于网络标识长度为24位、主机标识长度为8位、子网掩码为255.255.255.0的小型局域网。3. 最后,判断是否合法。在每个合法IP地址中,有四个以“.”分隔的3位数字,每个3位数字介于0和255之间,包括255。我相信经过学习,我们已经知道如何判断IP地址是否合法。IP地址:Internet协议地址,缩写为IP地址。IP地址是IP协议提供的统一地址格式。它为因特网上的每个网络和每个主机分配一个逻辑地址,以屏蔽物理地址的差异

参考技术C 你好:
选项B是非法IP。
IP地址是由8位2进制转换成十进制得来的。
8位2进制,最大为11111111,转换为十进制的255。
所以任何IP地址,只要IP里面有大于255的数字,皆为错误地址!
谢谢!本回答被提问者采纳
参考技术D B是非法的。256
IP地址分5类,常见的地址是A、B、C类

A类

1.0.0.0 到126.0.0.0

0.0.0.0 和127.0.0.0保留

B
128.1.0.0到191.254.0.0

128.0.0.0和191.255.0.0保留

C
192.0.1.0 到223.255.254.0

192.0.0.0和223.255.255.0保留

D
224.0.0.0到239.255.255.255用于多点广播

E
240.0.0.0到255.255.255.254保留

255.255.255.255用于广播

如何用C语言判断ip地址是不是合法

可以试一下

#include <stdio.h>
 
int checkIP(const char* p)

  int n[4];
  char c[4];
  if (sscanf(p, "%d%c%d%c%d%c%d%c",
             &n[0], &c[0], &n[1], &c[1],
             &n[2], &c[2], &n[3], &c[3])
      == 7)
  
    int i;
    for(i = 0; i < 3; ++i)
      if (c[i] != \'.\')
        return 0;
    for(i = 0; i < 4; ++i)
      if (n[i] > 255 || n[i] < 0)
        return 0;
    return 1;
   else
    return 0;

 
int main()

  const char* x[] =
  
    "192.168.1.1",
    "10.0.0.1.",
    "127.256.0.1",
    "iugerjiogjioe",
    "172.16,0.1",
    0
  ;
  const char* m[] = 
  
    "不是合法的IP地址",
    "是合法的IP地址"
  ;
  int i = 0;
 
  while(x[i] != 0) 
    printf("%s %s\\n", x[i], m[checkIP(x[i])]);
    ++i;
  
  return 0;
参考技术A 回答

确定IP地址的合法步骤:1、首先了解IP地址是什么,IP地址分为A类、B类、C类、D类、E类。A类的IP地址范围是0.0.0-127.255.255.255,B类是128.0.0.0-191.255.255,C类是192.0.0.0-223.255.255.255。2. 然后判断身份证的长度。在a级IP地址中,网络标识的长度为8位,主机标识的长度为24位,子网掩码为255.0.0。B类适用于网络ID长度为16位、主机ID长度为16位、子网掩码为255.255.0.0的中型网络。C类适用于网络标识长度为24位、主机标识长度为8位、子网掩码为255.255.255.0的小型局域网。3. 最后,判断是否合法。在每个合法IP地址中,有四个以“.”分隔的3位数字,每个3位数字介于0和255之间,包括255。我相信经过学习,我们已经知道如何判断IP地址是否合法。IP地址:Internet协议地址,缩写为IP地址。IP地址是IP协议提供的统一地址格式。它为因特网上的每个网络和每个主机分配一个逻辑地址,以屏蔽物理地址的差异

以上是关于怎样判断IP地址的非法性?的主要内容,如果未能解决你的问题,请参考以下文章

c++判断ip地址是不是合法

如何利用js正则表达式判断ip地址的合法性

怎样判断一个IP地址是公网地址?

C语言 问题 C: IP地址的合法性检查?

C# 判断ip地址是否正确

如何判断子网掩码是不是合法