📅  最后修改于: 2023-12-03 15:38:23.679000             🧑  作者: Mango
IP 跟踪器是一个用于跟踪 IP 地址的工具,可以用于确定某个特定的 IP 地址的地理位置、ISP、经纬度等信息。在这篇文章里,我们将介绍如何使用 Python 制作一个简单的 IP 跟踪器。
要跟踪一个 IP 地址,首先需要获取它。在 Python 中,可以使用套接字模块(socket)来获取当前主机的 IP 地址,或者通过 URL 解析器来获取任何 URL 的 IP 地址。
可以使用 socket.gethostbyname()
函数来获取当前主机的 IP 地址,示例代码如下:
import socket
hostname = socket.gethostname()
IP_address = socket.gethostbyname(hostname)
print("当前主机的 IP 地址为:" + IP_address)
可以使用 socket.gethostbyname()
函数来获取任何 URL 的 IP 地址,示例代码如下:
import socket
url = "www.baidu.com"
IP_address = socket.gethostbyname(url)
print(url + " 的 IP 地址为:" + IP_address)
要跟踪 IP 地址,我们需要使用一个 IP 定位服务。有许多 IP 定位服务可供选择,其中一些免费的服务如:
在本教程中,我们将使用 IP-API 这个服务。
首先,我们需要定义一个函数,该函数将使用 requests
模块获取 IP-API 的响应,并返回包含有关 IP 地址的信息的字典。代码如下:
import requests
def trace_ip(ip_address):
url = "http://ip-api.com/json/" + ip_address
response = requests.get(url).json()
return response
现在,我们可以使用 trace_ip()
函数来跟踪任何 IP 地址,并获得关于该地址的信息。示例代码如下:
ip_address = "8.8.8.8"
ip_info = trace_ip(ip_address)
print("IP 地址:" + ip_info["query"])
print("地理位置:" + ip_info["country"] + ", " + ip_info["regionName"] + ", " + ip_info["city"])
print("经纬度(纬度,经度):" + str(ip_info["lat"]) + ", " + str(ip_info["lon"]))
print("ISP:" + ip_info["isp"])
输出结果应如下:
IP 地址:8.8.8.8
地理位置:United States, California, Mountain View
经纬度(纬度,经度):37.422, -122.084
ISP:Google LLC
这就是制作 Python IP 跟踪器的步骤。现在,您可以跟踪任何 IP 地址,并获得有关该地址的信息。请记住,IP 定位服务通常有限制,并且可能需要付费使用高级功能。