3

我有一个简单的 Python 脚本,可以获取域的 IP 并使用 Maxmind 查找国家/地区。我希望该脚本还可以获取托管该 IP/站点的网络托管公司。这可能吗,如果可以,怎么办?我已经搜索了这个网站和其他地方,但运气不佳。

4

3 回答 3

5
>>> import socket
>>> socket.gethostbyaddr("69.59.196.211")

('stackoverflow.com',['211.196.59.69.in-addr.arpa'],['69.59.196.211'])

于 2012-11-07T15:30:19.193 回答
1

如果您想获取 IP(而不是 DNS 名称)后面的组织名称(AS 编号/名称):

>>> import pygeoip
>>> ai = pygeoip.GeoIP('GeoIPASNum.dat', pygeoip.MEMORY_CACHE)
>>> ip = '1.1.1.1'
>>> asn = ai.org_by_addr(ip)
>>> print asn
AS15169 Google Inc.

-- ab1

于 2013-09-13T17:07:57.323 回答
1

如果您对调用第 3 方服务的延迟没意见,您可以使用http://ipinfo.io API(我的服务),它会返回地理位置和公司信息,例如:

$ curl ipinfo.io
{
  "ip": "67.188.232.131",
  "hostname": "c-67-188-232-131.hsd1.ca.comcast.net",
  "city": "Mountain View",
  "region": "California",
  "country": "US",
  "loc": "37.4192,-122.0574",
  "org": "AS7922 Comcast Cable Communications, Inc.",
  "postal": "94043"
}

这是一个使用优秀requests库的简单 python 示例:

>>> import requests
>>> r = requests.get('http://ipinfo.io/67.188.232.131/json')
>>> r.json['org']
u'AS7922 Comcast Cable Communications, Inc.'
>>> r.json['city']
u'Mountain View'

有关更多详细信息,请查看http://ipinfo.io/developers

于 2014-09-03T01:24:34.430 回答