📜  使用 ipaddress 模块确定给定 IP 地址是公共还是私有的Python程序

📅  最后修改于: 2022-05-13 01:54:48.728000             🧑  作者: Mango

使用 ipaddress 模块确定给定 IP 地址是公共还是私有的Python程序


给定一个有类 IP 地址,任务是找出它是公共的还是私有的。

系统的私有 IP 地址是用于在同一网络内进行通信的 IP 地址。使用私有 IP 数据或信息可以在同一网络内发送或接收。

系统的公共 IP 地址是用于与网络外部通信的 IP 地址。公共 IP 地址基本上由 ISP(互联网服务提供商)分配。

例子:

Input : 17.5.7.8
Output : Public

Input : 172.16.0.10
Output : Private

为了实现它,我们将使用Python 3.3 的 ipaddress 模块的 is_private 方法。

# importing ip_address from 
# ip address module
from ipaddress import ip_address
   
def IPAddress(IP: str) -> str:
    return "Private" if (ip_address(IP).is_private) else "Public"
     
if __name__ == '__main__' : 
   
    # Public IP
    print(IPAddress('17.5.7.8'))  
  
    # Private IP
    print(IPAddress('172.16.0.10'))

输出 :

Public
Private