用於消耗服務器資源的rst工具

如下代碼可自行修改爲 用於大量消耗服務器資源的工具.服務器

主要SO_LINGER 選項.  做用於close時, 直接發送 rst;socket

例子:工具

#include "util.h"


int main(int argc, char**argv)
{
    if(argc != 3){
        puts("ip port");
        return 0;
    }

    int sockfd = socket(AF_INET,SOCK_STREAM,0);
    struct sockaddr_in sin;
    memset(&sin,0,sizeof(sin));
    sin.sin_family = AF_INET;
    sin.sin_port = htons(atoi(argv[2]));
    sin.sin_addr.s_addr = inet_addr(argv[1]);

    connect(sockfd,(SA*)&sin,sizeof(sin));
    struct linger li;
    li.l_onoff = 1;   //on
    li.l_linger = 0;  //rst on close;
    setsockopt(sockfd,SOL_SOCKET,SO_LINGER,&li,sizeof(li));
    close(sockfd);
    

    return 0;
}
相關文章
相關標籤/搜索