zoukankan      html  css  js  c++  java
  • python操作IP---IPy模块

    第一part:介绍及安装


     IP地址规划是网络设计中非常重要的一个环节,规划的好坏会直接影响路由协议算法的效率,包括网络性能,可扩展性等方面,在这个过程中,需要计算大量的IP地址,

    包括网段,网络掩码,广播地址,子网数,IP类型等。python中使用IPy库可以高效的完成IP的规划工作。

    安装:pip  install IPy


     第二part:python操作IPy模块


    IP地址,网段的基本处理

    IPy模块包括IP类,使用它可以方便处理绝大部分的ipv4以及ipv6的网络和地址

    (1)获取IP的协议版本:

    # 查看IP的协议
    print(IP("12.12.1.1").version())
    print(IP("fe80::6111:d4dd:b65d:1535").version())

     

     

     

    (2)获取IP的类型

    print(IP("192.168.0.1").iptype())
    print(IP("11.1.1.2").iptype())

    (3)获取指定网段的IP的清单信息

    ip=IP("10.0.0.0/28")
    #ip的起始点
    print(ip.net())
    #ip的子网掩码
    print(ip.netmask())
    #ip的广播地址
    print(ip.broadcast())

    (4)IP地址的反转

    ip=IP("12.13.14.15")
    #IP地址反转

     

    (5)IP地址的进制转换

    ip=IP("12.13.14.15")
    #将IP地址转换为十进制
    print(ip.int())
    #将IP地址转换为二进制
    print(ip.strBin())
    #将IP地址转换为八进制
    print(ip.strHex())

     

     

    (6)遍历获取一个网段的所有IP地址

    ip=IP("10.0.0.0/28")
    #计算网段内ip的个数
    print(ip.len())
    #遍历打印网段内的每一个IP
    for i in ip :
    print(i)

    (7)子网掩码为16与子网掩码掩码为24的局域网的比较与计算

    #大局域网段
    print(IP("192.168.0.0-192.168.255.255",make_net=True))
    #小局域网段
    print(IP("192.168.1.0-192.168.1.255",make_net=True))
    ip=(IP("192.168.0.0/16"))
    print(ip.len())#网段IP的个数
    print(ip.strNormal(0))#起始IP
    print(ip.strNormal(1))#网段
    print(ip.strNormal(2))#子网掩码
    print(ip.strNormal(3))#IP段落
    ip1=(IP("192.168.1.0/24"))
    print(ip1.len())
    print(ip1.strNormal(0))
    print(ip1.strNormal(1))
    print(ip1.strNormal(2))
    print(ip1.strNormal(3))

    (8)已知一个IP和子网掩码,计算其属于的网段

    a="12.12.1.12"b=24# subnet=IP(a).make_net(24).strNormal()subnet=IP(a).make_net(24).strNormal(1)print(subnet)

    (9)判断一个IP地址是否在一个网段

    print("12.11.12.133" in IP("12.11.12.0/24"))
  • 相关阅读:
    JDK5.0新特性系列10.监控与管理虚拟机
    JDK5.0新特性系列7.使用ProcessBuilder执行本地命令
    JDK5.0新特性系列4.静态导入
    JDK5.0新特性系列8.泛型编程
    JDK5.0新特性系列11.2线程 任务执行架构
    JDK5.0新特性系列6.格式化输出
    Request的编码问题,客户端为繁体系统时为乱码解决了。
    智能手机之新手篇[转]
    一篇颇有感触的文章
    修复Oracle9i中DBA的密码
  • 原文地址:https://www.cnblogs.com/smilecindy/p/14608872.html
Copyright © 2011-2022 走看看