局域网协议:ICMP (Internet Control Message Protocol,互联网控制消息协议)

ICMP(Internet Control Message Protocol,互联网控制消息协议)是用于在IP网络中传递控制消息的协议。它通常被用于网络设备之间交换状态信息和错误报告,以及执行网络诊断和故障排除。

文章目录

    • ICMP主要功能
    • ICMP的工作原理
    • ICMP消息类型
    • 在路由器和防火墙上配置ICMP
    • ICMP有端口吗?
    • ICMP Ping
    • ICMP在DDoS攻击中是如何使用的?
      • ICMP flood attack
      • Ping of death attack
      • Smurf attack
    • 推荐阅读

ICMP主要功能

1. 错误报告和消息传递
ICMP主要用于报告错误情况和发送各种类型的消息,比如“目标不可达”、“超时”、“重定向”等。当路由器或主机遇到问题时,会发送ICMP消息给源设备,通知它发生了什么问题。
2. 网络诊断
ICMP工具(如ping命令)用于测试两个设备之间的连通性。它可以发送ICMP Echo请求消息到目标设备,然后等待目标设备的回应。ping命令会根据回应的情况来判断网络是否畅通,以及计算往返时间(Round-Trip Time)等信息。
3. 流量控制
ICMP也可用于流量控制,比如当网络拥塞时,路由器可以发送ICMP拥塞控制消息给源设备,要求降低数据发送速率。
4. 路由器间通信
在路由器之间交换控制信息时,ICMP也扮演着重要角色。它可以用于通知路由器更优的路径、报告路由环路等。

ICMP的工作原理

Internet控制消息协议是IP协议套件的主要协议之一。然而,它不与任何传输层协议相关联,例如,传输控制协议(TCP)或用户数据报协议(UDP)。

ICMP是一种无连接协议,这意味着发送设备在传输数据之前不需要与接收方发起连接。这就是它与TCP不同的原因。

在TCP中,两个设备之间的连接是强制要求的。只有当两个设备都通过TCP握手准备就绪时,才可以发送消息。

所有ICMP消息都以数据报的形式发送,并包含一个保存ICMP数据的IP报头。每个数据报都是一个自包含的、独立的数据实体。ICMP报文是指IP数据部分带有ICMP的IP报文。ICMP消息还包括来自原始消息的完整IP报头。这样,目标系统就能准确地知道哪个数据包失败了。

在这里插入图片描述

ICMP消息类型

  • Echo请求与回应(Echo Request/Reply):用于ping命令和测试网络连通性。
  • 目标不可达(Destination Unreachable):通知源设备目标不可达的原因,比如网络不可达、主机不可达等。
  • 超时(Time Exceeded):当IP数据包的生存时间(TTL)超过时,路由器会发送超时消息。有两种类型:TTL超时和分片重组超时。
  • 重定向(Redirect):用于通知源设备优化路由选择,将数据包发送到更适合的路由器。
  • 参数问题(Parameter Problem):知源设备IP数据包中某些字段出现问题,比如IP首部长度不正确或首部中的选项字段出错。
  • 源站选路错误(Source Quench):用于告知数据发送方降低发送速率,以防止网络拥塞。
  • 时间戳请求与回应(Timestamp Request/Reply):用于获取设备的时间戳信息,用于计算往返时间。
  • 地址掩码请求与回应(Address Mask Request/Reply):用于获取目标设备的子网掩码信息。

在路由器和防火墙上配置ICMP

在路由器和防火墙上配置ICMP设置对于允许ICMP流量、确定其优先级或阻止ICMP流量以增强安全性至关重要。很多防火墙或者路由器上都会配置禁止特定的ICMP流量通过。

ICMP有端口吗?

正如我们前面提到的,Internet控制消息协议是Internet协议套件的一部分,也称为TCP/IP协议套件。这意味着它只与互联网层有关。端口号只能在传输层中找到。

尽管Internet控制消息协议不像TCP和UDP那样有端口的概念,但它利用了类型和代码。通常使用的ICMP类型是echo request和echo reply(用于Ping)和TTL(生存时间)在传输中使用(用于Traceroute)。

ICMP Ping

ICMP应答请求报文和ICMP应答报文也称为ping报文。Ping命令是一个非常有用的故障排除工具,网络管理员可以使用它手动测试网络设备之间的连通性。也可以用它来检查网络延迟和丢包。

ICMP Ping可以用于监控网络设备是否在线。它的工作原理是频繁地ping一个已知的设备。这种类型的检查向网络中指定的服务器或设备发送ICMP echo请求,设备立即响应ICMP echo应答。这代表着连接成功,目标服务器或设备已经启动并正常运行。

