No.12 笔记 | 网络基础:ARP DNS TCP/IP与OSI模型
一、计算机网络:安全的基石
1. 网络的本质:数字世界的神经系统
- 定义:计算机的互联互通,实现资源共享和信息交换
- 组成要素:发送者、接收者、介质、数据、协议(五大要素)
2. 网络架构:从简单到复杂
- 简单网络:两台电脑的"私密对话"
- 二层网络:交换机主持的"小型聚会"
- 三层网络:路由器连接的"跨区域交流"
- 企业网络:服务器集群、核心层、汇聚层、接入层的"大型组织"
3. OSI 七层模型:网络通信的"七重天"

- 应用层:用户直接接触的"界面"
- 表示层:数据的"翻译官"
- 会话层:通信的"管理员"
- 传输层:数据传输的"快递公司"
- 网络层:寻址和路由的"导航仪"
- 数据链路层:帧传输的"包装工"
- 物理层:比特流传输的"邮递员"
4. TCP/IP 模型:实用主义的四层架构
- 应用层:集成了OSI的上三层功能
- 传输层:TCP和UDP的"双子星"
- 网络层:IP协议的"主战场"
- 网络接口层:硬件与软件的"桥梁"
FYI - 我知道很多朋友都想记下TCP/IP模型和 OSI模型,整理了自己常用的方法如下,供大家参考。如果你已经掌握了,可以跳过。^ ^
TCP/IP与OSI模型记忆指南:网络通信的"层"层深入
1. 模型对比:四层vs七层
想象一下,TCP/IP模型是一座四层楼的房子,而OSI模型是一座七层楼的房子。它们都描述了数据如何从一台计算机传输到另一台计算机,只是"楼层"划分的细节不同。

2. TCP/IP模型:四层结构
从上到下,记住这个简单的句子:"应用传输网络接口"
-
应用层:用户直接接触的"前台"
- 关键词:HTTP, FTP, SMTP, DNS
- 比喻:顾客服务窗口
-
传输层:数据包的"快递公司"
- 关键词:TCP, UDP
- 比喻:包裹分类和运送
-
网络层:数据包的"导航系统"
- 关键词:IP, ICMP, ARP
- 比喻:包裹的地址标签
-
网络接口层:硬件与软件的"搬运工"
- 关键词:以太网, Wi-Fi
- 比喻:实际的运输车辆
3. OSI模型:七层结构

记住这个顺口溜:"应表会传网数物"
-
应用层:用户界面
- 比喻:餐厅服务员
-
表示层:数据格式转换
- 比喻:翻译官
-
会话层:建立和管理会话
- 比喻:电话接线员
-
传输层:端到端的可靠传输
- 比喻:邮局的包裹处理
-
网络层:路由和寻址
- 比喻:邮政系统的分拣中心
-
数据链路层:相邻节点间可靠传输
- 比喻:邮递员
-
物理层:比特流的传输
- 比喻:马路和铁轨
记忆技巧
-
使用首字母缩写:(如果你会英文的话,可以用这个方法。^ ^)
- TCP/IP: ATNI (应用传输网络接口)
- OSI: PTNSPDP (Please Think Nothing Silly People Do Perform)
-
可视化:
- 想象一个四层蛋糕(TCP/IP)和一个七层蛋糕(OSI)
- 每层都有特定的"口味"(功能)
-
故事联想:
- 想象数据是一封信,从写信(应用层)到邮寄(物理层)的全过程
我想,通过这些比喻和记忆技巧,大家应该能够更轻松地记住TCP/IP和OSI模型的结构和功能。记住,理解每层的作用比单纯记忆更重要。在实际应用中,TCP/IP模型更为常用,但OSI模型提供了更详细的概念框架。
二、网络层深度剖析:IP的王国
1. IP协议:网络层的"统治者"
- IP地址:32位的"身份证号"
- 子网掩码:网络和主机的"分界线"
- 网关:不同网段间的"翻译官"
2. IP报文:数据包的"护照"

- 版本、首部长度、服务类型:报文的"基本信息"
- 总长度、标识、标志、片偏移:分片传输的"导航系统"
- 生存时间(TTL):数据包的"保质期"
- 协议:上层协议的"身份标识"
- 首部校验和:数据完整性的"守护者"
- 源IP地址、目的IP地址:数据包的"起点"和"终点"
三、传输层解密:TCP与UDP的二重奏

