Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung des Python-IP-Adressverarbeitungsmoduls

Detaillierte Erläuterung des Python-IP-Adressverarbeitungsmoduls

小云云
小云云Original
2017-12-12 09:18:112477Durchsuche

In diesem Artikel wird hauptsächlich das Python-IP-Adressverarbeitungsmodul IPy erläutert. Dieses Modul kann problemlos IPv4- und IPv6-Adressen verarbeiten. Der folgende Artikel stellt hauptsächlich relevante Informationen zum IP-Adressverarbeitungsmodul des automatisierten Betriebs und der Wartung von Python vor Die Einführung ist sehr detailliert und hat einen gewissen Referenzwert für jedermanns Studium oder Arbeit. Freunde, die sie benötigen, können einen Blick darauf werfen. Ich hoffe, sie kann jedem helfen.

Praktisches IP-Adressverarbeitungsmodul IPy

Bei der IP-Adressplanung geht es um die Berechnung einer großen Anzahl von IP-Adressen inklusive Netzwerk Segment, Netzmaske, Broadcast-Adresse, Anzahl der Subnetze, IP-Typ usw.

Keine Sorge, das Ipy-Modul kommt Ihnen zu Hilfe. Das Ipy-Modul kann uns sehr dabei unterstützen, IP-Planungsarbeiten effizient abzuschließen.

Funktion: Unterstützen Sie uns bei der effizienten Durchführung von IP-Planungsarbeiten

Installation:

wget https://pypi.python.org/packages/source/I/IPy/IPy-0.81.tar.gz --no-check-certificate
tar -zxvf Ipy-0.81.tar.gz
cd IPy-0.81
python setup.py install

Grundlegende Verarbeitung von IP-Adresse und Netzwerksegment:

Verwendung:

#from IPy import IP
#ip_1 = IP('192.168.1.0/24')
#print(ip_1.len()) # 输出192.168.1.0/24网段的IP个数
#for a in ip_1: 
# print(a) # 输出192.168.1.0/24网段的所有IP清单

IP-Adresskonvertierung:

#from IPy import IP 
#ip_2 = IP('192.168.1.1') 
#ip_2.reverseNames() # 反响解析地址格式
#ip_2.iptype() # 查看IP地址类型
#ip_2.int() # 将格式转换为整型格式
#ip_2.strHex() # 将格式转换为16进制格式
#ip_2.strBin() # 将格式转换为2进制格式 
#print(IP(0x8188808)) # 将16进制转化为IP格式

Konvertierung von IP-Netzwerksegmenten:

#from IPy import IP
# 输出192.168.1.0/24 
#print(IP('192.168.1.0').make_net('255.255.255.0')) 
#print(IP('192.168.1.0/255.255.255.0',make_net=True)) 
#print(IP('192.168.1.0-192.168.1.255',make_net=True)) 
# 通过strNormal() 方法指定上述三种格式的输出: 
#print(IP('192.168.1.0/24').strNormal(0)) # 参数(wantprefixlen)为0,无返回,输出192.168.1.0
#print(IP('192.168.1.0/24').strNormal(1)) # 参数(wantprefixlen)为1,prefix格式,输出192.168.1.0/24 
#print(IP('192.168.1.0/24').strNormal(2)) # 参数(wantprefixlen)为2,decimalnetmask格式,输出192.168.1.0/255.255.255.0 
#print(IP('192.168.1.0/24').strNormal(3)) # 参数(wantprefixlen)为3,lastIP格式,输出192.168.1.0-192.168.1.255

Multi-Netzwerk-Berechnungsmethode:

Funktion: Vergleichen Sie zwei Netzwerksegmente auf Einbeziehung, Überlappung usw., z. B. 192.168.1.0/24 und 192.168.1.0/25; 192.168.0.0/24 und 192.168.1.0/24

Verwendung:

#from IPy import IP
#IP(&#39;192.168.0.0/24&#39;)<IP(&#39;192.168.1.0/24&#39;)
# 判断IP地址和网段是否包含于另一个网段中
#&#39;192.168.1.1&#39; in IP(&#39;192.168.1.0/24&#39;) 
# 判断两个网段是否存在重叠,使用overlaps()方法 
#IP(&#39;192.168.0.0/23&#39;).overlaps(&#39;192.168.1.0/24&#39;) # 返回1,表示重叠 
#IP(&#39;192.168.1.0/24&#39;).overlaps(&#39;192.168.2.0/24&#39;) # 返回0,表示没有重叠

Gibt entsprechend der eingegebenen IP-Adresse oder Netzwerksegmentadresse die Netzwerkadresse, Broadcast-Adresse, Adressantwortanalyse und das Subnetznetzwerk zurück Nummer, IP-Typ und andere Informationen:

#from IPy import IP 
#ip_inp=raw_input(&#39;输入IP地址或网段地址&#39;)
#ip=IP(ip_inp)
#if len(ip)>1: # 是一个网段
# print(&#39;网络地址是:%s&#39; %ip.net())
# print(&#39;子网掩码是:%s&#39; %ip.netmask())
# print(&#39;广播地址是:%s&#39; %ip.broadcast())
# print(&#39;地址反向解析:%s&#39; %ip.reverseName()[0])
# print(&#39;网络子网数为:%s&#39; %sip.len()) 
#else: # 是一个IP地址 
# print(&#39;IP地址反向解析:%s&#39; %ip.reverseName()[0])
#
#print(&#39;16进制地址:%s&#39; %ip.strHex())
#print(&#39;2进制地址:%s&#39; %ip.strBin())
#print(&#39;IP地址类型:%s&#39; %ip.iptype())

Verwandte Empfehlungen:

Python implementiert die Ausgabe mit Farbzeichenfolge Fallanalyse

Python-Code zur Implementierung eines genetischen Algorithmus

Detailliertes Beispiel des Python-Referenz-Pass-by-Value-Konzepts

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Python-IP-Adressverarbeitungsmoduls. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn