网络安全·第三天·ICMP协议安全分析
一、ICMP功能介绍
ICMP(Internet Control Message Protocal)是一种差错和控制报文协议,不仅用于传输差错报文, 还传输控制报文,但是ICMP只是尽可能交付,提供的服务是无连接、不可靠的,并不能保证数据包可以成功的抵达目的地,同样的ICMP也没有验证机制,这也给了攻击者可乘之机。
ICMP的信息是通过IP协议进行传输,它是一种网络层协议,它对网络信息进行一种反馈,主要功能可以概括为①确认数据包可以送往目的IP地址 ②报告IP数据包无法送往的原因。
ICMP有两个非常重要的工具—ping和traceroute,下面小编将介绍这两种工具的具体用法以及工作流程。
二、ping命令及其相关问题
1、工作流程
ping 命令会发送一份ICMP回显请求报文(ICMP Echo Request)给目标主机,并等待目标主机返回ICMP回显应答(ICMP Echo Reply)。ICMP协议要求目标主机在收到请求消息之后,必须返回ICMP应答消息给源主机,基于这一点,如果源主机在一定时间内收到了目标主机的应答,则表明两台主机之间网络是可达的。但是这也同样使得黑客能发动Dos攻击,这一点我们在后面会讲述其过程。
总而言之,ping是用来探测网络中两台主机之间是否可达的工具,ping工具的运行流程如下:
①.源主机ICMP协议工作
假设有两台主机,小李的主机IP地址为192.168.4.1,小伍的主机IP地址为192.168.4.2,小李想知道网络是否可达小伍的主机,于是他在自己windows主机的cmd上输入命令:ping 192.168.4.2。输入该命令后,主机A会构建一个 ICMP的请求数据包(ICMP Echo Request),然后 ICMP协议会将这个数据包以及目标IP192.168.4.2等信息一同交给IP层协议;
②.IP层工作
IP层协议得到这些信息后,将源地址192.168.4.1、目标地址192.168.4.2、再加上一些其它的控制信息,构建成一个IP数据包;
③.数据链路层工作
IP数据包构建完成后,还需要通过ARP协议找到相应的MAC地址,并且把目标地址与源地址的MAC地址一并交给数据链路层,组装成一个数据帧,将它们传送出出去;
④.目标主机ICMP协议工作
当小伍的主机收到这个数据帧之后,会首先检查它的目标MAC地址是不是本机,如果是就接收下来处理,否则直接丢弃。接收之后会检查这个数据帧,将数据帧中的IP数据包取出来,交给本机的IP层协议,然后IP层协议检查完之后,再将ICMP数据包取出来交给ICMP协议处理,当这一步也处理完成之后,就会构建一个ICMP应答数据包ICMP Echo Reply,回发给小李的主机;
⑤.计算时间并显示结果
在一定的时间内,如果小李的主机收到了应答包,则说明它与小伍的主机之间网络可达,如果没有收到,则说明网络不可达。除了监测是否可达以外,还可以利用应答时间和发起时间之间的差值,计算出数据包的延迟耗时,如下图“时间=xxx”所示。
2、几种常见的ICMP报文类型
通过上述ping工具的介绍,我们知道了两类ICMP报文,ICMP Echo Request报文以及ICMP Echo Reply报文,其中ICMP Echo Request的类型值为8,ICMP Echo Reply的类型值为0。但其实ICMP不仅仅只有这两种报文,这两种报文都是属于ICMP中的询问报文,其余的ICMP报文类型小编总结如下:
①.差错报告报文
类型值为3时:表示终点不可达,顾名思义也就是说IP数据包送不到对方手上。
类型值为4时:表示源点抑制,意思是说,送的太快了,希望对方能慢点送过来。
类型值为11时:表示超时,与源点抑制相反,这个是嫌弃对方送的太慢了。
类型值为5时:表示路由重定向,告知对方下次应将数据报发送给另外的路由器。
类型值为12时:表示参数问题,路由器或目的主机收到的数据报的首部中的字段的值不正确时,就丢弃该数据报,并向源站发送参数问题报文
②.询问报文
类型值为8或者0时:表示回送(Echo)请求或应答。
类型值为13或14时:表示时间戳(Timestamp)请求或应答。
注意:以下情况下,并不会产生差错报告报文!
1.ICMP差错报文,例如ICMP源点抑制报文超时了,此时不会再额外发送一条ICMP报文告知超时的差错。但是ICMP查询报文可能会产生ICMP差错报文!
2.目的地址是广播地址或多播地址的IP数据报
3.作为链路层广播的数据报,这两条都是说的广播
4.不是IP分片的第一片,只有第一片出错才会产生差错报告报文
5.源地址不是单个主机的数据报。即源地址不能为零地址、环回地址、广播地址或多播地址。
3、ICMP Dos攻击
A.第一类ICMP Dos攻击针对带宽,是利用无用的数据来耗尽网络带宽 ,如ICMP Smurf,Smurf在IP协议安全协议的那篇文章中讲解过,都是伪造受害主机的源地址,向网络的广播地址发送大量的ping包,目标系统都很快就会被大量的echo reply信息淹没。
ICMP Dos的工作原理是ICMP协议要求目标主机在收到请求消息之后,必须返回ICMP应答消息给源主机,不理解的同学可以看看小编的这篇文章:
网络安全·第一天·IP协议安全分析-CSDN博客
B.第二类ICMP Dos攻击针对连接,这类方法可以终止现有的连接,如Nuke,通过发送一个伪造的类型为3的ICMP终点不可达的差错报告报文来终止合法的连接。
4、ICMP重定向攻击
这个攻击与IP源路由欺骗很相似,黑客利用类型值为5的ICMP路由重定向差错报告报文来改变主机的路由表。自己伪装成路由器,向目标机器发送重定向消息,使目标机器的数据报发送至自己的主机上,从而实现监听、会话劫持或拒绝服务攻击。
5、死亡之ping
这类攻击像极了小朋友耍赖的方式,给大家讲一个我小时候的经历,小编在初中时,同学们都有自己的小帮派,我当时想融入其中一个小帮派,并且被这个小帮派拉入了qq群中。但是后来,这个小帮派里面的人对我都不大友好,总是拉偏架,我在qq上争不过他们,于是就开始了“刷屏”,来恶心他们。当时qq的一条消息最长大概是四千多个字,小编长按句号键,直到抵达字数上限后发出。就这么发了几条长信息之后,群里的那些人崩溃了,他们的手机也变得一卡一卡的,小编也成功的被移除了群聊。
死亡之ping的原理同样是刷屏,不断的给目标主机发送长度为65500字节的ping报文,对方阅读这条消息时带宽会有所损耗,当多条很长的ping报文发过去时,会将目标主机的带宽消耗殆尽,从而崩溃。
6、ICMP类攻击的防范
首先,Nuke与重定向攻击都是利用的ICMP差错报告报文,我们可以阻止其它类型的ICMP通信,这可以在一定程度上防范ICMP出错。同时,还可以设置允许向外(目标为单台主机)发送 ICMP 响应请求,并允许向内发送响应答复消息(目标为预先定义的主机)。说白了就是,只允许本主机ping别人,而不允许别人ping自己,颇有种宁教我负天下人,休教天下人负我的意思。
三、traceroute命令
traceroute是常用的网络排错工具,用于定位数据包在转发的过程中,经过了哪些路由器,并告知主机每一跳路由器的ip地址。在windows的环境下,如果我们想追踪ip地址为192.168.4.2的主机,则相应的命令的格式为:tracert 192.168.4.2
traceroute的原理是:主机首先发出 TTL=1 的3个UDP数据包,抵达第一个路由器后,将 TTL 减1,此时TTL的值为0,不再继续转发此数据包,而是返回一个ICMP超时差错报文,主机可以从超时报文中提取出数据包所经过的第一个网关地址。然后又发出一个TTL=2的3个UDP数据包,可利用ICMP超时报文获得第二个网关地址,依次递类推,逐渐增加TTL的值,主机便可以获取沿途所有网关的地址。
好的,本期的博客到这里就结束啦,如果觉得小编写的还不错,麻烦给小编一个免费的点赞和收藏可以吗?
相关文章:
网络安全·第三天·ICMP协议安全分析
一、ICMP功能介绍 ICMP(Internet Control Message Protocal)是一种差错和控制报文协议,不仅用于传输差错报文, 还传输控制报文,但是ICMP只是尽可能交付,提供的服务是无连接、不可靠的,并不能保…...
Hadoop大数据平台部署(Hadoop3.2.4+Hive4.0.1)
这里写自定义目录标题 1、前置要求与规划2、基础环境配置3、Hadoop 3.2.4 集群部署4、MariaDB 10.6.x 安装(仅 master 节点)5、Hive 4.0.1 部署(仅 master 节点)6、Hive 离线数据预处理7、Sqoop导出预处理结果到MySQL 1、前置要求…...
JMeter使用
1.简介 1.1 打开方式 ①点击bat,打开 ②添加JMeter系统环境变量,输⼊命令jmeter即可启动JMeter⼯具 1.2 配置 简体中文 放大字体 1.3 使用 ①添加线程组 ②创建http请求 2. 组件 2.1 线程组 控制JMeter将⽤于执⾏测试的线程数,也可以把⼀个线程理解为⼀个测…...
API:科技赋能,引领智能文字识别、身份认证与发票查验真伪变革
在数字化进程不断加速的今天,各行业对高效、精准的数据处理和身份验证方式如饥似渴。 文字识别:精准捕捉,高效便捷 文字识别产品系列宛如一把把精准的信息采集利器,其中包含证件识别接口、车牌识别接口、文档识别接口、发票识别接…...
Docker 安装 Flink 实现数据实时统计 - 华为云
概述 案例介绍 Apache Flink 是一个开源的流处理框架,具有高吞吐、低延迟、可容错等特点,可同时支持批处理和流处理,为数据处理提供了强大而灵活的解决方案,Flink 在 Docker 中的应用场景主要是为了简化集群的部署和管理&#x…...
LeetCode算法题(Go语言实现)_46
题目 给你一个变量对数组 equations 和一个实数值数组 values 作为已知条件,其中 equations[i] [Ai, Bi] 和 values[i] 共同表示等式 Ai / Bi values[i] 。每个 Ai 或 Bi 是一个表示单个变量的字符串。 另有一些以数组 queries 表示的问题,其中 querie…...
AJAX与Axios基础
目录 一、AJAX 核心概念解析 1.1 AJAX 的核心概念 1.2 AJAX 工作原理 1.3 AJAX 局限性 二、axios 库介绍 2.1 Axios 核心特性 2.2 快速上手 2.3 核心配置项 2.4 错误处理标准方案 三、Axios 核心配置项 3.1 常用核心配置项 1. url 2. method 3. params 4. data …...
CodeReview工具集合
codereview 工具集合 在现代软件开发中,代码审查(Code Review) 已成为保障代码质量和团队协作效率的关键流程。一个合适的 Code Review 工具,不仅能帮助团队发现潜在问题,还能促进知识共享与规范统一。 本文整理了一些…...
LeetCode算法题(Go语言实现)_45
题目 n 座城市,从 0 到 n-1 编号,其间共有 n-1 条路线。因此,要想在两座不同城市之间旅行只有唯一一条路线可供选择(路线网形成一颗树)。去年,交通运输部决定重新规划路线,以改变交通拥堵的状况…...
C++23 新特性:[[assume(expression)]] 属性
文章目录 语法与基本用法作用与优化原理使用注意事项未满足假设时的行为使用场景 示例代码总结 C23 引入了一个新的属性 [[assume(expression)]],它为程序员提供了一种向编译器传递额外信息的机制,从而让编译器能够生成更高效的代码。 语法与基本用法 …...
AI IDE 提示词
好的,这就将之前的分析内容整理成一篇适合发布在 CSDN 上的博客文章。 告别代码生成混乱:AI IDE 提示词模式权威指南 作者: (你的名字/昵称) 日期: 2025年4月14日 前言 随着人工智能技术的飞速发展,AI 助手(如 GitHub Copilot…...
Framework Binder架构分解
整个 Binder 架构所涉及的总共有以下 5 个目录: 1. /framework/base/core/java/(Java) 2. /framework/base/core/jni/ (JNI) 3,/framework/native/libs/binder (Native) 4,/framework/native/cmds/servicemanager/ (Native) 5,…...
三层交换机SVI功能(交换机虚拟接口)实现各个实训室电脑网络可互通,原本是独立局域网
三层交换机 SVI功能(交换机虚拟接口) 实现VLAN路由 需求 :各实训室使用独立局域网,即每个实训有自己的IP网段, 每个实训室只有内部互相访问。 需求:为了加强各实训室学生的交流,学校要求我们…...
Spark-SQL核心编程:DataFrame、DataSet与RDD深度解析
在大数据处理领域,Spark-SQL是极为重要的工具。今天就来深入探讨Spark-SQL中DataFrame、DataSet和RDD这三个关键数据结构。 Spark-SQL的前身是Shark,它摆脱了对Hive的过度依赖,在数据兼容、性能优化和组件扩展上有显著提升。DataFrame是基于R…...
腾讯云COS直传,官方后端demo,GO语言转JAVA
腾讯云COS直传,官方后端demo,GO写的,我们台是JAVA所以转一下,已跑通。废话不多说,直接上代码: Controller类如下: import com.ruoyi.web.core.config.CosConfig; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.Ht…...
c语言坦克对战(前言)
实现C语言中的“坦克大战”游戏逻辑,可以按照以下步骤进行: 游戏初始化 定义游戏窗口:设置游戏窗口的大小和标题。加载资源:加载坦克、子弹、敌人等图像资源。初始化游戏状态:设置初始分数、生命值、坦克位置等。 游…...
空间信息可视化——WebGIS前端实例(一)
技术栈:原生HTML 源代码:CUGLin/WebGIS: This is a project of Spatial information visualization 4 全国贫困县可视化系统 4.1 系统设计思想 党的十九大报告明确指出,要“确保到2020年我国现行标准下农村贫困人口实现脱贫,贫困县全部摘帽,解决区域…...
JVM考古现场(十九):量子封神·用鸿蒙编译器重铸天道法则
楔子:代码鸿蒙劫 "警告!警告!昆仑山服务器集群出现量子纠缠现象!"凌霄殿监控中心警报响彻云霄。全息投影中,Java线程在四维时空中编织出克莱因瓶拓扑结构,GC日志里闪烁着霍金辐射般的奇点事件。本…...
思维与算法共舞:AIGC语言模型的艺术与科学
云边有个稻草人-个人主页 热门文章_云边有个稻草人的博客-本篇文章所属专栏~ 目录 引言:AIGC与文本生成概述 一、AIGC基础:语言模型的基本原理 1. 什么是语言模型? 2. 预训练与微调 二、AIGC的应用领域:文本生成的具体应用 …...
C++之 多继承
在学校里有老师和学生,他们都是人,我么应该创建一个名为 Person 的基类和两个名为 Teacher 和Student 的子类,后两者是从前者继承来的 有一部分学生还教课挣钱(助教),也就是同时存在着两个”是一个”关系&…...
AI模型的主要分类及其详细对比,涵盖任务类型、架构、数据需求、应用场景等维度,并附上典型代表模型
以下是 AI模型的主要分类及其详细对比,涵盖任务类型、架构、数据需求、应用场景等维度,并附上典型代表模型: 一、AI模型的主要分类 1. 按任务类型分类 分类定义特点代表模型应用场景推理模型专注于逻辑推理、问题解决、因果关系分析的模型…...
TypeScript 快速入门
TypeScript 快速入门 1. 初识 TypeScript 1.1 TS 是什么? 以 JavaScript 为基础构建的语言;一个 JavaScript 的超集;可以在任何支持 JavaScript 的平台执行;TypeScript 扩展了 JavaScript 并添加了类型;TS 不能被 J…...
第一章 计算机网络和因特网
1.1 什么是因特网(Internet) 在博客这一系列文章中,我们使用一种特定的计算机网络,即公共因特网作为讨论计算机网络及其协议的主要载体。什么是因特网?可以用两种方式来回答这个问题:其一,我们能够通过因特网的具体构…...
【uni-app】axios 报错:Error: Adapter ‘http‘ is not available in the build
在 uni-app 中使用 axios 会报错:Error: Adapter ‘http‘ is not available in the build 解决方法:为 axios 添加 adapter 适配器。 import axios from axios; import settle from ../../node_modules/axios/lib/core/settle; import buildURL from …...
【路由交换方向IE认证】BGP选路原则之Weight属性
文章目录 一、路由器BGP路由的处理过程控制平面和转发平面选路工具 二、BGP的选路顺序选路的前提选路顺序 三、Wight属性选路原则规则9与规则11的潜移默化使用Weight值进行选路直接更改Weight值进行选路配合使用route-map进行选路 四、BGP邻居建立配置 一、路由器BGP路由的处理…...
思科模拟器的单臂路由,交换机,路由器,路由器只要两个端口的话,连接三台电脑该怎么办,划分VLAN,dotlq协议
单臂路由 1. 需求:让三台电脑互通 2. 在二层交换机划分vlan,并加入; 3. 将连接二层交换机和路由器的端口f0/4改为trunk模式 4. 路由器:进入连接路由器的f0/0端口将端口开启 5. 进入每个vlan设dotlq协议并设网络IP(…...
计算机视觉与深度学习 | 基于Matlab的钢筋计数
===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 基于Matlab的钢筋计数 1、引言2、方法设计2.1 整体流程2.2 关键技术2…...
Pytorch深度学习框架60天进阶学习计划 - 第41天:生成对抗网络进阶(三)
Pytorch深度学习框架60天进阶学习计划 - 第41天:生成对抗网络进阶(三) 7. 实现条件WGAN-GP # 训练条件WGAN-GP def train_conditional_wgan_gp():# 用于记录损失d_losses []g_losses []# 用于记录生成样本的多样性(通过类别分…...
MySQL 用 limit 影响性能的优化方案
一.使用索引覆盖扫描 如果我们只需要查询部分字段,而不是所有字段,我们可以尝试使用索引覆盖扫描,也就是让查询所需的所有字段都在索引中,这样就不需要再访问数据页,减少了随机 I/O 操作。 例如,如果我们…...
粉末冶金齿轮学习笔记分享
有一段小段时间没有更新了,不知道小伙们有没有忘记我。最近总听到粉末冶金齿轮这个概念,花点时间来学习一下,总结一篇笔记分享给大家。废话不多说,直接开始: “粉末冶金”是一种制造工艺,包括在高压下压实…...
数据结构第五版【李春葆】
数据结构教程上机实验指导第5版(李春葆主编).pdf 数据结构教程(第5版)(李春葆).pdf 数据结构教程(第五版)课后习题参考答案(李春葆).pdf 数据结构教…...
深入解析区块链技术:原理、应用与未来展望
1 区块链技术原理 1.1 基本概念 区块链本质上是一个分布式账本,它由一系列按照时间顺序排列的数据块组成,每个数据块包含了一定时间内的交易信息。这些数据块通过密码学技术相互链接,形成一个不可篡改的链条。其核心特点包括去中心化、不可篡…...
SAX解析XML:Java程序员的“刑侦破案式“数据处理
各位XML侦探们!今天我们要化身代码界的福尔摩斯,学习用SAX解析XML——这种一边读文件一边破译线索的技术,就像在凶案现场逐帧查看监控录像,内存占用比你的咖啡杯还小!(DOM解析?那叫把整个监控室…...
Spring - 13 ( 11000 字 Spring 入门级教程 )
一: Spring AOP 备注:之前学习 Spring 学到 AOP 就去梳理之前学习的知识点了,后面因为各种原因导致 Spring AOP 的博客一直搁置。。。。。。下面开始正式的讲解。 学习完 Spring 的统一功能后,我们就进入了 Spring AOP 的学习。…...
SQL 解析 with as dual sysdate level
目录 sql的运行顺序 with as EXTRACT 编辑 dual sysdate level 编辑 编辑 Oracle中的日期存储 核心部分 拆解字符串并计算最小值 关联子查询 NVL 函数 REGEXP_SUBSTR() sql的运行顺序 <select id"getTrendList" parameterType"java.util.H…...
苍穹外卖day03
店铺状态接口 引入Redis,因为像存储店铺状态这种只有一个字段(没必要存储在数据库),且登录后台就要被访问的数据(加快查询速度,减少数据库压力) 使用步骤:导入相关maven依赖、配置…...
精品整理 | 云安全知识证书 (CCSK) v5 备考学习资源汇总
云安全知识证书 (CCSK) v5 备考学习资源,包含课件、视频、习题及CSA学习指南,共12章。 1.云计算的概念和架构 2.云治理 3.风险、审计与合规 4.组织管理 5.身份和访问管理 6.云安全监控 7.云基础设施和网络安全 8.云工作负载安全 9.云数据安全 10.云应用…...
编程思想——FP、OOP、FRP、AOP、IOC、DI、MVC、DTO、DAO
个人简介 👀个人主页: 前端杂货铺 🙋♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…...
使用SSH开通Linux服务器账号
文章目录 1. 通过SSH连接到服务器2. 创建账号3. 将用户设置为管理员(可选)4. 设置SSH登录权限(可选)(1)切换到该用户目录(2)创建.ssh目录并设置适当的权限 1. 通过SSH连接到服务器 …...
【C++】内存分配与释放、内存碎片、内存泄漏、栈溢出
C内存分配方式 内存分配方式区别 特性 静态分配 栈分配 堆分配 分配时机 编译期 函数调用时 运行期(new) 释放方式 自动释放 函数结束自动释放 手动delete释放 内存区域 静态存储区 栈 堆(自由存储区) 大小灵活性…...
论文:Generalized Category Discovery with Large Language Models in the Loop
论文下载地址:Generalized Category Discovery with Large Language Models in the Loop - ACL Anthology 1、研究背景 尽管现代机器学习系统在许多任务上取得了优异的性能,绝大多数都遵循封闭世界的设置,假设训练和测试数据来自同一组预定义…...
k8s亲和力和非亲和力
在 Kubernetes 中,亲和力(Affinity)和非亲和力(Anti-Affinity)是用于控制 Pod 调度策略的机制,它们可以帮助优化资源利用率、提高应用性能和可用性。以下是亲和力和非亲和力的详细解释: 亲和力…...
Redis几个基本的全局指令
目录 1.set和get 2.keys 3.exists 4.del 5.expire 6.ttl 7.type 我们都知道Redis存的内容都是键值对,key是String,value有很多类型,像string(字符串),hash(哈希),…...
Flutter中如何判断一个计算任务是否耗时?
在 Flutter 里,判断一个计算任务是否耗时可从以下几个角度着手: 1. 任务复杂度分析 数学运算复杂度:依据算法的时间复杂度来初步判断。例如,简单的加法、乘法运算时间复杂度为 O ( 1 ) O(1) O(1),这类任务通常不耗时…...
LeetCode面试热题150中6-11题学习笔记(用Java语言描述)
Day 02 6、轮转数组 需求:给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 方法一 核心思想 使用额外的数组来将每个元素放至正确的位置。用 n 表示数组的长度,遍历原数组,将原数组下标…...
驱动开发硬核特训 · Day 10 (理论上篇):设备模型 ≈ 运行时的适配器机制
🔍 B站相应的视屏教程: 📌 内核:博文视频 - 总线驱动模型实战全解析 敬请关注,记得标为原始粉丝。 在 Linux 驱动开发中,设备模型(Device Model)是理解驱动架构的核心。而从软件工程…...
4.13日总结
javafx中实现发送qq邮箱验证码: 手动导入jar包方法: 第一步:开启QQ邮箱的 POP3/IMAP 或者 SMTP/IMAP 服务 打开qq邮箱(电脑端),找到设置里的账号与安全的安全设置,往下滑就可以找到 POP3/IMAP 或者 SMTP…...
python 微博爬虫 01
起因, 目的: ✅下载单个视频,完成。✅ 获取某用户的视频列表,完成。剩下的就是, 根据视频列表,逐个下载视频,我没做,没意思。获取视频的评论,以后再说。 关键点记录: 1. 对一个视…...
CST1017.基于Spring Boot+Vue共享单车管理系统
计算机/JAVA毕业设计 【CST1017.基于Spring BootVue共享单车管理系统】 【项目介绍】 共享单车管理系统,基于 Spring Boot Vue 实现,功能丰富、界面精美 【业务模块】 系统共有四类用户,分别是:监管用户、运营用户、调度用户、普…...
小刚说C语言刷题——第23讲 字符数组
前面,我们学习了一维数组和二维数组的概念。今天我们学习一种特殊的数组,字符数组。 1.字符数组的概念 字符数组就是指元素类型为字符的数组。字符数组是用来存放字符序列或者字符串的。 2.字符数组的定义及语法 char ch[5]; 3.字符数组的初始化及赋…...