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

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

?? wscan.c

?? linux下的一個多線程掃描工具
?? C
?? 第 1 頁 / 共 2 頁
字號:
#ifdef DEBUG
                                printf("abstract port %d ok.\n",short_ports[k - 1]);
#endif
                                temp[0] = '\0';
                                j = 0;
                        }
                }
                temp[j] = '\0';
                port = atoi(temp);
                check_port(port);
                short_ports[k++] = port;
#ifdef DEBUG
                printf("abstract port %d ok.\n",short_ports[k - 1]);
#endif
                short_ports_num = k;
                return PORT_MODE1;
        }

        else if (strchr(ports,FLAG2) != NULL) {
#ifdef DEBUG
                printf("mode 2.\n");
#endif
                for (; i < strlen(ports); i++) {
                        if (ports[i] >= '0' && ports[i] <= '9') {
                                temp[j++] = ports[i];
                        }
                        if (ports[i] == FLAG2) {
                                temp[j] = '\0';
                                port = atoi(temp);
                                check_port(port);
                                long_ports[m++][0] = port;
#ifdef DEBUG
                                printf("abstract port %d ok.\n",long_ports[m - 1][0]);
#endif
                                temp[0] = '\0';
                                j = 0;
                                i++;
                                for (; i < strlen(ports); i++) {
                                        if (ports[i] == FLAG1 || ports[i] == FLAG2)
                                                break;
                                        temp[j++] = ports[i];
                                }
                                temp[j] = '\0';
                                port = atoi(temp);
                                check_port(port);
                                long_ports[m - 1][1] = port;
                                
#ifdef DEBUG
                                printf("abstract port %d ok.\n",long_ports[m - 1][1]);
#endif
                                
                                if (long_ports[m - 1][0] > long_ports[m - 1][1]) {
                                        printf("[-] bad ports,check it out.\n");
                                        exit(-1);
                                }
                                temp[0] = '\0';
                                j = 0;
                        }
                }
                
                long_ports_num = long_ports[0][1] - long_ports[0][0] + 1;
                return PORT_MODE2;
        }

        else  {
#ifdef DEBUG
                printf("mode4.\n");
#endif
                port = atoi(ports);
                check_port(port);
                short_ports[k] = port;
                short_ports_num = 1;
                return PORT_MODE4;
        }
        
        return 0;
}

void *tcp_thread_connect(void *sock)
{
        struct remote_sock *socks = sock;
        unsigned int remote_ip,remote_port,timeout;

        remote_ip = socks->ip;
        remote_port = socks->port;
        timeout = socks->timeout;

        if (!remote_ip) {
                printf("[-] remote ip error.\n");
                return ;
        }
        if (!remote_port) {
                printf("[-] remote port error.\n");
                return ;
        }

        if (tcp_connect_fast(remote_ip,remote_port,timeout)) {
                pthread_mutex_lock(&total_ports_lock);
                total_ports++;
                pthread_mutex_unlock(&total_ports_lock);
                printf("%-5d\t\t\t\t[+]\n",ntohs(remote_port));
        }
}

int scan_port_array(unsigned int remote_ip,unsigned int ports[],
                int port_num,unsigned int timeout)
{
        struct remote_sock sock;
        int i = 0;
               	
        for (; i < port_num; i++) {
                sock.ip = remote_ip;
                sock.port = htons(ports[i]);
                sock.timeout = timeout;

                test_thread();
                if (pthread_create(&t, &attr, tcp_thread_connect, (void *)&sock) != 0) {
                        printf("[-] create thread failed.\n");
                        continue;
                }
#ifdef DEBUG
                printf("[+] create thread ok.\n");
#endif
                pthread_mutex_lock(&thread_lock);
                thread_num++;
                pthread_mutex_unlock(&thread_lock);

                my_sleep(SLEEP_TIME);

        }
        
        return 1;
}

int scan_port(unsigned int remote_ip,unsigned int s_port,
        unsigned int e_port,unsigned int timeout)
{
        struct remote_sock sock;
        int i = 0;
        int port_num;

        printf("scan port from %d to %d ...\n",s_port, e_port);
        
       	i = s_port;
        for (; i <= e_port; i++) {
                sock.ip = remote_ip;
                sock.port = htons(i);
                sock.timeout = timeout;

                test_thread();
                if (pthread_create(&t, &attr, tcp_thread_connect, (void *)&sock) != 0) {
                        printf("[-] create thread failed.\n");
                        continue;
                }
#ifdef DEBUG
                printf("[+] create thread ok.\n");
#endif
                pthread_mutex_lock(&thread_lock);
                thread_num++;
                pthread_mutex_unlock(&thread_lock);
                
                my_sleep(SLEEP_TIME);
        }

        return 1;
}

