1.原理
传输层实现的是端到端 (应用程序与应用程序)的通信,网络层的点到点(指的是局域网中的主机到主机)
2.端口号
作用:程序地址;标明了上层协议
范围:0-65535
公有端口号:0-1023 已经固定的标准公有协议所对应的端口号
注册端口号:1024-49151 公众熟知,并经常使用,经过IANA注册(eg:OICQ)
动态端口号:49152-65535
3.端到端通信过程
目标端口号是固定的,源端口号>1023的随机数(发送)
为什么源端口号一定要随机?
因为上层应用协议有不同的会话,所以源端口号必须是随机的不重复的端口号,这样在回包的过程才能将正确的资源返回给指定的会话页面
Windows系统查看端口占用情况:netstat -ano
4.端口扫描(实验)
主要作用:进行信息收集
主要工具:nmap(纯命令行),Zenmap(图形化界面,底层是nmap)
5.传输层的主要协议
可靠TCP
面向连接的? 双方在通信之前,一定要确保连接可以建立,数据实时交互(打电话)
可靠机制
1.)三次握手(建立连接)和四次挥手(确保连接结束后,及时断开释放资源)
SYN(标志位) seq(序列号) ACK(确认seq) ack(确认连接的,flag字段)
FIN(连接中止,flag字段) seq ACK ack
为什么一定是四次? 半关闭状态(确保双方能够将所有的数据发送完毕再断开)
2.)分段和重组(让数据在传输的过程中更高效)
数据分段的依据是MSS MAX SEGMENT SIZE
MSS=MTU-网络层头部-传输层头部
数据流协议 和 数据报协议的区别
网络层分片的第二个原因:传输层没有使用TCP协议
重组靠序列号
3.)确认和重传(确保双方一定能够收到对方的数据)
确认依据:确认序列号
确认序列号的规律:在 seq的基础上+1
重传的依据:时间(往返时间)
流量控制机制
滑动(窗口值可变)窗口window size 规定了对方能够一次性发送的数据分段大小
拥塞控制机制
慢启动
不可靠UDP
面向无连接 双方在通信的时候不要建立连接,并且只是尽力的去传送数据(eg:IP)
没有任何可靠机制,报文结构及其简单
6.面临的安全威胁
DOS/DDOS 拒绝服务攻击/分布式拒绝服务攻击
通过无意义的数据包、连接等,占用目标主机的资源(带宽,CPU,内存资源等),以此来实现目标主机无法给正常用户提供服务的目标
CC攻击 也是DOS攻击的一种
TCP SYN半开链接 利用TCP三次握手机制缺陷,利用最后一个ACK不给服务器回确认数据,耗尽服务器CPU的资源
UDP 洪水攻击攻击者通过向服务器发送大量的UDP报文,占用服务器的链路带宽,导致服务器负担过重而不能正常向外提供服务
针对flag字段的异常位攻击 造成服务器TCP/IP协议栈处理异常
7.TCP SYN 半开链接(实验)
1.)ENSP搭建实验拓扑 ,两朵云,桥接V1网卡,连接XP虚拟机和KALI虚拟机
2.)启动KALI和XP虚拟机,并且配置好网卡,IP地址,能够互相通信
3.)KALI上输入hping3 -q -n -a 192.168.1.1 -S -s 53 --keep -p 445 --flood 192.168.1.2
4.)持续监控XP的CPU利用率和抓包信息
4实验:
端口扫描
7实验:
TCP SYN 半开连接