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 当失去焦点时出发(不会…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...

有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...

spring Security对RBAC及其ABAC的支持使用
RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型,它将权限分配给角色,再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...
深入解析 ReentrantLock:原理、公平锁与非公平锁的较量
ReentrantLock 是 Java 中 java.util.concurrent.locks 包下的一个重要类,用于实现线程同步,支持可重入性,并且可以选择公平锁或非公平锁的实现方式。下面将详细介绍 ReentrantLock 的实现原理以及公平锁和非公平锁的区别。 ReentrantLock 实现原理 基本架构 ReentrantLo…...