#https://github.com/zaeval/freenom-dns-manage-library/blob/master/fnml.py def get_my_public_ip(): ip_address = requests.get("http://ipecho.net/plain").text print(ip_address) # return ip_address # 打印输出当前ip地址 def print_my_ip(): api_url = 'https://api.ipify.org/' try: res = requests.get(url=api_url) res.raise_for_status() res.encoding = 'utf-8' # t= '当前使用 ip 地址:' + res.text + '\n' print('当前使用 ip 地址:' + res.text) except Exception as e: # text='获取当前 ip 地址失败:' + str(e) + '\n' print('获取当前 ip 地址失败:' + str(e)) def main_handler(event, context): get_my_public_ip() print_my_ip() if __name__ == "__main__": main_handler("","")
Bash
在排除网络问题,建立新连接或配置防火墙时,了解设备的 IP 地址很重要。
IP 地址可以分为两类,公用和私有(专用)。公用 IP 是唯一的 IP 地址,可以从 Internet 访问。专用 IP 地址保留供您专用网络内部使用,而不会直接暴露给 Internet。此外,有两种类型的 IP 地址,即 IP 版本4(IPv4)和 IP 版本6(IPv6)。
本文将介绍几种确定 Linux 系统的公共 IP 地址和私有 IP 地址的不同方法。
查找你的私有 IP 地址
专用 IP 地址不可通过 Internet 路由,并且只能在本地网络内工作。通常,专用 IP 地址是由路由器分配给本地网络中的每个设备的。这为本地网络中的设备(例如电话、笔记本电脑、智能电视、打印机、媒体中心等)提供了唯一的 IP 地址。本地网络上的设备通过 NAT(网络地址转换)连接到 Internet。
以下 IPv4 地址范围是为专用网络保留的:
1 2 3
10.0.0.0/8 172.16.0.0/12 192.168.0.0/16
你可以通过使用诸如 ip、ifconfig 或 hostname 命令查询网络堆栈确定系统的私有 IP 地址。
在 Linux 中,用于显示和配置网络接口的标准工具是 ip。
要显示所有网络接口和关联的 IP 地址的列表,请键入以下命令:
1
ip addr
输出如下所示。专用 IP 地址突出显示。
你还可以使用以下命令来显示私有 IP 地址:
1 2
$ hostname -I $ ifconfig
查找你的公共 IP 地址
公共 IP 地址是分配给网络设备的全球可路由 IP 地址,它允许直接访问 Internet。它们由其 ISP 分配给设备,并且每个设备都有唯一的公共 IP 地址。公用 IP 地址由家庭路由器、Web 服务器、邮件服务器等使用。
确定公共 IP 地址可以通过 HTTP/HTTPS 或 DNS 协议联系远程服务器,并从远程服务器响应中获取 IP 地址。
如果你是在没有 GUI 的 Linux 服务器上获取你分配到的公网 IP 地址,你可以使用命令行工具 dig、curl 和 wget 等来获取。
大多数 DNS 提供商(例如:OpenDNS 和 Google)都允许你查询其服务器并获取你的公共 IP 地址。你可以使用以下任何命令来获取公网 IP:
1 2 3
$ dig ANY +short @resolver2.opendns.com myip.opendns.com $ dig ANY +short @resolver2.opendns.com myip.opendns.com $ dig ANY +short @ns1-1.akamaitech.net ANY whoami.akamai.net