ICMP(Internet Control Message Protocol)网际控制报文协议初识

ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

它工作在OSI七层模型的中的第三层——网络层。

每一个ICMP消息都将包含引发这条ICMP消息的数据包的完全IP包头,这样,端点系统就会知道实际上哪一个数据包没有发送到目的地.另外引发此ICMP消息的数据包的前8个字节也将包括在内,这通常是TCP或者UDP包头.
ICMP报文的结构如下图所示:

ICMP

其中类型(TYPE)和代码(CODE)共同确定了ICMP传输的消息。而检验和则用于验证ICMP的完整性。TYPE和CODE的对应表如下:

ICMP对应表

  • 面向无连接
  • 是TCP/IP协议族的一个子协议,属于网络层协议
  • 传递的是控制信息
  • PING和Tracert等命令就是基于ICMP协议
  • ICMP就是一个“错误侦测与回报机制”
  • 侦测远端主机是否存在
  • 建立及维护路由资料
  • 重导资料传送路径(ICMP重定向:在特定的情况下,雅思英语当路由器检测到一台机器使用非优化路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由。)

当我们使用PING命令进行主机探测时,使用的就是ICMP协议。

ICMP协议本身的特点决定了它非常容易被用于攻击网络上的路由器和主机。

  • “Ping of Death” 攻击的原理是:如果ICMP数据包的尺寸超过64KB上限时,主机就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使主机死机。(操作系统已经取消了发送ICMP数据包的大小的限制,解决了这个漏洞)
  • 向目标主机长时间、连续、大量地发送ICMP数据包,也会最终使系统瘫痪。大量的ICMP数据包会形成“ICMP风暴”,使得目标主机耗费大量的CPU资源处理,疲于奔命。

对于“ICMP风暴”问题,解决方案1是在路由器上对ICMP数据包进行带宽限制,将ICMP占用的带宽控制在一定的范围内,这样即使有ICMP攻击,它所占用的带宽也是非常有限的,对整个网络的影响非常少

解决方案2是设置一个防火墙,过滤ICMP包。一些现有的防火墙就会屏蔽ICMP包。

转载于:https://www.cnblogs.com/zhangyiqinga/p/9753664.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396605.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle 删除主键_大数据量删除的思考 4

译者 汤健 沃趣科技数据库技术专家出品 沃趣科技在本系列的前一期文章中,我制作了一些图,突出显示了按表扫描执行大量删除操作和按索引范围扫描执行大量删除之间的主要区别。根据所涉及的数据模式,选择正确的策略可能对随机I/Os的数量、生…

redis 持久化 + 主从复制+ 集群

2019独角兽企业重金招聘Python工程师标准>>> 一、 Linux 下的 Redis 安装 && 启动 && 关闭 && 卸载 http://blog.csdn.net/zgf19930504/article/details/51850594 注:设置 redis.conf bind***.***.*.(127.0.0.1) redis启动&…

怎么运行c语言_C语言 原来是这样调用硬件的

大家都知道我们可以使用C语言写一段程序来控制硬件工作,但你知道其工作原理吗?网友北极C语言在实际运行中,都是以汇编指令的方式运行的,由编译器把C语言编译成汇编指令,CPU直接执行汇编指令。所以这个问题就变成&#…

更新和插入的并发问题_mysql经典面试题:如何读写分离?主从原理是啥?同步的延时问题...

面试题你有没有做 MySQL 读写分离?如何实现 MySQL 的读写分离?MySQL 主从复制原理的是啥?如何解决 MySQL 主从同步的延时问题?考点分析高并发这个阶段,肯定是需要做读写分离的,啥意思?因为实际上…

maven建立webapp项目时显示Cannot change version of project facet Dynamic web module to 2.5

为什么80%的码农都做不了架构师&#xff1f;>>> 网上查了很多东西都没啥用&#xff0c;其实直接把这段代码加到web.xml头部&#xff0c;自然就不报错了 <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns:xsi"http://www.…

HTTPS 原理解析

http://www.cnblogs.com/zery/p/5164795.html 一 前言 在说HTTPS之前先说说什么是HTTP&#xff0c;HTTP就是我们平时浏览网页时候使用的一种协议。HTTP协议传输的数据都是未加密的&#xff0c;也就是明文的&#xff0c;因此使用HTTP协议传输隐私信息非常不安全。为了保证这些隐…

kbmmw 5.0 中的REST 服务

目前关于REST 服务的话题越来越热&#xff0c;kbmmw 在5.0 里面开始支持rest。今天我就试一下kbmmw 的 rest 服务。闲话少说&#xff0c;开始。 老规矩&#xff0c;放上两个kbmMWServer1和 kbmMWHTTPSysServerTransport1两个控件。 设置kbmMWHTTPSysServerTransport1的server 属…

多租户saas 架构_[译/注] Force.com 多租户互联网应用开发平台的设计