1. TCP:可靠传输的"重型武器"
- 三次握手:建立连接的"礼仪"
- 四次挥手:断开连接的"告别仪式"
- 端口号:应用程序的"门牌号"
- 序列号和确认号:数据传输的"编号系统"
2. UDP:轻量级的"快递小哥"
- 无连接:省去握手的"即时通讯"
- 不可靠传输:速度优先的"极速快递"
- 适用场景:视频流、语音流等对实时性要求高的应用
四、ARP协议:IP与MAC的"红娘"

1. ARP的工作原理:地址解析的"侦探"
- ARP请求:广播寻找目标MAC地址
- ARP响应:目标主机回复自己的MAC地址
- ARP缓存表:IP和MAC对应关系的"通讯录"
2. ARP欺骗:网络攻击的"变脸大师"
- 原理:伪造ARP响应,篡改目标主机的ARP缓存
- 攻击实例:
- ARP断网攻击:切断目标与网关的正常通信
- 中间人攻击:截获或篡改数据包
3. ARP欺骗防御:安全的"防护盾"
- 静态绑定:IP和MAC的"固定搭配"
- 使用防护软件:如欣向ARP工具、Antiarp等
五、DNS欺骗:域名系统的"黑暗面"

1. DNS原理:互联网的"电话簿"
- 分布式网络目录服务
- 域名与IP地址的相互转换
2. DNS欺骗操作:网络诈骗的"高级技巧"
- 环境搭建:Kali(攻击机)和Windows(目标机)
- 操作步骤:
- ARP欺骗:伪装成网关
- 修改DNS配置:将域名指向攻击者控制的IP
- 使用工具(如ettercap)实施攻击
3. DNS欺骗的危害:网络安全的"定时炸弹"
- 访问钓鱼网站:信息窃取的温床
- 恶意广告:广告收益和进一步攻击的跳板
4. DNS欺骗防御:筑起安全的"长城"
- DNS服务器升级:使用最新版本的DNS软件
- 加密DNS查询:DoH(DNS over HTTPS)、DoT(DNS over TLS)
- 应用服务器防护:使用SSL证书,实施用户身份验证
相关文章:
No.12 笔记 | 网络基础:ARP DNS TCP/IP与OSI模型
一、计算机网络:安全的基石 1. 网络的本质:数字世界的神经系统 定义:计算机的互联互通,实现资源共享和信息交换组成要素:发送者、接收者、介质、数据、协议(五大要素) 2. 网络架构࿱…...
OpenHarmony(鸿蒙南向开发)——轻量系统STM32F407芯片移植案例
往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ 持续更新中…… 介绍基于STM32F407IGT6芯片在拓维信息 Niobe407 开发板上移植OpenH…...
简单易懂的springboot整合Camunda 7工作流入门教程
简单易懂的Spring Boot整合Camunda7入门教程 因为关于Spring Boot结合Camunda7的教程在网上比较少,而且很多都写得有点乱,很多概念写得太散乱,讲解不清晰,导致看不懂,本人通过研究学习之后就写出了这篇教学文档。 介…...
LabVIEW提高开发效率技巧----点阵图(XY Graph)
在LabVIEW开发中,点阵图(XY Graph) 是一种强大的工具,尤其适用于需要实时展示大量数据的场景。通过使用点阵图,开发人员能够将实时数据可视化,帮助用户更直观地分析数据变化。 1. 点阵图的优势 点阵图&…...
C++-匿名空间
匿名命名空间(anonymous namespace)是 C 中的一种特性,用于将符号(如变量、函数或类)限制在定义它们的源文件的作用域内。这意味着在该源文件外部,这些符号不可见,从而避免了命名冲突。 1. 定义…...
jdk的安装和环境变量配置
1.将从官网下载好的jdk放在自己想要放的位置,这里的位置是:E:\develop 2.新建一个文件夹用来放安装的jdk,将jdk安装的此目录,这里的位置是:E:\develop\jdk17 3.jdk安装好之后,点击jdk17目录,点…...
继承、Lambda、Objective-C和Swift
继承 东风系列导弹是镇国神器。东风41不是突然就造出来的,之前有很多种东风xx导弹,每种导弹都有自己的独特之处,相同之处都具备导弹基本特点。很多工厂有量产磨具的生产线,盖房子就图纸,建筑设计建设都有参考ÿ…...
设置服务器走本地代理
勾选: 然后: git clone https://github.com/rofl0r/proxychains-ng.git./configure --prefix/home/wangguisen/usr --sysconfdir/home/wangguisen/etcmakemake install# 在最后配置成本地代理地址 vim /home/wangguisen/etc/proxychains.confsocks4 17…...
刷题 -哈希
面试面试经典 150 题 - 哈希 383. 赎金信 - 一个哈希表搞定 class Solution { public:bool canConstruct(string ransomNote, string magazine) {int hash[26] {0};for (auto& ch : magazine) {hash[ch - a];}for (auto& ch : ransomNote) {if (--hash[ch - a] < …...
React响应式修改数组和对象
在React中,响应式地修改数组数据是一个常见的需求,它涉及到状态(state)的管理和更新。React的状态是不可变的,这意味着你不能直接修改状态对象中的数组元素,而是需要创建一个新的数组来更新状态。下面将详细…...
cerbot https证书免费自动续期
1. 简介 cerbot是一个开源的数字证书生成平台,简单好用。下面我们来看下安装配置和使用。 cerbot有很多种安装方式,有源码安装、第三方发布版本、pip安装和snap安装,官方推荐使用snap安装。 2. snap安装 snap官方安装文档,Sna…...
嵌入式硬件设计
嵌入式硬件设计是指针对嵌入式系统(一种专用的计算机系统,通常嵌入到其他设备中)进行的硬件设计工作。嵌入式系统广泛应用于消费电子、工业控制、医疗设备、汽车电子、航空航天等领域。以下是嵌入式硬件设计的主要内容和步骤: 1.…...
2024.09.24 校招 实习 内推 面经
🛰️ :neituijunsir 交* 流*裙 ,内推/实习/校招汇总表格 1、校招 | 毫末智行2025届校园招聘正式启动 (内推) 校招 | 毫末智行2025届校园招聘正式启动 (内推) 2、校招 | 圭目机器人 2025 校…...
GIT安装及集成到IDEA中操作步骤
最近深感GIT使用技能太差,我只会些皮毛,还是得看官网,总结一下常用的操作方法吧。 GIT环境配置到IDEA中安装 一、GIt的基本的安装 这个不在这里赘述了,自己装一个git吧 二、给IDEA指定本地GIT的安装路径 1、下图这个是我本地的…...
Java使用线程池创建线程
一、线程前言 首先我们知道,线程的概念如果不知道可以去看这一篇Java中的线程,我们这篇主要讲述的是Java怎么使用线程池创建线程,首先我们要对线程池有点概念,其实顾名思义,线程池就是有喝多线程的一个池子类似于&…...
mysql UDF提权(实战案例)
作者:程序那点事儿 日期:2024/09/29 16:10 什么是UDF? 全称 User Define Function (用户自定义函数)UDF提权,就是通过自定义函数,实现执行系统的命令。 dll(windows,dll文件是c语…...
【瑞昱RTL8763E】刷屏
1 显示界面填充 用户创建的各个界面在 rtk_gui group 中。各界面中 icon[]表对界面进行描述,表中的每个元素代表一 个显示元素,可以是背景、小图标、字符等,UI_WidgetTypeDef 结构体含义如下: typedef struct _UI_WidgetTypeDef …...
【黑马点评】使用RabbitMQ实现消息队列——3.使用Jmeter压力测试,导入批量token,测试异步秒杀下单
3 批量获取用户token,使用jmeter压力测试 3 批量获取用户token,使用jmeter压力测试3.1 需求3.2 实现3.2.1 环境配置3.2.2 修改登录接口UserController和实现类3.2.3 测试类 3.3 使用jmeter进行测试3.4 测试结果3.5 将用户登录逻辑修改回去 3 批量获取用户…...
第 21 章 一条记录的多幅面孔——事务的隔离级别与 MVCC
21.1 事前准备 CREATE TABLE hero ( number INT, NAME VARCHAR ( 100 ), country VARCHAR ( 100 ), PRIMARY KEY ( number ) ) ENGINE INNODB CHARSET utf8;INSERT INTO hero VALUES ( 1, 刘备, 蜀 );21.2 事务隔离级别 在保证事务隔离性的前提下,使用不同的隔…...
javaScript操作dom的事件(3个案例+代码+效果图)
目录 1.焦点事件 案例:登录表单的验证 1.代码 2.效果 3.解释 2.鼠标事件 案例:单击鼠标使小球跳跃 1.代码 2.效果 3.解释 3.键盘事件 案例:使用左右键控制小球左右移动 1.代码 2.效果 编辑 3.解释 1.焦点事件 focus 当获得焦点时出发(不会冒泡)blur 当失去焦点时出发(不会…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...
Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成
一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...
什么是VR全景技术
VR全景技术,全称为虚拟现实全景技术,是通过计算机图像模拟生成三维空间中的虚拟世界,使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验,结合图文、3D、音视频等多媒体元素…...