int main(int argc,char **argv)
{
        time_t t_start,t_end;
        unsigned int remote_ip;
        int flag_p = 0;
        int i = 0;
        int ret,port_num = 0;
        
        if (argc == 1 || !strcmp(argv[1],"-h"))
                usage(argv[0]);
                
        while (i < argc - 1) {
                if (!strcmp(argv[i],"-p")) {
                        flag_p = 1;
                        check_ports(argv[i + 1]);
                        ret = abstract_ports(argv[i + 1]);
                        i++;
                        continue;
                }
                if (!strcmp(argv[i],"-n")) {
                        max_thread = atoi(argv[i + 1]);
                        i++;
                        continue;
                }
                if (!strcmp(argv[i],"-t")) {
                        timeout = atoi(argv[i +1]);
                        i++;
                        continue;
                }
                i++;
        }

        signal(SIGINT, &get_ctrl_c);
        
       	setup(&attr);
       	
        if (max_thread == 0)
                max_thread = DEFAULT_THREAD;

        if (timeout == 0)
                timeout = TIMEOUT_FAST;

        if (strchr(argv[1],'-') != NULL) {
                set_ip(argv[1]);
                printf("Start scaning host from %u.%u.%u.%u to %u.%u.%u.%u at %s",
                        NIPQUAD(start_ip),NIPQUAD(end_ip),ctime(&t_start) + 4);
        }
        else {
                remote_ip = make_network_ip(argv[1]);
                if (!remote_ip) {
                        printf("[-] host error.\n");
                        exit(-1);
                }
                start_ip = end_ip = remote_ip;
        }
        
        time(&t_start);
	printf("Start scaning host %s at %s",argv[1],ctime(&t_start) + 4);
	printf("thread : %d | timeout : %d | ",max_thread,timeout);
        
        if (flag_p == 0) {
                port_num = (end_ip - start_ip + 1) * PORT_NUM;
                printf("total_ports : %d\n",port_num);
                for (remote_ip = start_ip; remote_ip <= end_ip; remote_ip++){
                        if (remote_ip % 256 == 0 || remote_ip %256 == 255)
                                continue;
                        scan_port_array(remote_ip,common_ports,PORT_NUM,timeout);
                }
                goto out;
        }
                
        if (flag_p == 1) {
                switch(ret) {
                        case PORT_MODE1:
                                printf("total_ports : %d\n",short_ports_num);
                                scan_port_array(remote_ip,short_ports,
                                                short_ports_num,timeout);
                                                
                                break;
                        case PORT_MODE2:
                                printf("total_ports : %d\n",
                                        long_ports[0][1] - long_ports[0][0] + 1);
                                scan_port(remote_ip,long_ports[0][0],
                                        long_ports[0][1],timeout);
                                        
                                break;
                        case PORT_MODE3:
                                for (i = 0; i < long_ports_num; i++)
                                        port_num += long_ports[i][1] - long_ports[i][0];
                                printf("total_ports : %d\n",port_num + short_ports_num);
                                
                                scan_port_array(remote_ip,short_ports,
                                                short_ports_num,timeout);
                                for (i = 0; i < long_ports_num; i++)
                                        scan_port(remote_ip,long_ports[i][0],
                                                long_ports[i][1],timeout);
                                                
                                break;
                        case PORT_MODE4:
                                printf("total_ports : %d\n",short_ports_num);
                                short_ports[1] = short_ports[0] + 1;
                                scan_port_array(remote_ip,short_ports,2,timeout);
                                        
                                break;
                        default:
                                printf("[-] -p bad parameters.\n");
                                exit(-1);
                }
        }

        out:
        //wait_thread_end();
        
        my_sleep(1);
        time(&t_end);
	printf("End scan host %s at %s",argv[1],ctime(&t_end) + 4);
	printf("%ld ports opened.\n",total_ports);
	
        return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜桃一区二区三区在线观看| 亚洲成人av在线电影| 国产精品情趣视频| 26uuu久久综合| 日韩精品在线看片z| 欧美一区二区观看视频| 欧美一区二区三区四区高清| 777午夜精品免费视频| 日韩午夜精品视频| 欧美第一区第二区| 国产农村妇女精品| 亚洲天堂福利av| 亚洲一区日韩精品中文字幕| 亚洲福利一区二区| 蜜乳av一区二区| 国产精品白丝jk黑袜喷水| 精品一区二区三区香蕉蜜桃| 国产一区日韩二区欧美三区| 成人动漫中文字幕| 欧美亚洲综合另类| 欧美电影免费观看高清完整版在线观看 | 国产蜜臀97一区二区三区| 久久精品一级爱片| 亚洲另类在线一区| 天天操天天色综合| 国产精品原创巨作av| av色综合久久天堂av综合| 欧美性感一区二区三区| 日韩视频在线你懂得| 日本一区二区三区国色天香| 亚洲精品菠萝久久久久久久| 美女国产一区二区三区| av在线一区二区| 91麻豆精品国产91久久久资源速度 | 亚洲欧美电影一区二区| 日韩av成人高清| 99久久精品国产毛片| 91.com在线观看| 国产精品黄色在线观看| 日韩成人午夜电影| www.在线成人| 欧美成人一区二区| 一区二区三区欧美久久| 国产成人精品亚洲午夜麻豆| 欧亚一区二区三区| 久久久久久久久久电影| 婷婷国产在线综合| 99热国产精品| 精品成人a区在线观看| 亚洲一区二区在线视频| 岛国av在线一区| 日韩一区二区免费高清| 亚洲精品乱码久久久久久| 国产精品一区久久久久| 欧美一区二区三区系列电影| 亚洲视频一二三| 国产成人午夜精品5599| 欧美专区亚洲专区| 亚洲天堂2014| 高清国产一区二区三区| wwww国产精品欧美| 奇米777欧美一区二区| 欧美色综合天天久久综合精品| 国产精品麻豆视频| 国产成人精品一区二区三区四区| 欧美一区二区三区公司| 五月天久久比比资源色| 欧美三级韩国三级日本三斤| 国产精品国产三级国产普通话蜜臀| 激情综合一区二区三区| 日韩美女视频在线| 久久精品72免费观看| 日韩小视频在线观看专区| 首页国产欧美久久| 欧美一卡在线观看| 青娱乐精品视频在线| 欧美一区二区视频在线观看2020 | 欧美国产精品中文字幕| 国产一区91精品张津瑜| 久久久一区二区| 国产91对白在线观看九色| 国产欧美精品国产国产专区| 成人性生交大片免费看视频在线| 337p日本欧洲亚洲大胆色噜噜| 久久精品99国产国产精| 久久久不卡网国产精品二区| 国产91色综合久久免费分享| 日本一区二区三区dvd视频在线| 丁香五精品蜜臀久久久久99网站 | 亚洲精品水蜜桃| 欧美三级视频在线播放| 美女在线一区二区| 国产欧美日韩另类一区| 色哟哟国产精品免费观看| 亚洲自拍偷拍图区| 欧美大片日本大片免费观看| 国产成人在线网站| 一区二区在线免费| 欧美一区二区国产| 成人午夜视频网站| 亚洲图片欧美色图| 精品国产亚洲在线| 97se亚洲国产综合自在线观| 亚洲国产成人高清精品| 精品福利二区三区| 94-欧美-setu| 日韩av一区二| 国产精品青草久久| 4438x亚洲最大成人网| 国产精品一区一区三区| 亚洲成人免费看| 日本一区二区成人| 欧美疯狂做受xxxx富婆| 懂色av一区二区三区蜜臀| 亚洲超碰97人人做人人爱| 午夜精品成人在线| 久久精品一二三| 欧美视频在线播放| 成人午夜视频免费看| 天天综合网天天综合色| 国产精品国产自产拍在线| 91精品国产综合久久福利软件| 国产mv日韩mv欧美| 午夜精品久久久久久久99水蜜桃| 国产日韩精品一区| 欧美一级日韩一级| 在线精品视频一区二区三四| 国产一区二区三区电影在线观看| 亚洲高清久久久| 国产精品毛片久久久久久| 精品不卡在线视频| 91精品国产一区二区三区香蕉| voyeur盗摄精品| 韩国一区二区视频| 免费成人小视频| 亚洲午夜在线电影| 亚洲女与黑人做爰| 中文字幕乱码亚洲精品一区| 精品国产一区二区三区av性色 | 久久久久久久久久久久久夜| 欧美日本韩国一区二区三区视频| 成人a级免费电影| 国产馆精品极品| 狠狠色丁香久久婷婷综合丁香| 视频一区中文字幕国产| 亚洲一区二区三区在线看| 1000精品久久久久久久久| 中文字幕欧美日韩一区| 精品国产精品一区二区夜夜嗨| 91精品蜜臀在线一区尤物| 欧美日韩精品欧美日韩精品一 | 中文字幕在线不卡一区| 欧美韩日一区二区三区四区| 久久久久久久免费视频了| 精品免费一区二区三区| xnxx国产精品| 国产日本亚洲高清| 国产精品乱码一区二区三区软件 | 日韩精品一区二区三区swag| 日韩免费一区二区三区在线播放| 日韩视频在线你懂得| 日韩欧美色综合| 精品国产一二三| 中文文精品字幕一区二区| 欧美经典一区二区三区| 中文字幕欧美三区| 亚洲精品欧美激情| 性感美女久久精品| 欧美96一区二区免费视频| 免费看欧美美女黄的网站| 国产精品中文字幕日韩精品| av午夜一区麻豆| 欧美在线你懂得| 日韩你懂的在线观看| 国产亚洲成aⅴ人片在线观看 | 九九九精品视频| 国产成人亚洲综合色影视| 91视频在线观看免费| 欧美日韩一区 二区 三区 久久精品| 欧美日韩一区高清| 久久伊人蜜桃av一区二区| 国产精品成人免费在线| 午夜欧美2019年伦理| 国内精品国产三级国产a久久 | 亚洲国产一区视频| 激情图区综合网| 一本高清dvd不卡在线观看| 91精品国产乱码久久蜜臀| 国产精品天天摸av网| 亚洲午夜精品网| 国产91高潮流白浆在线麻豆 | 99麻豆久久久国产精品免费| 欧美日韩aaaaaa| 久久久99免费| 午夜精品视频在线观看| 成熟亚洲日本毛茸茸凸凹| 欧美喷潮久久久xxxxx| 欧美高清在线一区二区| 免费在线视频一区| 91福利视频久久久久|