通过IP地址检测ISP(或/和国家)

12

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

那么我的问题是:如果知道IP地址,如何通过编程方式获取此类信息?是否有一些公共目录或检索此类信息的API?

6个回答

21

您可以使用我的服务,即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
}

查看http://ipinfo.io/developers获取更多信息。


商业使用需要付费计划。 - pmagunia

17

使用此代码 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":""}

商业使用需要付费计划。 - pmagunia

6
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)在https://scans.io/study/sonar.rdns中包括所有IPv4 PTR记录的常规DNS查找。可免费下载的CSV文件包含诸如以下条目:99.99.99.90,adsl-99-99-99-90.dsl.lsan03.sbcglobal.net。第一个字段是IP地址,第二个字段是主机名,您可以使用它来推断ISP。

2

2
免费的GeoIP数据库都缺乏ISP信息。 - tobltobs
即使一些付费版本,它们也会提供ISP详细信息。 - Naveen

1
尝试使用ipdata.co API。它提供了更多有关IP地址的数据,并且也非常具有可扩展性。即它有10个全球端点,每个端点每天都可以处理超过800M个调用!
示例;
curl https://api.ipdata.co/70.70.70.70
{
    "ip": "70.70.70.70",
    "city": "",
    "region": "",
    "region_code": "",
    "country_name": "Canada",
    "country_code": "CA",
    "continent_name": "North America",
    "continent_code": "NA",
    "latitude": 43.6319,
    "longitude": -79.3716,
    "asn": "AS6327",
    "organisation": "Shaw Communications Inc.",
    "postal": "",
    "currency": "CAD",
    "currency_symbol": "$",
    "calling_code": "1",
    "flag": "https://ipdata.co/flags/ca.png",
    "emoji_flag": "\ud83c\udde8\ud83c\udde6",
    "time_zone": "",
    "is_eu": false,
    "suspicious_factors": {
        "is_tor": false
    }
}

1
商业使用需要付费计划。 - pmagunia

0

技术在不断进步。经过6年后的再次审视您的问题,IP2Location 现提供了从 IP 地址获取国家、地区或省份、城市、纬度和经度、邮政编码、时区、互联网服务提供商(ISP)或公司名称、域名、网络速度、区号、气象站代码、气象站名称、移动国家代码(MCC)、移动网络代码(MNC)和运营商品牌、高度、使用类型、代理检测等信息。


需要付费订阅 - undefined
@robertspierre 看起来他们在 https://www.ip2location.io 提供免费的API。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接