为什么PING域名得到IP与实际公网IP不符

1.ping命令返回一个公网ip地址,但是这个ip地址和花生壳客户端所在机器的当前公网ip不一致

例如ping ping-is-no-good.gicp.net,返回的ip是59.37.71.85,如下图:



而当前花生壳登录的电脑通过路由器上网,路由器的wan口ip是121.32.186.189,也就是说花生壳登录的这台电脑的公网ip是121.32.186.189。

①遇到这种情况,首先要确认是不是你的电脑中的DNS缓存尚未刷新导致。

想象这样一个例子:你刚才在电脑C打开浏览器访问域名ping-is-no- good.gicp.net,发现浏览器提示“您输入的域名和网址无法访问”,这时C的DNS缓存中留下了一个关于此域名的ip地址记录。你检查了服务器 S,发现花生壳的客户端离线了,接下来你把花生壳客户端重新登录在线,这时你再在电脑C上去访问这个域名,很可能此时本机的DNS缓存会返回给你之前的 ip地址,而不是S当前的公网ip地址。

下面是具体过程:

用命令” ipconfig /displaydns”可以看到本机DNS缓存中的所有记录。发现其中有一条关于ping-is-no-good.gicp.net的记录如下图所示:



计算机ping一个域名时,会先去本机的DNS缓存中查找,上面看到的DNS缓存中的信息就影响了ping的结果。

这时用命令” ipconfig /flushdns”可以清除本机DNS缓存中的所有记录,如下图所示:



清除了缓存后,再ping域名,就可以排除本机DNS缓存的影响,这时返回的ip地址就是正确的,如下图所示:



②有时候你会发现清除了本机的DNS缓存后,ping域名得到的ip仍然不是正确的ip地址。这时候很可能是你的宽带接入商的地区DNS服务器尚未刷新数据,也就是它尚未同步DNS数据,那么当你的花生壳所在电脑的 ip地址变化了之后,虽然Oray的DNS服务器已经将ping-is-no-good.gicp.net指向了当前的新ip地址,但是你那个地区的接入商的DNS服务器返回给你电脑的ping-is-no-good.gicp.net的ip地址还是之前的旧ip地址。如下图所示:



这种时候你要做的就是把本机DNS服务器设置为当地最高效的DNS服务器,你可以直接拨打你的宽带接入商的服务电话询问并把问到的高效DNS地址设置到你的电脑上即可。例如将电脑的主DNS从202.96.128.86改为 202.96.128.166,然后用命令” ipconfig /flushdns”清除本机DNS缓存后,再ping ping-is-no-good.gicp.net,结果正确,如下图所示:



2. ping命令返回一个局域网ip地址

如下图所示:



192.168.0.2是一个局域网ip地址,在公网上是无效的。

造成这种情况的原因,一般是用户在本机的hosts文件中添加了一条关于ping-is-no-good.gicp.net的ip地址记录。

Hosts文件是一个用于存储计算机网络中节点信息的文件,它可以将主机名映射到相应的IP地址,实现DNS的功能,它可以由计算机的用户进行控制。Hosts文件只对本机有效。

Hosts文件的存储位置在不同的操作系统中并不相同,甚至不同Windows版本的位置也不大一样。Windows NT/2000/XP/2003/Vista:默认位置为%SystemRoot%/system32/drivers/etc/。例如 c:/windows/system32/drivers/etc/。

修改本机的Hosts文件,一般出于以下几种应用目的:

(1)加快域名解析

如果在Hosts中配置了某个域名和IP的映射关系,当输入域名计算机就能很快从本机的Hosts文件中查找到该域名的IP,而不用请求网络上的DNS服务器查询,从而提高域名解析速度。

(2)方便局域网用户

在很多局域网中,会有内部服务器提供给用户使用。但由于局域网中一般很少架设DNS服务器,访问这些服务器时,要输入难记的IP地址。管理员可以分别给这些服务器取个容易记住的名字,然后在每个用户机器的Hosts中建立IP映射,这样以后访问的时候,只要输入这个服务器的名字就行了。

(3)屏蔽网站

对于某些不良网站,我们可以利用Hosts把该网站的域名映射到错误的IP或本地计算机的IP,这样本机就访问不到了。在WINDOWSX系统中,约定127.0.0.1为本地计算机的IP地址, 0.0.0.0是错误的IP地址。

如果在Hosts中,写入以下内容:

127.0.0.1要屏蔽的网站A

0.0.0.0 要屏蔽的网站B

这样,计算机解析域名A和B时,就解析到本机IP或错误的IP,达到了屏蔽网站A和B的目的。某些杀毒软件就是通过修改Hosts文件达到屏蔽不良网站的目的。

(4)顺利连接某些特殊系统

对于Lotus的服务器和一些数据库服务器,在访问时如果直接输入IP地址那是不能访问的,只能输入服务器名才能访问。那么配置好Hosts文件,这样输入服务器名就能顺利连接了。

例如:某服务器管理员在服务器的Hosts文件中加了一条记录:

192.168.0.2 ping-is-no-good.gicp.net

如下图所示:



那么你在服务器上去ping域名ping-is-no- good.gicp.net,得到的ip是192.168.0.2,同时你如果看一下花生壳客户端上ping-is-no-good.gicp.net的域名诊断,会发现域名诊断提示域名指向192.168.0.2,提示域名解析错误,如下图所示:



