#!/usr/bin/env: python
import re
import struct
class CIDRHelper:
@staticmethod
def start():
print "Hello"
def ipFormatChk(self, ip_str):
pattern = r"\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b"
if re.match(pattern, ip_str):
return True
else:
return False
def masklenChk(self, masklen):
if masklen > 0 and masklen < 32:
return true
else:
return false
def Parse(self, ip, masklen):
if False == self.ipFormatChk(ip) :
return False
ips = ip.split(".")
binip = 0
for id in ips:
binip = binip << 8
binip += int(id)
mask = (1 << 32) - 1 - ((1<<(32-masklen))-1)
a,b,c,d = struct.unpack('BBBB', struct.pack('>I',(binip & mask)))
print ".".join([str(a),str(b),str(c),str(d)])
a,b,c,d = struct.unpack('BBBB', struct.pack('>I',(binip & mask)+(2<<(32-masklen-1)) - 1))
print ".".join([str(a),str(b),str(c),str(d)])
ch = CIDRHelper()
ch.Parse("183.60.143.187",28)
#
#python a.py
#183.60.143.176
#183.60.143.191
#
网上查询:http://jodies.de/ipcalc
分享到:
相关推荐
本文将详细解析如何使用C#编程语言根据给定的IP地址和子网掩码来计算出广播地址,这在实际的网络管理和开发中具有广泛的应用。 ### IP地址 IP地址(Internet Protocol Address)是分配给互联网上每一台主机或...
在IT领域,网络编程是不可或缺的一部分,而IP地址和子网掩码的处理则是网络编程中的基础。本文将深入探讨如何使用C#语言判断两个IP地址是否处于同一子网内,以及相关的网络概念。 首先,我们需要理解IP地址的结构。...
而子网掩码则是一个与IP地址相同长度的32位二进制数,用来区分IP地址中的网络部分和主机部分。 子网掩码的计算通常涉及以下几个步骤: 1. **确定所需子网数量**:根据网络规模,我们需要知道需要多少个独立的子网...
可以实现: ...3、可以根据excel文件进行拆分,excel文件中IP地址,支持上述两种方式,Excel中只要包含起始IP列、终止IP列,或者包含IP地址段,就可以自动批量生成单个IP,并且还可以保留原来excel的字段;
为了判断两个IP地址是否位于同一网段,需要进行以下步骤: 1. **将IP地址与子网掩码分别转换为二进制**。 2. **执行按位与操作**:将IP地址的二进制形式与子网掩码的二进制形式进行按位与操作。 3. **比较结果**:...
IP网段的计算与划分是一项技术性较强的工作,它不仅要求对二进制、子网掩码和IP地址分类有深刻理解,还需要根据实际网络规模和需求灵活调整子网掩码,以实现资源的有效利用和网络性能的最大化。通过本文的详细介绍,...
IP地址根据其网络IDENTIFIER的长度可以分为五类:A、B、C、D和E,其中A、B、C三类地址用于主机的标识。A类网络的最大主机数为16777214台,但实际上,这么多的主机是不可能的,因此需要将A类网络划分成小的子网,以...
用C语言实现的一个简单的子网掩码计算程序,先输入网段地址,再输入要分的子网数量,程序以点分二进制输出子网掩码。
网段计算是指根据IP地址和子网掩码确定网络的可用范围。通过子网掩码对IP地址进行逻辑与操作,可以得到网络地址。网络地址加上子网掩码中的主机位数的反码(即主机位全部为1)得到的是广播地址,位于该网段的最后一...
在互联网协议(IP)网络中,网段是指由子网掩码划分出的、具有相同网络前缀的一组IP地址。这种划分有助于管理大型网络,提高网络效率,并实现对不同网络资源的安全控制。例如,`60.0.0.0/11`表示一个包含所有以`60.0...
IP掩码的标注 A、无子网的标注法 对无子网的IP地址,可写成主机号为0的掩码。如IP地址210.73.140.5,掩码为255.255.255.0,也可以缺省掩码,只写IP地址。 B、有子网的标注法 有子网时,一定要二者配对出现。以C...
通过本题目的解答过程,我们可以看到子网划分的基本原则和步骤,包括如何根据所需的主机数量来选择合适的子网掩码长度,以及如何将较大的地址空间细分为多个符合需求的小型子网。 对于初学者而言,掌握这些基本原理...
子网掩码计算器是一款实用工具,专为网络管理员和IT专业人士设计,用于便捷地计算网络中的子网划分和IP地址的网段。该工具的版本为v2.4,表明它可能已经经过多次升级和优化,以提供更准确和用户友好的功能。 在...
子网划分的基本原理基于IP地址的结构,每个IP地址由网络部分(网络ID)和主机部分(主机ID)组成,它们之间由子网掩码分隔。通过调整子网掩码,我们可以改变网络ID和主机ID的位数,从而创建更多的子网和更少的可用...
IP 地址的结构是由网络号和主机号两部分组成的。子网掩码是通过二进制数字“1”和“0”来划分 IP 地址的网络号和主机号的。左边是网络位,用二进制数字“1”表示;右边是主机位,用二进制数字“0”表示。只有通过...
2. 在进行网络配置时,必须注意IP地址及其掩码长度的正确配置,特别是当网络段连续分配时,掩码长度的不同会直接导致网段冲突,进而影响网络通信。 3. 网络设备间的通信问题,应该从底层链路开始排查,并逐步向上层...
3. **子网掩码**: 子网掩码用于定义IP地址中的网络部分和主机部分,从而确定网络范围。 4. **下一跳**: 在路由表中,下一跳指的是数据包到达目的网络前需要首先传输到的下一个路由器的IP地址。 #### 三、案例分析 ...
VLSM允许在不同的子网上使用不同的子网掩码长度,从而更灵活地分配地址空间,减少浪费。例如,当网络中有50台主机时,使用默认的C类子网掩码会浪费大量地址。而通过VLSM技术,可以使用255.255.255.192或更短的子网...
IP地址是互联网上设备的唯一标识,它由四段十进制数字组成,每段范围在0到255之间,总长度为32位。IP地址分为五类,A、B、C、D、E,其中A、B、C类地址常用于主机,D类用于多播,E类则预留。 子网掩码是用来划分网络...
1. **IP地址与子网掩码**:理解IP地址和子网掩码的概念,如何通过它们来确定网络中的主机范围。例如,使用CIDR(Classless Inter-Domain Routing)表示法来指定网段,如`192.168.1.0/24`,其中`/24`表示子网掩码的前...