📜  如何在 python 中制作 ip 跟踪器(1)

📅  最后修改于: 2023-12-03 15:38:23.679000             🧑  作者: Mango

如何在 Python 中制作 IP 跟踪器

IP 跟踪器是一个用于跟踪 IP 地址的工具,可以用于确定某个特定的 IP 地址的地理位置、ISP、经纬度等信息。在这篇文章里,我们将介绍如何使用 Python 制作一个简单的 IP 跟踪器。

获取 IP 地址

要跟踪一个 IP 地址,首先需要获取它。在 Python 中,可以使用套接字模块(socket)来获取当前主机的 IP 地址,或者通过 URL 解析器来获取任何 URL 的 IP 地址。

获取当前主机 IP 地址

可以使用 socket.gethostbyname() 函数来获取当前主机的 IP 地址,示例代码如下:

import socket

hostname = socket.gethostname()
IP_address = socket.gethostbyname(hostname)

print("当前主机的 IP 地址为:" + IP_address)
获取 URL 的 IP 地址

可以使用 socket.gethostbyname() 函数来获取任何 URL 的 IP 地址,示例代码如下:

import socket

url = "www.baidu.com"
IP_address = socket.gethostbyname(url)

print(url + " 的 IP 地址为:" + IP_address)
跟踪 IP 地址

要跟踪 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 定位服务通常有限制,并且可能需要付费使用高级功能。