Ping的故事

我在项目群里询问Patric 服务器的IP地址

Pattric说 conference 上面已经有了

我说那是域名

Pattric说 ping 就知道IP了

我也知道Ping就知道Ip啊

但是不知道为什么我Ping之前得到两个域名确什么结果也没有

我就说不一定就能ping得到

但实际是,即使Ping不通也可以得到ip地址

如果连IP地址都没有,说明DNS服务器无法解析

Eric说Ping不通很正常,很多服务器屏蔽了Ping,然后不求甚解了,觉得ping不通就是限制ping了

结论就是,我对ping的掌握只限于,很浅的知识,就是可以得到IP地址

而明显他们三个比我的认知要深入得多,知道可以屏蔽,而且知道DNS

在项目群里完全暴露了自己的无知,感觉老大都要嘲笑我了

所以呢,知识不能一知半解,要深入的学习。

你不是要定位吗,这个就是一个定位,学好Ping的知识,虽然你可能看不起它,觉得很简单,很小....

那么再发散一下,我除了这个知识点没掌握好,还有什么是一知半解的呢?

conference的使用

Vim的使用

git的使用

gitlab的使用

jira的使用

英语的听说写

linux的使用

路由器的使用

Excel的使用

word的使用

邮件的使用

以上列表并未列完,要成为专家,必须重视这些简单的东西,好好的花时间掌握,粗略估计,至少需要6个月。

那么回到正题,Ping的本质究竟是什么呢?不妨先用网络搜索一下。

ping某个域名相对于ping IP地址来说,多了一些步骤,主要用来获取域名对应的IP地址,整个过程如下:

1、主机查找本地系统Hosts文件的DNS缓存,如果存在该域名对应的IP,则获取IP,跳转到第8步;如果不存在,则继续。

2、主机向本网络路由器发起请求,查找路由DNS缓存,如果存在该域名对于的IP,则获取IP,跳转到第8步;如果不存在,则继续。

3、路由器向本地ISP(互联网提供商)的DNS服务器发起请求,查找DNS服务器的缓存,如果存在该域名对应的IP,则跳转到第7步;如果不存在,则继续。

4、本地DNS服务器向根域名服务器发起请求,根域名服务器告诉本地服务器,下一次应查询的顶级域名服务器dns.com的IP地址。

7、本地域名服务器最后把查询结果——该域名对应的IP地址告诉给主机。

8、至此,主机知道了该域名的IP地址。

禁止Ping

禁止ping后,不让别人通过域名ping到你的ip,

如果禁用后,你在ping自己的域名会给你返回服务商的IP并提示超时,

这样你就可以减少IP暴露,增加一点安全。

禁止方法:

编辑 /etc/sysctl.conf 里面配置,如果没有添加上

执行命令让配置生效

sysctl -p

生效之后会改变 /proc/sys/net/ipv4/icmp_echo_ignore_all 文件里的值

windows 2003

一、开启通过CMS执行命令,禁ping

允许ping:netsh firewall set icmpsetting 8

禁ping:netsh firewall set icmpsetting 8 disable

这样再ping 服务器就显示超时了:

二、使用防火墙控制面板设置禁ping

“开始“-》“控制面板“-》”windows防火墙“ -》”高级“ –》”ICMP“->”设置”

取消勾选“允许传入回显请求“

最后,还有一个问题,为什么ping内网地址,就是直接找不到host,而不是ip?

另外,下次顺便了解下ICMP,NSLOOKUP的原理

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181206G14UK800?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券