鍍金池/ 問(wèn)答/Linux  網(wǎng)絡(luò)安全/ centos7服務(wù)器發(fā)現(xiàn)curl一個(gè)ip通,ping同一ip卻不通?

centos7服務(wù)器發(fā)現(xiàn)curl一個(gè)ip通,ping同一ip卻不通?

為什么會(huì)出現(xiàn)這個(gè)問(wèn)題?

ping不通(ping了百度其中一個(gè)ip)

$ ping 220.181.57.216
PING 220.181.57.216 (220.181.57.216) 56(84) bytes of data.
--- 220.181.57.216 ping statistics ---
80 packets transmitted, 0 received, 100% packet loss, time 78998ms

但是curl可以通


$ curl 220.181.57.216
<html>
<meta http-equiv="refresh" content="0;url=http://www.baidu.com/">
</html>

請(qǐng)問(wèn)為什么?可以肯定這個(gè)ip是可以ping的,我自己的電腦就能ping通,試了幾個(gè)IP,都是同一個(gè)情況

回答
編輯回答
怣痛

ping通需要路由的每個(gè)節(jié)點(diǎn)都支持ICMP協(xié)議轉(zhuǎn)發(fā), 你的情況很可能是服務(wù)器防火墻把ICMP協(xié)議禁掉了.

你可以分別在你的機(jī)器上和服務(wù)器上互相用`traceroute IP`(windows上用tracert)試試, 看看是哪一跳過(guò)不去

2017年8月30日 10:15
編輯回答
熟稔

其實(shí)pingcurl沒(méi)有任何聯(lián)系,大多數(shù)排查網(wǎng)絡(luò)故障往往是從ping開始,于是很多新手都被誤導(dǎo)了,認(rèn)為能ping通服務(wù)就一定是通的,或者反過(guò)來(lái)也是一樣的。

其實(shí)這是錯(cuò)誤的認(rèn)識(shí),ping默認(rèn)使用的協(xié)議是ICMP,你會(huì)發(fā)現(xiàn)不是tcp/udp socket。所以服務(wù)器或防火墻可以通過(guò)拒絕ICMP協(xié)議來(lái)實(shí)現(xiàn)拒絕ping。所以不能ping通不代表你的socket不能訪問(wèn),這倆沒(méi)有直接聯(lián)系,壓根不是一個(gè)協(xié)議

2017年9月9日 01:47