Cyber_Security_Notes/A. 第一阶段/10_OSI模型.md
2024-08-26 17:49:00 +08:00

588 lines
20 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# OSI模型
### 一、物理层
1. **传输介质分类**
- 无线介质:无线电……
- 有线介质:网线(双绞线)、光纤
2. **双绞线分类**
1. 功能分类非屏蔽UTP 、屏蔽STP
2. 性能分类
> 五类cat5: 适用于100 Mbps
>
> 超五类cat5e: 适用于1 Gbps
>
> 六类cat6适用于1 Gbps
>
> 七类cat7:适用于10 Gbps(带有屏蔽功能)
>
> > 注双绞线传输距离控制在100米范围内
3. 网线线序
- T568A白绿 绿 白橙 蓝 白蓝 橙 白棕 棕
- T568B白橙 橙 白绿 蓝 白蓝 绿 白棕 棕
> 直连线: 一根网线的两端都是568A或两端都是568B的线序早期连接不同设备 PC—交换机
>
> 交叉线一根网线一端是568A一端是568B 早期 连接相同设备
>
> 全反线一根网线两端线序完全相反不用于局域网组建用于连接交换或路由console口另端连接主机usb口进行本地访问控制
> 主机直接连接路由器使用交叉线
>
> 交换机与交换机相连使用交叉或直连,一般使用交叉
4. 光纤分类
- 单模光纤:窄芯、长距离传输
- 多模光纤:宽芯、短距离传输
5. 项目实施常用工具
- 网线钳
- 测试线/寻线仪
- 光纤测试仪
- 光纤切割刀
- 熔纤机
> 红光笔:光纤故障检测功能,其中包含检测光纤连通性及光纤断裂、弯曲等故障点定位。
6. 网线制作
1. 去线皮
2. 排线(从左到右)
3. 剪齐
4. 装水晶接头(金手指面向自己,将线装到水晶头的顶端)
5. 压接
### 二、数据链路层
1. **MAC地址概述**
- MAC地址即以太网地址用来标识一个以太网上的某个单独设备或一组设备
- 长度48个bit6个字节
组成24个bit的厂商标识+24个bit的网卡编号
> MAC地址的第8位为0 表示单播地址每一个物理网卡都有一个全球唯一的MAC地址
>
> MAC地址的第8位为1 表示组播地址
>
> 48位都为1 表示广播地址
>
> 表示方式使用12位的16进制数表示的 如98-FA-9B-EE-AA-04
2. **帧格式**
![image-20240823175025852](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240823175025852.png)
- 以太网帧的数据长度范围46-1500 字节 (净重)
- 以太网帧的长度范围64-1518字节 (毛重)
3. **什么是冲突域**
1. 在一个网络范围内发送数据时会产生冲突的区域就是冲突域
2. 冲突是以太网致命故障,导致信号冲突,数据损坏、丢失、数据传输慢
4. **接口双工模式**
1. 单工模式
> 传输数据的信道只有一个只能接收数据不能回复数据类似BB机
2. 半双工模式
> 传输数据的信道只有一个,可以接收数据,也可以回复数据,但是不能同时进行(类似:对讲机)
3. 全双工模式
> 传输数据的信道有两个,接口可以在同一时刻接收数据和发送数据;(类似:电话)
5. **通过什么设备来分割冲突域**
- 交换机
> 把多台电脑连接在一-起的设备,组建局域网的主要设备 交换机的每一个接口有专门的数据信道来为用户转发数据; 交换机分割冲突域,实现全双工。
6. **交换机工作过程**
1. `学习`学习数据帧源MAC地址生成MAC地址表并将源MAC地址和对应的接口号写入MAC地址表
2. `广播`向除接收接口之外的所有接口广播未知目标MAC地址
3. `转发`根据MAC地址表转发数据帧
4. `更新`端口对应主机MAC地址发生变化重新学习MAC地址表中记录生存时间为300秒
7. **查看MAC地址表**
- `display mac-address`
![image-20240823175337509](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240823175337509.png)
```
<Huawei>display mac-address
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID
VSI/SI MAC-Tunnel
-------------------------------------------------------------------------------
5489-9802-3b6e 1 - - GE0/0/1 dynamic 0/-
5489-9886-7447 1 - - GE0/0/2 dynamic 0/-
5489-9899-2a4a 1 - - GE0/0/3 dynamic 0/-
-------------------------------------------------------------------------------
```
8. **案例实验**
PC1访问PC4MAC地址表学习结果如下
![image-20240823175514335](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240823175514335.png)
```
<SW1>display mac-address
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID
VSI/SI MAC-Tunnel
-------------------------------------------------------------------------------
5489-9802-3b6e 1 - - GE0/0/1 dynamic 0/-
5489-9875-353e 1 - - GE0/0/3 dynamic 0/-
-------------------------------------------------------------------------------
```
```
<SW2>display mac-address
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID
VSI/SI MAC-Tunnel
-------------------------------------------------------------------------------
5489-9802-3b6e 1 - - GE0/0/3 dynamic 0/-
5489-9875-353e 1 - - GE0/0/2 dynamic 0/-
-------------------------------------------------------------------------------
```
9. **广播域**
1. 什么是广播域
> 能够接收到同样广播消息的网络节点的集合
2. 广播域过大所带来的问题
> 当同一个广播域内广播报文过多时,会对局域网造成干扰,导致网络延迟,网络拥塞(上网卡,上网慢),严重情况可以造成广播风暴,导致网络瘫痪,给网络的可靠性和安全性带来了严重挑战。
3. 如何解决广播域
> 利用vlan技术可用在交换机中分割广播域实现广播报文的隔离。
10. **IP**
1. IP报头
- 长度至少为 20字节
![image-20240826094107457](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826094107457.png)
- 标识符、标志、段偏移量:作用将拆开的数据包进行组合(用来数据重组的)
- TTL值数据生命周期
- 作用:防止数据无限循环转发
- 原理数据包每经过一台路由器TTL值会减1当TTL为0时数据包被丢弃
- 协议号:数据包在网络中传递时所用的协议
> 协议号1 ICMP 6 TCP 17 UDP
2. IPv4地址回顾
- IP的作用用来标识一个节点的网络地址
- IP地址的版本V4(32)、V6(128)
- V4地址的表示方式点分十进制
- V4地址的组成网络位+主机位
- IP地址的分类A、B、C、D、E
- A、B、C默认子网掩码
- 私有IP地址的范围
> A10.0.0.0 - 10.255.255.255
>
> B172.16.0.0 - 172.31.255.255
>
> C192.168.0.0 - 192.168.255.255
3. IP地址的网络ID、广播地址、可用范围、可用IP地址的个数
1. IP地址的默认网络ID默认网络位地址不变主机位全0
> 例如192.168.1.1/24的网络ID
> 192.168.1.00000000
> 192.168.1.0192.168.1.1/24的网络ID
2. IP地址的默认广播地址默认网络位地址不变主机位全1
> 例如192.168.1.0/24的广播地址
> 192.168.1.11111111
> 192.168.1.255(192.168.1.0/24的广播地址)
3. 192.168.1.0/24可用主机IP地址范围
> 192.168.1.00000000 192.168.1.0/24(网络ID)
> 192.168.1.00000001 192.168.1.1第一个可用主机IP
> 192.168.1.00000010 192.168.1.2
> 192.168.1.00000011 192.168.1.3
> ……
> 192.168.1.11111110 192.168.1.254最后一个可用主机IP
> 192.168.1.11111111 192.168.1.255(广播地址)
4. IP地址可用个数
可用IP地址个数的计算
> 2的主机位数次方-2=可用主机IP地址的个数
> 例如192.168.1.0/24的网络中可用IP的个数
> 2的8次方 - 2 = 254可用个数
### 三、网络层
1. **ICMP协议**
1. 概述
- ICMPInternet控制消息协议
- 作用:为网络连通性测试以及网络故障定位提供有效指示信息
- 协议号1.
- 位于TCP/IP的第三层网络层
2. ICMP报文类型
- echo request 请求报文
- echo reply 应答报文
3. ICMP 命令
- ping 命令
> ping 目标IP地址 -t //一直ping ctrl+c 结束
> ping 目标IP地址 -c x(数字) //指定ping几次
> ping 目标IP地址 l x(数字) //指定ping的字节的大小
> ping 目标IP地址 -t -l x(数字) //攻击对方
> tracert 目标IP地址 //路由跟踪
> 作用:探测一个数据包 从源地址到目标地址所走的路径,记录节点,发现故障点,然后解决故障!
4. ICMP 消息提示
1. from 目标地址 ytes=32 seq=1 ttl=127 time=63 ms //表示连接成功
2. Destination host unreachable //表示目标主机不可达
> 同网段中没有这个IP地址或IP地址错误
>
> 跨网段通信时,本主机没有填写网关地址
3. Request timed out 请求时间超时
> 此提示常见原因:数据包可以出去,但是回不来【肉包子打狗】
>
> --对方主机没有填写网关地址
>
> --对方的防火墙阻断了
2. **ARP协议**
1. ARP协议概述
- ARP地址解析协议
- 作用已知目标设备的IP地址获取目标设备的MAC地址
- 解析方式发送arp广播得到mac地址后缓存到arp缓存表中
2. ARP报文类型
- ARP请求报文源设备以广播的方式发送 ARP 请求报文
- ARP回应报文目的设备以单播的方式回应直接返回给源设备
3. ARP缓存表
- ARP缓存表中记录IP地址和MAC地址的对应关系
- ARP 缓存表中有动态和静态两类条目
- ARP动态条目存活时间是1200S (华为的网络设备的arp缓存表的默认老化时间)
4. ARP 常用命令
> PC>arp -a //查看arp缓存表
> PC>arp -d //清空arp缓存表
> PC>arp -s 192.168.1.2 54-89-98-B9-74-25 //添加静态的ARP表记录
### 四、传输层
1. **传输层协议**
- TCP协议传输控制协议面向连接、可靠效率低
- UDP协议用户数据包协议无连接、不可靠效率高
2. **TCP封装格式**
![image-20240826165247982](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826165247982.png)
- 源端口源端口和IP地址的作用是标识报文的返回地址
- 目的端口:目标端口指明接收方计算机上的应用程序接口 备注:源端口是随机的,目标端口是固定的
- 序列号seq 使用序列号保证了tcp传输的有序性
- 确认号ACK确认号表示在回复对端你发的在该序号之前的所有数据我都已经收到
- 首部长度:由固定头部和可选项组成, 最小为20字节最大为60字节
- 保留为将来定义新的用途保留现在一般置0
- 控制位共6个每一个标志位表示一个控制功能
- SYN=1代表请求建立连接同步位
- ACK=1代表同意建立连接确认位
- FIN=1代表请求断开连接停止位
- URG=1代表紧急指针开启—紧急指针特别着急的数据段优先传递
- PSH=1代表提示接收端应用程序要立刻将数据从缓冲区里面取走.
- RST=1数据没有传输完成断开了在次请求建议连接
- 窗口:滑动窗口,代表数据在发送之前,设备间要进行协商,依照最小单位为准发送
- 校验和:此校验和是对整个的 TCP 报文段,包括 TCP 头部和 TCP 数据
3. **TCP三次握手**
| 主机A | 主机B |
| ------------------------------------- | ------------------------------------------------------------ |
| 第一次seq号=100SYN位=1 请求连接 | |
| | 第二次: 回应seq号=300ack号=101<br/>发起连接 SYN位=1ACK位=1 |
| 第三次seq号=101ack号=301ACK位=1 | |
![image-20240826165615556](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826165615556.png)
4. **三次握手抓包实验**
- 拓扑
![image-20240826165652863](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826165652863.png)
- 数据包
![image-20240826165709977](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826165709977.png)
![image-20240826165722955](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826165722955.png)
- 第一次握手
![image-20240826165740913](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826165740913.png)
- 第二次握手
![image-20240826165802564](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826165802564.png)
- 第三次握手
![image-20240826165819842](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826165819842.png)
5. **TCP的四次挥手**
| 主机A | 主机B |
| ------------------------- | ------------------------- |
| 第一次: FIN位=1ACK位=1 | |
| | 第二次: ACK位=1 |
| | 第三次: FIN位=1ACK位=1 |
| 第四次: ACK=1 | |
![image-20240826165906775](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826165906775.png)
6. **四次挥手抓包实验**
- 拓扑
![image-20240826165938303](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826165938303.png)
- 数据包
![image-20240826165957332](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826165957332.png)
- 第一次挥手
![image-20240826170021603](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826170021603.png)
- 第二次挥手
![image-20240826170050170](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826170050170.png)
- 第三次挥手
![image-20240826170109935](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826170109935.png)
- 第四次挥手
![image-20240826170124644](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826170124644.png)
7. **UDP封装格式**
![image-20240826170146027](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826170146027.png)
1. UDP抓包实验
- 拓扑
![image-20240826170236577](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826170236577.png)
- 在客户上模拟UDP的发包
![image-20240826170255771](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826170255771.png)
- 在交换机上抓包查看UDP的发包
![image-20240826170321612](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826170321612.png)
![image-20240826170328752](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826170328752.png)
### 五、应用层
1. **DNS**
1. 域名解析系统端口号TCP或UDP的53
2. 域名注册网站
> 新网 www.xinnet.com
>
> 万网(阿里云) www.net.cn
>
> 中国互联 hulian.top
2. **FTP**
- FTP概述
> 文件传输协议
>
> 控制连接TCP 21
>
> 数据连接TCP 20
3. **HTTP**
- 超文本传输协议 TCP 80
- 安全超文本传输协议 TCP 443
4. **Telnet**
1. telnet 概述
> 远程终端协议
>
> 端口号TCP 23
2. telnet常见认证
> 密码认证(仅需要密码)
>
> AAA认证需要用户名和密码可以为不同用户配置不同权限
3. Telnet -AAA认证实验
- 拓扑
![image-20240826172648897](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240826172648897.png)
- 需求
> R1通过telnet 协议远程控制R2
- 配置步骤
> 第一步配置R1/R2接口IP地址
>
> 第二步在R2中开启telnet 远程服务并配置AAA认证
>
> 第三步R1使用telnet 远程R2
- 配置命令
- 第一步配置R1的IP地址
```
<Huawei>un t m //关闭消息
<Huawei>sys //进入系统视图
[Huawei]sys PC //修改主机名
[PC]interface g0/0/0 //进入千兆接口g0/0/0
[PC-GigabitEthernet0/0/0]ip address 192.168.12.1 24 //给接口配置IP地址
```
- 第二步配置R2的IP地址
```
<Huawei>un t m //关闭消息
<Huawei>sys //进入系统视图
[Huawei]sys R2 //修改主机名
[R2]interface g0/0/0 //进入千兆接口g0/0/0
[R2-GigabitEthernet0/0/0]ip address 192.168.12.2 24 //给接口配置IP地址
[R2-GigabitEthernet0/0/0]quit //返回上一视图
```
- 第三步测试R1和R2的网络连通性
```
<R2>ping 192.168.12.1
```
- 第四步配置R2的telnet 远程管理
```
[R2]user-interface vty 0 4 //进入虚拟终端
[R2-ui-vty0-4]authentication-mode aaa //远程登录的认证模式设置为aaa认证
[R2-ui-vty0-4]aaa //进入aaa协议视图
[R2-aaa]local-user ntd password cipher 123456 //创建本地用户 ntd 密码123456
[R2-aaa]local-user ntd privilege level 15 //给本地用户ntd设置权限等级为15
[R2-aaa]local-user ntd service-type telnet //允许本地用户ntd使用telnet远程
[R2]user-interface vty 0 4 //进入虚拟终端
[R2-ui-vty0-4]authentication-mode aaa //远程登录的认证模式设置为aaa认证
[R2-ui-vty0-4]aaa //进入aaa协议视图
[R2-aaa]local-user ntd password cipher 123456 //创建本地用户 ntd 密码123456
[R2-aaa]local-user ntd privilege level 15 //给本地用户ntd设置权限等级为15
[R2-aaa]local-user ntd service-type telnet //允许本地用户ntd使用telnet远程
```
> [R2]telnet server enable //开启远程管理的服务(默认是开启的,所有会报错)
- 第五步:验证远程管理
```
<R1>telnet 192.168.12.2
Username:ntd //输入用户名
Password:123456 //输入密码
```
- 第六步验证telnet远程管理服务的禁用与启用
```
[R2]undo telnet server enable //关闭过程管理服务
通过R1发起telnet远管理查看提示
<pc>telnet 192.168.12.2
Press CTRL_] to quit telnet mode
Trying 192.168.12.2 ...
```
```
[R2]telnet server enable //开启远程管理的服务
通过R1发起telnet远管理查看提示
<pc>telnet 192.168.12.2
Press CTRL_] to quit telnet mode
Trying 192.168.12.2 ...
Connected to 192.168.12.2 ...
Login authentication
Username:
```