【问题标题】:Detect ISP (or/and country) by IP Address [duplicate]通过IP地址检测ISP(或/和国家)[重复]
【发布时间】:2013-09-21 04:16:09
【问题描述】:

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

所以我的问题是:如何在知道 IP 地址的情况下以编程方式获取此类信息?是否有一些公共目录或 API 用于检索此类信息?

【问题讨论】:

    标签: ip


    【解决方案1】:

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

    【讨论】:

    • 商业用途需要付费方案。
    【解决方案2】:

    使用此http://ip-api.com/json/[ip address] 示例: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":""}
    

    【讨论】:

    • 商业用途需要付费方案。
    【解决方案3】:

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

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

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

    2383101952,2383116287,"AS20001 时代华纳有线互联网有限责任公司"

    前两个字段是十进制的 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 的主机名。

    【讨论】:

      【解决方案4】:

      查看 Maxmind 的 GeoIP 数据库。它是免费的,我已经在我的许多 java 应用程序中使用它。

      http://dev.maxmind.com/geoip/geoip2/geolite2/

      【讨论】:

      • 免费的GeoIP数据库都缺少ISP信息。
      • 即使是一些付费版本,他们也会提供 ISP 详细信息
      【解决方案5】:

      试试ipdata.co API。它提供了更多关于 IP 地址的数据,并且具有极强的可扩展性。即它有 10 个全局端点,每个端点每天可以处理超过 8 亿次调用!

      示例;

      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
          }
      }⏎ 
      

      【讨论】:

      • 商业用途需要付费方案。
      【解决方案6】:

      技术在进步。在 6 年后查看您的问题后,IP2Location 提供国家、地区或州、城市、纬度和经度、邮政编码、时区、互联网服务提供商 (ISP) 或公司名称、域名、网速、区号、气象站代码、气象站名称、移动国家代码 (MCC)、移动网络代码 (MNC) 和运营商品牌、海拔、使用类型、代理检测和来自 IP 地址的类型。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-08
        • 2016-02-04
        • 1970-01-01
        • 2014-03-23
        相关资源
        最近更新 更多