2012-08-10 48 views
-1

我做NSLOOKUP此IP ..nslookup一个IP地址。一些问题!和Python脚本需要

NSLOOKUP 74.125.225.79

和主机名给出如下:

主机名:ord08s07-in-f15.1e100.net

-

但是当我浏览到74.125.225.79或使用ord08s07-in-f15.1e100.net

它把我带到google.com

我知道这是一个重定向。

-

问题..什么命令我在命令行(或在Python脚本)通过我在一个文本文件中的几个IP地址使用循环,这样我可以直接获取最终的域名。

74.125.225.79 - > www.google.com(或类似的东西),而不是某些服务器名称...像ord08s07-in-f15.1e100.net

我需要的原因是。 ..我有一个日志文件中的几个IP地址列表,我们的用户浏览,我需要找出他们去哪些网站...将IP映射到他们在浏览器上看到的域名。

我有一个Python脚本,通过文件使用以下命令循环:

>>> import socket 
>>> socket.gethostbyaddr("69.59.196.211") 
('stackoverflow.com', ['211.196.59.69.in-addr.arpa'], ['69.59.196.211']) 

但我需要最终目的地的浏览器看到的。

+0

BTW,1e100.net是Google的域名。查找“googol”的定义。这是我在回答的第4部分中描述的一个例子:Google拥有数百(可能是数千)服务器,反向DNS映射到1e100.net中的这些更具体的名称。 – Barmar 2012-08-10 23:32:31

回答

0

实际上,你不能。正如您发现的那样,单个IP地址并不能唯一标识一个网站 - 单个网站(尤其是像Google这样的大型网站)可能拥有很多IP地址,并且许多网站可能会共享一个IP地址。

3

出于多种原因,您无法将IP地址转换为特定的网站。

  1. 小型网站可能会使用共享服务器。 IP解析为共享托管服务,而不是特定站点。
  2. 许多大型网站都使用CDN。这些使用许多服务器分布在世界各地。
  3. 如果网站托管在住宅IP上,则反向DNS通常指向ISP域中的名称,而不是客户自己的域。
  4. 该网站可能会执行DNS轮询负载平衡,因此www.company.com会解析为多个不同的IP。这些IP中的每一个的反向DNS可以是更具体的名称,例如, webserver1.company.com,webserver2.company.com等。