互联网上有很多服务我们可以找到我们机器的外部IP地址,但这些服务通常提供有关互联网提供商或国家(或两者)的信息。
所以我的问题是:我怎样才能以编程方式获取这些信息知道IP地址?是否有一些公共目录或某些API用于检索此类信息?
答案 0 :(得分:15)
您可以使用我的服务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。
答案 1 :(得分:10)
使用此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":""}
答案 2 :(得分: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的主机名。
答案 3 :(得分:2)
通过Maxmind查看GeoIP数据库。它是免费的,我一直在我的许多Java应用程序中使用它。
答案 4 :(得分:1)
技术正在进步。在6年后审核您的问题后,IP2Location提供国家,地区或州,城市,经度和纬度,邮政编码,时区,互联网服务提供商(ISP)或公司名称,域名,净速度,区域代码,气象站代码,气象站名称,移动国家代码(MCC),移动网络代码(MNC)和运营商品牌,海拔,使用类型,代理检测和IP地址类型。
答案 5 :(得分:0)
试用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
}
}⏎