Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में ipaddress: IPv4/IPv6 मैनिपुलेशन लाइब्रेरी

ipaddress मॉड्यूल (पायथन 3.3+) IPv4 और IPv6 एड्रेसेस और नेटवर्क्स बनाने, मैनिपुलेट करने और ऑपरेट करने की क्षमता प्रदान करता है।

IPv4 vs IPv6

  • IPv4: 32-बिट, डॉटेड-डेसिमल (4 ऑक्टेट्स, 0-255)। उदा: 192.168.1.1।
  • IPv6: 128-बिट, हेक्साडेसिमल (8 ग्रुप्स, 16-बिट प्रत्येक, कोलन सेपरेटेड)। उदा: 2001:db8:abcd:100::1/64।
  • CIDR नोटेशन: 192.168.1.1/24 (पहले 24 बिट्स नेटवर्क, बाकी होस्ट)।

फैक्टरी फ़ंक्शन्स (स्वचालित वर्जन डिटेक्शन)

ip_address()

import ipaddress

ipaddress.ip_address('192.168.0.1')    # IPv4Address('192.168.0.1')
ipaddress.ip_address('2001:ab7::')     # IPv6Address('2001:ab7::')

ip_network()

ipaddress.ip_network('192.168.100.0/24')      # IPv4Network('192.168.100.0/24')
ipaddress.ip_network('2001:db8:abcd:100::/64') # IPv6Network('2001:db8:abcd:100::/64')

ip_interface()

होस्ट एड्रेस + नेटवर्क का संयोजन।

ipaddress.ip_interface('192.168.100.10/24')    # IPv4Interface('192.168.100.10/24')
ipaddress.ip_interface('2001:db8:abcd:100::1/64') # IPv6Interface('2001:db8:abcd:100::1/64')

क्लासेस

IPv4Address

ipaddress.IPv4Address('192.168.0.1')        # स्ट्रिंग से
ipaddress.IPv4Address(3162581505)           # इंटीजर से
ipaddress.IPv4Address(b'\xC0\xA8\x00\x01')  # बाइट्स से (बिग-एंडियन)

IPv6Address

ipaddress.IPv6Address('2001:db8::1000')
ipaddress.IPv6Address('::abc:7:def')

वर्जन प्रॉपर्टी

addr = ipaddress.IPv4Address('192.168.0.1')
print(addr.version)  # 4

addr6 = ipaddress.IPv6Address('2001:db8::1000')
print(addr6.version)  # 6

नेटवर्क ऑपरेशन्स (IPv4Network/IPv6Network)

net = ipaddress.ip_network('192.168.1.0/24')

print(net.network_address)   # 192.168.1.0
print(net.broadcast_address) # 192.168.1.255
print(net.netmask)           # 255.255.255.0
print(net.hostmask)          # 0.0.0.255
print(net.num_addresses)     # 256

# होस्ट्स पर इटरेशन
for ip in net.hosts():
    print(ip)  # 192.168.1.1, 192.168.1.2, ...

# सबनेट्स
for subnet in net.subnets(prefixlen_diff=1):
    print(subnet)  # दो /25 सबनेट्स

इंटरफेस ऑपरेशन्स

iface = ipaddress.ip_interface('192.168.1.10/24')
print(iface.ip)        # 192.168.1.10
print(iface.network)   # 192.168.1.0/24
print(iface.netmask)   # 255.255.255.0

तुलना और सदस्यता

net = ipaddress.ip_network('10.0.0.0/8')
print(ipaddress.ip_address('10.1.2.3') in net)  # True
print(ipaddress.ip_address('192.168.1.1') in net)  # False

उपयोग केस

  • नेटवर्क कॉन्फ़िगरेशन वैलिडेशन।
  • IP रेंज/सबनेट कैलकुलेशन।
  • फायरवॉल नियम प्रोसेसिंग।
  • लॉग एनालिसिस में IP पार्सिंग/फिल्टरिंग।
  1. पायथन Seaborn लाइब्रेरी में FacetGrid का उपयोग करके डेटा कैसे विज़ुअलाइज़ करें पायथन Seaborn लाइब्रेरी में FacetGrid का उपयोग करके डेटा कैसे विज़ुअलाइज़ करें

    बारप्लॉट फंक्शन एक श्रेणीबद्ध चर और एक सतत चर के बीच संबंध स्थापित करता है। डेटा को आयताकार बार के रूप में दर्शाया जाता है जहां बार की लंबाई उस विशिष्ट श्रेणी में डेटा के अनुपात को इंगित करती है।पॉइंट प्लॉट बार प्लॉट के समान हैं लेकिन पूरे बार को दर्शाने के बजाय, डेटा पॉइंट का अनुमानित मान दूसरे अक्

  1. पायथन में Seaborn लाइब्रेरी में बार प्लॉट का उपयोग कैसे करें पायथन में Seaborn लाइब्रेरी में बार प्लॉट का उपयोग कैसे करें

    Seaborn एक लाइब्रेरी है जो डेटा विज़ुअलाइज़ करने में मदद करती है। यह कस्टमाइज़्ड थीम और हाई-लेवल इंटरफेस के साथ आती है।पिछले प्लॉट में, हमने पूरे डेटासेट को ग्राफ पर प्लॉट किया। बार प्लॉट की मदद से, हम डेटा के वितरण की केंद्रीय प्रवृत्ति को समझ सकते हैं।बारप्लॉट फंक्शन एक श्रेणीबद्ध चर और एक सतत चर

  1. Scikit-learn में मॉडल बिल्डिंग सीखना: एक Python मशीन लर्निंग लाइब्रेरी Scikit-learn में मॉडल बिल्डिंग सीखना: एक Python मशीन लर्निंग लाइब्रेरी

    इस लेख में, हम Scikit-learn में लर्निंग मॉडल बिल्डिंग के बारे में सीखेंगे: एक Python मशीन लर्निंग लाइब्रेरी।यह एक मुफ्त मशीन लर्निंग लाइब्रेरी है। यह रैंडम फॉरेस्ट, वेक्टर मशीन और k-निकटतम पड़ोसी जैसे विभिन्न एल्गोरिदम का समर्थन करता है जिसमें NumPy और SciPy के साथ सीधा कार्यान्वयन होता है।डेटासेट आ