原文地址 http://cloud.pubs.dbs.uni-leipzig.de/sites/cloud.pubs.dbs.uni-leipzig.de/files/p889-weissman-1.pdf译注&#xff1a;原文发表于 ACM&#xff0c;2009年6月作者Craig D Weissman, CTO, Salesforce.comSteve Bobrowski, Technical Marketing Consultant, Salesfor…

富文本

View Code转载于:https://www.cnblogs.com/baidaye/p/5295448.html

Jenkins持续集成——用户管理

一、基于安全矩阵系统管理 —>Configure Global Security相关权限的作用&#xff1a;其中有一些比较特别的权限&#xff1a;最大的权限是Overall的Administer&#xff0c;拥有该权限可以做任何事情。最基本的权限是Overall的Read&#xff0c;用户必须赋予阅读的权限&#xf…

JAVA Set接口和其常用子类HashSet集合

Set接口&#xff0c;它里面的集合&#xff0c;所存储的元素就是不重复的。 HashSet集合&#xff0c;采用哈希表结构存储数据&#xff0c;保证元素唯一性的方式依赖于&#xff1a;hashCode()与equals()方法。 保证HashSet集合元素的唯一&#xff0c;其实就是根据对象的hashCode和…

python初始化函数_当你学会了Python爬虫,网上的图片素材就免费了

前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。加入作者的python学习圈子&#xff1a;1156465813 即可免费获取&#xff0c;资料全在群文件里。资料可以领取包括不限于Python实战演练、PDF电子文档…

第三周作业(一)单元测试

下载vs2015安装包&#xff0c;打开进行安装. 选择颜色 安装完成&#xff0c;需要登录 启动vs 单元测试 1.打开vs界面。 2.新建项目。选择Visual C# 创建类库。 3.点击确定后&#xff0c;进入代码编辑界面。 4.根据书中代码&#xff0c;写入程序&#xff0c;并进行测试。 转载于…

React-Native-lesson

React-Native-lesson 一、React-Native入门指南 lesson2: 认识代码结构lesson4: 学会React-Native布局&#xff08;一&#xff09;lesson6: UI组件lesson8: 自己动手写组件 https://github.com/vczero/toilet React Native完全开发的独立App&#xff0c;支持ES6语法&#xff0c…

1、如何进行字符串常量中的字符定位_Java String:字符串常量池,我相信会有很多朋友不很理解这部分...

作为最基础的引用数据类型&#xff0c;Java 设计者为 String 提供了字符串常量池以提高其性能&#xff0c;那么字符串常量池的具体原理是什么&#xff0c;我们带着以下三个问题&#xff0c;去理解字符串常量池&#xff1a;字符串常量池的设计意图是什么&#xff1f;字符串常量池…

react项目_如何从零开始创建React项目(三种方式)

在开发React项目前最关键的当然是项目的创建&#xff0c;现在的前端工程化使得前端项目的创建也变得越来越复杂&#xff0c;在这里介绍三种从零开始创建React项目的方式&#xff0c;分别是在浏览器中直接引入、使用官方脚手架create-react-app、使用Webpack创建。浏览器中通过标…

# 异运算_小学数学运算三要点:定律、法则与顺序(解析)

很多孩子的数学不好&#xff0c;尤其是女孩子。家长往往认定为数学不好就是孩子不擅长&#xff0c;能力差。其实未必&#xff0c;有的孩子数学不好的原因并不在于智商&#xff0c;而是没有理解到数学的方法与逻辑&#xff0c;比如小学的运算中&#xff0c;很多孩子并没有了解到…

机器学习笔记—再谈广义线性模型

前文从线性回归和 Logistic 回归引出广义线性回归的概念&#xff0c;很多人还是很困惑&#xff0c;不知道为什么突然来个广义线性回归&#xff0c;有什么用&#xff1f;只要知道连续值预测就用线性回归、离散值预测就用 Logistic 回归不就行了&#xff1f;还有一些概念之间的关…

局域网只能看到一部分电脑_win10 网上邻居看不到其它电脑、共享不了文件

最近电脑遇到了局域网文件共享的问题&#xff0c;Win 10 系统在网络和共享中心里无法看到其他电脑&#xff0c;只能看到本机。确认共享已经打开后&#xff0c;通过查找最终解决。下面是解决流程。1.进入&#xff1a;控制面板 – 网络和共享中心 – 更改高级共享设置&#xff0c…

作业1---四则运算

一.需求分析&#xff1a; 除了整数以外&#xff0c;还要支持真分数的四则运算&#xff0c;真分数的运算&#xff0c;例如&#xff1a;1/6 1/8 7/24 运算符为 , −, , 并且要求能处理用户的输入&#xff0c;并判断对错&#xff0c;打分统计正确率。 要求能处理用户输入的真分…