可以正常ping通主机时,只能说明本机到目标主机的网络层是通畅的(ip数据包可以正常到达目标主机),但并不能说明目标主机上的具体服务可以正常访问,因为具体服务的进程是运行在主机上的指定端口的。
目标主机ping不通时也不能说明目标主机上的服务不能正常访问,也可能可以正常访问目标主机上的服务,只是ping不通而已,因为很多主机的防火墙会禁止ping,关闭ping回显等,此时也是ping不通的。
如果ping不通目标主机,那么排查的方式是:
1.看看其他主机能不能ping通目标主机
2.如果其他主机可以ping通目标主机,则说明肯定是本主机到目标主机的网络不通,具体原因再排查
3.如果其他主机都不能ping通目标主机,那么可能有两种情况:
(1)可能本机到目标主机的网络是通畅的,只是目标主机禁止了ping,或者关闭了ping回显,或者开启了防火墙等等,因此所有主机都ping不通。
(2)可能本机和其他主机到目标主机的网络都不通,具体原因再排查
ping命令使用的是什么端口
ping程序使用的是ICMP协议,此协议是在IP层(网络层),还没有涉及到TCP层(传输层),因此没有端口操作。
TCP/IP四层模型:应用层、传输层、网络层、数据链路层
网络层只负责正确的把数据包发送到指定ip的主机上,至于发送到主机的哪个进程,就由端口号来决定。
因此网络层协议是不涉及端口的,只需要ip即可。
端口号是传输层协议(比如TCP、UDP等)的头部才需要加上的。网络层协议的头部加上的是ip地址。
ICMP属于哪层协议
ICMP属于网络层协议。ICMP协议是一种面向无连接的协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等
ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
ping不通目标主机的可能原因
- 到目标主机的网络链路不通
- 防火墙禁止ping,关闭ping回显,禁止ICMP协议等
- 杀毒软件禁止了ICMP协议
参考:
TCP-IP详解卷1-06:ICMP:Internet控制报文协议(Internet Control Message Protocol)
ICMP(Internet Control Message Protocol)网际控制报文协议初识
请问ping应该是对那个端口进行什么操作?