簡體   English   中英

如何用IPy確定白名單中的IP地址?

[英]How to determine if IP address in whitelist with IPy?

在Python中,我使用IPy模塊處理一組IP地址,例如: - Google的DNS(8.8.8.8) - 其他一些Google IP,如209.85.128.0/17等。

myWhiteList = Set(IP('8.8.8.8'), IP('209.85.128.0/17'))

目前,我采用IP地址和子網掩碼,並創建一個包含表單中所有IP的巨大列表:

for i in IP('209.85.128.0/17'):
    myList.add(i)

然后檢查我的給定IP是否在此主列表中。 有沒有更有效的方法來檢查IPy列表中的IP而不是像我這樣擴展IP?

這樣的東西:

from IPy import IP
if '192.168.0.1' in IP('192.168.0.0/30'):
    print "My IP is in the whitelist! Yay!"

或者在您的情況下,當您在列表中有多個網絡時:

for white_net in myWhiteList:
    if my_ip in white_net:
        print "My IP is in the whitelist! Yay!"
        break

或者,您可以將它組合在一行中:

my_ip = '209.85.128.1'
is_in_whitelist = any([my_ip in white_net for white_net in myWhiteList])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM