寫一個簡單的python指令碼來返回ip地址的掩碼,子網個數等

來源:互聯網
上載者:User

標籤:類型   test   pre   一個   rom   pack   pytho   0.12   ipy   

如果我們想快速得到一個IP位址區段有多少個ip,快速得到IP位址區段的子網路遮罩,或者快速得到一個IP地址的二進位,那麼可以來學習一下。
本文利用python的一個IP分析模組IPy實現,首先安裝IPy模組

wget https://pypi.python.org/packages/88/28/79162bfc351a3f1ab44d663ab3f03fb495806fdb592170990a1568ffbf63/IPy-0.83.tar.gztar -xf IPy-0.83.tar.gz cd IPy-0.83python setup.py install

接下來簡單介紹一下功能

>> from IPy import IP
>> ip = IP(‘192.168.0.0/28‘)
>> print ip.len() ##輸出ip網段的所有ip個數
16
>> for x in ip: ##將所有的ip便利出來
... print x
...
192.168.0.0
192.168.0.1
192.168.0.2
192.168.0.3
192.168.0.4
192.168.0.5
192.168.0.6
192.168.0.7
192.168.0.8
192.168.0.9
192.168.0.10
192.168.0.11
192.168.0.12
192.168.0.13
192.168.0.14
192.168.0.15

>> IP(‘192.168.1.1‘).strBin() ##輸出IP地址的二進位
‘11000000101010000000000100000001‘

>> IP(‘192.168.0.0/23‘).netmask() ##輸出ip位址區段的子網路遮罩
IP(‘255.255.254.0‘)

>> IP(‘192.168.1.1‘).iptype() ##輸出IP地址的類型公有或者私人等
‘PRIVATE‘
>> IP(‘8.8.8.8‘).iptype()
‘PUBLIC‘

接下來寫一個指令碼來根據輸入的IP地址返回各種結果:

[[email protected] python]# cat ip_test.py #!/usr/bin/python#-*- coding:utf-8 -*-from IPy import IPip_input = raw_input("請輸入一個ip地址或者位址區段: ")ips = IP(ip_input)if int(len(ips)) > 1 :   ##判斷IP地址個數,大於1代表輸入的是位址區段    print "網段: %s" % ips.net()    print "ip個數: %s" % len(ips)    print "子網路遮罩: %s" % ips.netmask()    print "廣播位址: %s" % ips.broadcast()else :   ##輸入的是一個IP地址    print "二進位為: %s" % ips.strBin()    print "地址的類型: %s" % ips.iptype()

測試一下:

輸入IP地址測試[[email protected] python]# python ip_test.py 請輸入一個ip地址或者位址區段: 192.168.1.1二進位為: 11000000101010000000000100000001地址的類型: PRIVATE輸入IP位址區段測試[[email protected] python]# python ip_test.py 請輸入一個ip地址或者位址區段: 192.168.0.0/23網段: 192.168.0.0ip個數: 512子網路遮罩: 255.255.254.0廣播位址: 192.168.1.255

關於IP地址處理模組IPy的功能還有很多,大家可根據需要去使用。

寫一個簡單的python指令碼來返回ip地址的掩碼,子網個數等

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.