ping的响应时间单位是毫秒,如果延迟时间特别长,则代表有某些网络问题。

ICMP在DDoS攻击中是如何使用的?

ICMP flood attack

ping flood,也称为ICMP flood,是指攻击者向目标设备发送ICMP回显请求报文。每个数据包必须由目标处理和响应,消耗计算资源,直到授权客户无法接收服务。
在这里插入图片描述

Ping of death attack

死亡ping攻击是指攻击者向目标机器发送的ping报文长度超过数据包允许的最大长度,导致设备缓冲区溢出。现在很多设备或者操作系统都能对这种死亡ping攻击进行处理,但是如果遇到旧的操作系统或者设备,可能仍然无法避免死亡ping攻击的危害。
在这里插入图片描述

Smurf attack

Smurf攻击是指攻击者利用假冒的网站源IP地址发送ICMP报文。网络设备通过向假IP地址发送响应来响应数据包,并向受害者发送不需要的ICMP数据包。

推荐阅读

  • 局域网协议:DNS(Domain Name System,域名系统)详解
  • 局域网协议:动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)
  • 局域网协议:地址解析协议(ARP,Address Resolution Protocol)
  • 局域网协议:VLAN技术介绍
  • 释放C盘空间:WinSXS文件夹真实性大小判断及释放占用空间
  • 安全知识普及:了解端点检测与响应 (EDR)对企业的重要性

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python之pyqt专栏7-信号与槽3

在上一篇文章中python之pyqt专栏6-信号与槽2-CSDN博客中,我们可以了解到对象可以使用内置信号,这些信号来自于类定义或者继承过来的。我们可以对这些信号可以通过connect连接槽函数。 需求 现在有一个需求,有两个UI界面“untitled.ui”和“u…

css-tricks网站图例

使用css实现钟表 <template><div><p><small>CSS sin() and cos() does <strong>NOT</strong> work in your browser.</small></p><div class"clock"><div id"app" class"clock-face"…

如何恢复已删除的照片 ?适用于 Windows 的Android 数据恢复软件值得尝试

“我丢失了 Android 手机上的照片&#xff0c;有人告诉我使用恢复程序来找回所有手机数据。我使用的是 Windows 10 和华为 手机&#xff0c;对于 Windows最有效的 Android 数据恢复是什么&#xff1f;” Android 恢复程序用于检索丢失或删除的文件&#xff0c;如照片、联系人、…

城市生命线中城市内涝积水监测系统设计与应用

近年来&#xff0c;城市内涝问题日益凸显&#xff0c;给城市安全和居民生活带来严重威胁。为了解决这一问题&#xff0c;云南省水网建设规划提出了一系列的防涝措施&#xff0c;其中包括城市内涝积水监测系统的建设。 城市内涝积水监测系统作为城市生命线中之一&#xff0c;在城…

Spring Cloud 版本升级记:OpenFeignClient与Gateway的爱恨交织

Spring Cloud 版本升级记&#xff1a;OpenFeignClient与Gateway的爱恨交织 近日&#xff0c;在负责的项目中&#xff0c;我对 Spring Boot、Spring Cloud 以及 Spring Cloud Alibaba 进行了版本升级。原以为会一切顺利&#xff0c;没想到却遭遇了 Spring Cloud Gateway 无法正…

从赛车到服务台:IT团队可以从F1赛车中学到什么?

一级方程式赛车被誉为最高级别的赛车&#xff0c;简称F1赛车&#xff0c;它不断挑战速度、创新和进步的极限。因此&#xff0c;对于您的IT团队来说&#xff0c;还有什么比这项运动更值得借鉴的呢&#xff1f; 作为赛车运动的巅峰之作&#xff0c;F1赛车拥有10支车队和20名车手…

LLM、ChatGPT与多模态必读论文150篇

为了写本 ChatGPT 笔记&#xff0c;我和10来位博士、业界大佬&#xff0c;在过去半年翻了大量中英文资料/paper&#xff0c;读完 ChatGPT 相关技术的150篇论文&#xff0c;当然还在不断深入。 由此而感慨&#xff1a; 读的论文越多&#xff0c;你会发现大部分人对ChatGPT的技…

因为计算机中丢失MSVCP140.dll,无法启动此程序运行软件的解决方法

msvcp140.dll重新安装五个解决方法与msvcp140.dll文件的作用和丢失对电脑的影响介绍 正文&#xff1a; 在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中最常见的就是“缺少xxx.dll文件”。而msvcp140.dll就是其中之一。那么&#xff0c;msvcp140.…

anaconda换源安装pytorch(附带bug解决办法)

