Ping过程&ICMP
1.ICMP(Internet控制消息协议)
ICMP=Internet Control Message Protocol
它是TCP/IP协议族的一个子协议
作用:用于在IP主机、路由之间传递控制消息。
什么是控制消息?
就是指网络通不通,主机是否可达,路由是否可用等网络本身的信息。
2.Ping过程
什么是ping过程?
可以使用ping命令来检查网络通不通,这个ping过程实际就是ICMP协议工作的过程。
ping.exe的原理?
向指定的IP地址发送一定长度的数据包,按照约定,若指定的IP地址存在的话,会返回同样大小的数据包。当然,若在特定的时间内没有返回,就是“超时”,就认为指定的IP地址不存在。
由于ping使用的是ICMP协议,有些防火墙会屏蔽掉ICMP协议(是一种安全策略),所以有时候,ping的结果只能作为参考,ping不通并不能说明对方IP不存在。
使用ARP协议凭借MAC地址进行通信:
什么是ARP?
ARP是一种用以解析地址的协议,根据通信方的IP地址就可以反查出对应的MAC地址。
栗子1:
A.使用ping 192.168.1.2,从返回结果找到对应信息
B.使用netstat 192.168.1.2,从返回结果找到对应信息
C.先使用ping 192.168.1.2,然后使用arp -a找对应mac地址
栗子2:
arp协议用了()A
A.broadcast
B.multicast
C.unicast
解释:地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个 TCP/IP协议 。 主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
所以,arp协议发的都是广播包
Ping过程&ICMP的更多相关文章
- ping过程详细解读
0. 前言 在讲解ping过程之前,我们需要了解以下概念. 1). 何为ping PING (Packet Internet Groper),因特网包探索器,用于测试网络连通性的程序. Pin ...
- ping过程详解
原出处:http://wanicy.blog.51cto.com/509018/335207/ PS:这里只是给出了ping ip地址的例子,没有给出ping域名的例子. ping 域名还有域名转换成 ...
- ping过程
premise: 一个局域网内,网段为192.168.0.0 , 有两台主机A(192.168.0.3) 主机B(192.168.0.4) 1. A 机器上执行: ping 192.168.0.4 2 ...
- Ping的过程详解
先看拓朴图: 我在这里讲拼的两情况,一种是同一网段内,一种是跨网段的ping …. 首先,如果主机A,要去拼主机B,那么主机A,就要封装二层报文,他会先查自己的MAC地址表,如果没有B的MAC地址,就 ...
- Windows7/10实现ICMP(ping命令)
如果觉得本文如果帮到你或者你想转载都可以,只需要标注出处即可.谢谢 利用ICMP数据包.C语言实现Ping命令程序,能实现基本的Ping操作,发送ICMP回显请求报文,用于测试—个主机到只一个主机之间 ...
- Ping命令与ICMP协议
ICMP协议 ICMP是"Internet Control Message Ptotocol"(Internet控制消息协议)的缩写.它是TCP/IP协议族的一个子协议,用于在IP ...
- TCP/IP协议---ICMP协议及ping、traceroute
ICMP Internet控制报文协议通常被认为是IP层的组成部分,一般被IP层或更高层(TCP.UDP)使用.ICMP报文是在IP数据报内部被传输的.如图: ICMP报文的格式如下: 报文的前4个字 ...
- 【网络协议】ICMP协议、Ping、Traceroute
ICMP协议 ICMP常常被觉得是IP层的一个组成部分,它是网络层的一个协议.它传递差错报文以及其它须要注意的信息.ICMP报文通常被IP层或更高层(TCP.UDP等)使用,它是在IP数据报内 ...
- ping不通 www.baidu.com 163.com
可以试试这个命令:netsh winsock reset ping不通,但是可以上网,原因有以下几个: 1.远程主机禁止ping 2.firewall禁止ping,icmp 3.dns解析有问题 fr ...
随机推荐
- 符号替换问题:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
public class Solution { public String replaceSpace(StringBuffer str) { String str1=str.toString(); c ...
- 用xaml画的带阴影3D感的圆球
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"> <E ...
- 【C++】【MFC】定义全局变量的方法
在stafx.h 里面加extern CString place在stafx.app 里面加CString place
- Cygwin 下的 自动安装工具 apt-cyg
类似 于apt-get 或者 yum Cygwin可以在Windows下使用unix环境Bash和各种功能强大的工具,对于Linux管理员来说不想使用Linux桌面是必备的工具. Cygwin下也有类 ...
- Codeforces Round #327 (Div. 2) B Rebranding(映射)
O(1)变换映射,最后一次性替换. #include<bits/stdc++.h> using namespace std; typedef long long ll; ; char s[ ...
- BSGS算法初探
前言 \(BSGS\)算法,全称\(Baby\ Step\ Giant\ Step\),即大小步算法.某些奆佬也称其为拔(Ba)山(Shan)盖(Gai)世(Shi)算法. 它的主要作用是求解形式如\ ...
- python_53_函数补充
def test1(x,y=2): print(x,y) test1(1) test1(1,3) test1(1,y=4) #默认参数特点:调用函数的时候,默认参数非必须传递,默认参数放在后边 #用途 ...
- Feign + Hystrix 服务熔断和服务降级
本机IP为 192.168.1.102 1. 新建 Maven 项目 feign 2. pom.xml <project xmlns="http://maven.apa ...
- PAT (Advanced Level) Practise - 1095. Cars on Campus (30)
http://www.patest.cn/contests/pat-a-practise/1095 Zhejiang University has 6 campuses and a lot of ga ...
- java基础面试题:switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
package com.swift; public class Switch_Test { public static void main(String[] args) { /* * switch语句 ...