这都是本机Hosts文件造成的影响。只要在”192.168.0.2 ping-is-no-good.gicp.net”这一行前面加个”#”号把它变成注释,或者直接删掉这一行,然后保存文件,就可以消除这个影响。改变hosts文件后,查询结果如下:



总结:

在计算机上ping一个域名时,首先会去查询该域名的ip地址,查到了再ping这个ip地址。

计算机查询域名ip地址的过程如下:

①在本机DNS缓存中查询(本机Hosts文件中任何域名到ip地址的映射都将加载到本机DNS缓存中)

如果本机DNS缓存中有关于该域名的记录,那么返回记录中对应的ip地址,清除了本机DNS缓存就可以消除此影响。如果该记录是从Hosts文件加载到本机DNS缓存的,那么必须通过修改Hosts文件消除此影响。

②若本机DNS缓存中没有对应的记录,将向本机的主DNS服务器询问

DNS服务器接收到查询时,会首先查找能否根据在服务器的就地配置区域中获取的资源记录信息作出权威性的应答,若没有该域名的信息,再检查它能否通过本地缓存的先前查询信息(从以前DNS查询应答的响应中获取的资源记录将被添加至缓存并保留一段时间)来解析域名,若仍然没有查找到该域名的对应记录,将使用递归查询域名,即询问其他DNS服务器帮助解析域名。

下图所示为本机尝试访问www.microsoft.com 的解析过程:



从上面的过程看,受本机DNS缓存、Hosts文件、地区DNS服务器刷新时间等因素影响,你ping域名得到的ip地址可能根本不是Oray的DNS服务器将你的域名解析到的ip地址。

其实,ping命令不是用来检测域名当前解析到的公网ip的,Ping命令是通过ICMP协议进行检测网络连通性的一个工具,除了上面说到的因素,防火墙或路由器访问规则也可能造成ping域名得到的ip地址不是花生壳真正将域名指向到的ip地址,并且也有可能ping不通。

你可以直接用下面的命令来查询:

nslookup ping-is-no-good.gicp.net ns1.oray.net 或者 nslookup ping-is-no-good.gicp.net ns2.oray.net

ns1.oray.net和ns2.oray.net是Oray的两台DNS服务器域名。以上两个命令直接指定以Oray的DNS服务器作为命令询问的对象,是不受本机DNS缓存、Hosts文件、地区DNS服务器刷新时间的因素影响的。命令将返回ping-is-no-good.gicp.net当前被花生壳解析到的ip地址。例如下图中,查询到的ip地址是58.62.105.187:

(0)

相关推荐

  • 怎么ping IP地址,怎么ping域名

    今天小编要和大家分享的是怎么ping IP地址,希望能够帮助到大家. 操作方法 01 首先点击我们电脑左下方的开始菜单,如下图所示. 02 然后输入CMD并点击回车键,如下图所示. 03 接着点击cm ...

  • 外网访问内网应用,无公网IP时的实现

    操作方法 01 网上找了不少外网访问内网应用的教程,基本上都是路由器端口映射的实现方案,然而,对于无公网IP环境,即路由没有公网时,这种方案是不可行. 没有公网IP时,只能借助第三方开放的网络辅助软件 ...

  • 教你如何把内网IP当公网IP用

    由于越来越多的用户被分配到内网IP,又无法协商更改,但是内网IP的诸多限制使得要使用一些必须用公网IP才能搭建的服务的时候,极为不方便,这里我介绍一个方法,可以把内网IP当公网IP使用,简单有效. 使 ...

  • 手把手教你用NAT123实现无公网IP远程监控

    NVR或视频监控服务器部署在内网环境,局域网内可以访问视频监控,内网也可以上外网,但没有公网IP,设备自身不带p2p云穿透.或者宽带光猫没有做端口映射的权限如何实现外网访问内网视频监控? 操作方法 0 ...

  • 如何设置可以把宽带内网IP变成公网IP

    如果是使用的内网IP,那么做许多服务搭建的时候都会受到限制或者是根本不能使用,某些私人共享也无法完成,但是要是可以把内网变成公网,所有的问题就解决了,可以用下面介绍的这个方法搞定. 使用花生壳对内网进 ...

  • 如何远程控制无公网IP内网用户

    现在很多家里的电脑都有安装路由器  而运营商给分配的是内网IP 通过映射来访问外网 那么这里教大家如何用外网访问内网无公网IP用户来远程控制 操作方法 01 首先,先去nat123官网http://w ...

  • Linux下获取公网IP地址的方法

    在linux环境渗透时有时因权限或其他原因无法使用ifconfig命令那么就可以用下面的方法查看外网ip 1.如何在LINUX服务器下查看公网IP地址,可以使用下面的方法: curl http://m ...

  • CentOS如何从命令行获取公网IP

    最近本地配置了服务器,使用了家用的带宽没有固定的IP地址.因此,需要获取到自己的公网IP地址. 机器是CentOS 6.5的服务器版本自然就没有办法通过浏览器访问的方式获取到公网IP地址. 因此记录一 ...

  • 没有公网IP、不用专业设备,蒲公英搞定异地组网只要简单两步

    为什么要异地组网? 如今,很多人都有移动办公访问内部办公系统(如OA.ERP.CRM.财务系统等).远程控制.组建私有云.视频监控之类的需求.不过,不少宽带运营商并不会给用户分配固定的公网IP,因此, ...