class IPv4Address : address object(地址对象)
IPv4Address 继承的_BaseAddress没有什么方法,但是_BaseAddress继承的_IPAddressBase有几个方法可供参考
_IPAddressBase类
1.pack
将IP地址参数转为二进制
2.is_reserved
3.is_private
是否是私有地址的判断,关于私有地址,可查看百度百科:https://baike.baidu.com/item/私有地址/727338?fr=aladdin
4.is_global
判断地址是否是公网地址:公有地址 https://baike.baidu.com/item/公有地址/727247?fr=aladdin
5.is_multicast
判断地址是否是多播地址:https://baike.baidu.com/item/多播地址/1541494?fr=aladdin
6.is_unspecified
判断地址是否未指定
7. is_loopback
判断地址是否为环回地址
8.is_link_local
测试地址是否为link-local保留,link-local保留地址参考:https://datatracker.ietf.org/doc/rfc3927/?include_text=1
9.version
查看当前ip是IPv4还是IPv6
10.exploded
IPv4Address返回的是一个IPv4Address对象,exploded是将该结果转为string(目前粗浅的理解)
11.compressed
我感觉和exploded差不多
12.reverse_pointer
IP地址的反向DNS指针的名称
class IPv4Interface :Interface objects (接口对象)
IPv4Address的方法,IPv4Interface都可以用的,这里不做赘述(IPv4Interface 是继承IPv4Address的)
1.ip
返回一个IPv4Address地址对象
2.with_prefixlen
带前缀表示法的掩码的接口的字符串表示形式。
3.with_netmask和with_hostmask
分别以二进制表示掩码,和用主机掩码表示
class IPv4Network:Network objects(网络对象)
参数:address:表示IP [&network]的字符串或整数。
‘192.0.2.0/24’
‘192.0.2.0/255.255.255.0’
‘192.0.0.2/0.0.0.255’
在IPv4中功能相同。同样的,
‘192.0.2.1’
‘192.0.2.1/255.255.255.255’
‘192.0.2.1/32’
在功能上也是等同的。也就是说,没有提供子网掩码将创建一个掩码为/ 32的对象。
如果掩码(参数中的/之后的部分)以点四方形式给出,如果它以非零字段(例如/255.0.0.0 == / 8)开头并且作为主机掩码,
则将其视为网络掩码它以零域(例如0.255.255.255 == / 8)开始,除了全零掩码外,它被视为网络掩码== / 0。
如果未给出掩码,则使用默认值/ 32。
此外,可以传递一个整数,因此IPv4Network(‘192.0.2.1’)== IPv4Network(3221225985)
或者,更一般地说IPv4Interface(int(IPv4Interface(‘192.0.2.1’)))== IPv4Interface(‘192.0.2.1’)
继承的_BaseNetwork类
1.is_global
是否为公网地址的校验
2.hosts
返回网络中可用主机上的迭代器。可用主机是属于网络的所有IP地址,网络地址本身和网络广播地址除外。对于掩码长度为31的网络,网络地址和网络广播地址也包含在结果中。
3.overlaps(other)
判断ip地址是否部分包含或者全部被包含在other中
4.broadcast_address
该网段的广播地址(应该是的)
5.hostmask
主机掩码,作为IPv4Address对象
6.with_prefixlen
将IPv4Network对象的IP地址转为str格式
7.with_netmask
掩码以二进制的格式展示
8.with_hostmask
以主机掩码格式展示
9.num_addresses
网络中的地址总数。
后面几个判断的方法,用法和IPv4Address 类似。不做赘述。