1.安装anaconda 如何安装anaconda可以看这篇文章:如何安装anaconda 2.换源安装pytorch: 首先进入到pytorch官网&#xff0c;选对好参数之后复制命令进入到anaconda prompt即可: 然后进入自己的环境之后输入该命令(即conda install …)&#xff0c;则可以进行下载。下载完成…

物理世界中的等距3D对抗样本

论文题目&#xff1a;Isometric 3D Adversarial Examples in the Physical World 会议&#xff1a;NIPS 2022 点云&#xff1a; 点云——表达目标空间分布和目标表面特性的海量点集合&#xff0c;点包含xyz坐标信息 能够包含颜色等其他信息 使用顶点、边和面的数据表征的三维…

2 线、3 线和 4 线 RTD 配置之间有什么区别?

电阻温度检测器 (RTD) 是温度传感器的一种&#xff0c;由于其准确性、可重复性和稳定性而广泛应用于各种工业应用。这些设备通过感测材料温度变化时电阻的变化来测量温度。 RTD 探头有多种配置&#xff0c;包括 2 线、3 线和 4 线型号。这些类型之间存在显着差异&#xff0c;在…

Mysql更新varchar存储的Josn数据

Mysql更新varchar存储的Josn数据 记录一次mysql操作varchar格式存储的json字符串数据 1、检查版本 -- 版本5.7以上才可以能执行json操作 select version(); 2、创建测试数据 -- 创建测试表及测试数据 CREATE TABLE test_json_table AS SELECT UUID(), {"test1": …

博客RESTful API 接口开发

目录 1.博客系统规划 2.基础服务搭建 3.登录接口 4.新增文章接口 5.查询文章接口 6.修改文章接口 7.删除文章接口 总结 1.博客系统规划 首先规划一下有哪些接口&#xff0c;从博客文章角度来看&#xff0c;需要如下接口&#xff1a; 新增文章接口&#xff0c;传递…

蓝桥杯第一天-----时间显示

文章目录 前言一、题目描述二、测试用例三、题目分析四、具体代码实现总结 前言 本章中将相信介绍蓝桥杯中关于时间显示的题目。 链接&#xff1a;https://www.lanqiao.cn/problems/1452/learning/ 一、题目描述 二、测试用例 三、题目分析 1.输入的时间为毫秒&#xff0c;毫…

蓝桥杯每日一题2023.11.28

题目描述 三羊献瑞 - 蓝桥云课 (lanqiao.cn) 题目分析 本题首先进行观察可以确定 1.“三”为 1 &#xff08;十进制数字要进位进一位&#xff09; 2.“祥”一定不为 0 &#xff08;有前导0就不能算为 4 位数&#xff09; 使用搜索时将其特判 #include<bits/stdc.h> …

Matplotlib直方图的创建_Python数据分析与可视化

Matplotlib直方图的创建 概念区分绘制直方图 概念区分 什么是直方图&#xff1f; 直方图&#xff08;Histogram&#xff09;又称质量分布图&#xff0c;是统计报告图的一种&#xff0c;由一系列高度不等的纵向条纹或线段表示数据分布的情况&#xff0c;一般用横轴表示数据所属…

基于YOLOv8深度学习的行人跌倒检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测

基本功能演示 摘要&#xff1a;跌倒是一种常见的意外事件&#xff0c;尤其对于老年人、儿童、孕妇以及患有某些疾病的人群来说&#xff0c;跌倒可能会导致严重的身体损伤甚至危及生命。因此&#xff0c;及时准确地检测跌倒事件&#xff0c;对于保护人们的生命安全&#xff0c;提…

list简单使用

目录 介绍 头文件 简单使用 Member functions Constructor operator ​编辑 Iterators Capacity empty size Element access: front/back Modifiers push_front pop_front push_back pop_back insert erase swap resize clear Operations remove uniq…

分享一个适用于 Vue3 的好的组件库,PrimeVue组件。

一、PrimeVue介绍 PrimeVue 是一个基于 Vue.js 的 UI 组件库&#xff0c;专注于提供丰富、灵活、现代的 UI 组件&#xff0c;以帮助开发者构建功能强大的 Web 应用程序。PrimeVue 提供了一系列的组件&#xff0c;涵盖了从基本的表单元素到高级的数据表格和图表等各种组件。 二、…

想学计算机视觉入门的可以看过来了

文章写了有一段时间了&#xff0c;期间不少小伙伴来咨询如何自学入门AI&#xff0c;或者咨询一些AI算法。 90%的问题我都回复了&#xff0c;但有时确实因为太忙&#xff0c;没顾得过来。 在这个过程中&#xff0c;我发现很多小伙伴问的问题都类似&#xff1a;比如如何入门计算…
最新文章