按IP地址检测ISP(或/和国家/地区)

Dmy*_*tov 10 ip

互联网上有大量的服务,我们可以找到我们机器的外部IP地址,但这些服务通常提供有关互联网提供商或国家(或两者)的信息.

所以我的问题是:我怎样才能以编程方式获取这些信息知道IP地址?是否有一些公共目录或某些API用于检索此类信息?

Ben*_*ing 16

您可以使用我的服务http://ipinfo.io API.以下是它提供的详细信息的示例:

$ curl ipinfo.io
{
  "ip": "67.188.232.131",
  "hostname": "c-67-188-232-131.hsd1.ca.comcast.net",
  "city": "Milpitas",
  "region": "California",
  "country": "US",
  "loc": "37.44040000000001,-121.87049999999999",
  "org": "AS7922 Comcast Cable Communications, Inc.",
  "postal": "95035",
  "phone": 408
}
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅http://ipinfo.io/developers.


Fat*_*him 11

使用此http://ip-api.com/json/[ip地址]示例:http://ip-api.com/json/113.14.168.85

输出:

{"as":"AS4134 Chinanet","city":"Nanning","country":"China","countryCode":"CN","isp":"China Telecom","lat":22.8167,"lon":108.3167,"org":"China Telecom","query":"113.14.168.85","region":"45","regionName":"Guangxi Zhuangzu Zizhiqu","status":"success","timezone":"Asia/Shanghai","zip":""}
Run Code Online (Sandbox Code Playgroud)


小智 5

Maxmind 的 GeoLite Legacy 可下载数据库包含适用于 IPv4 和 IPv6 的 ASN,位于:

http://dev.maxmind.com/geoip/legacy/geolite/

二进制和 CSV 数据格式均可免费下载。CSV 条目可能如下所示:

2383101952,2383116287,"AS20001 Time Warner Cable Internet LLC"

前两个字段是十进制的 IP 地址范围。最后一个字段包含 ASN 和实体名称。

或者,Internet-Wide Scan Data Repository(最近推出了带有免费在线搜索和 API 的 Censys)包括对所有 IPv4 PTR 记录的常规 DNS 查找:

https://scans.io/study/sonar.rdns

可免费下载的 CSV 文件包含以下条目:

99.99.99.90,adsl-99-99-99-90.dsl.lsan03.sbcglobal.net

第一个字段是 IP,第二个字段是您可以用来推断 ISP 的主机名。