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

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

?? sendicmp.c

?? VC++源代碼
?? C
字號:
/*  * $smu-mark$  * $name: sendicmp.c$  * $author: Salvatore Sanfilippo <antirez@invece.org>$  * $copyright: Copyright (C) 1999 by Salvatore Sanfilippo$  * $license: This software is under GPL version 2 of license$  * $date: Fri Nov  5 11:55:49 MET 1999$  * $rev: 8$  */ /* $Id: sendicmp.c,v 1.9 2003/07/25 11:42:10 njombart Exp $ *//* * Revised for Windows: Rob Turpin <rgturpin@epop3.com>  *                      7/03/2004           */#include <sys/types.h> /* this should be not needed, but ip_icmp.h lacks it */#include <stdio.h>#include <time.h>#include <stdlib.h>#include <string.h>#include <signal.h>#include <errno.h>#ifndef WIN32#include <sys/time.h>#include <unistd.h>#else#include <io.h>#endif#include "hping2.h"#include "globals.h"// static int sequence = 0;// replaced all _icmp_seq with "sequence"// hard code src_port to 0 if ICMP type so delay table can be set correctly, do this before each send statementvoid send_icmp_echo(void);void send_icmp_other(void);void send_icmp_timestamp(void);void send_icmp_address(void);void send_icmp(void){	switch(opt_icmptype)	{		case ICMP_ECHO:			/* type 8 */		case ICMP_ECHOREPLY:		/* type 0 */			send_icmp_echo();			break;		case ICMP_DEST_UNREACH:		/* type 3 */		case ICMP_SOURCE_QUENCH:	/* type 4 */		case ICMP_REDIRECT:		/* type 5 */		case ICMP_TIME_EXCEEDED:	/* type 11 */			send_icmp_other();			break;		case ICMP_TIMESTAMP:		case ICMP_TIMESTAMPREPLY:			send_icmp_timestamp();			break;		case ICMP_ADDRESS:		case ICMP_ADDRESSREPLY:			send_icmp_address();			break;		default:			if (opt_force_icmp) {			    send_icmp_other();			    break;			} else {			    printf("[send_icmp] Unsupported icmp type!\n");			    exit(1);			}	}}void send_icmp_echo(void){	char *packet, *data;	struct myicmphdr *icmp;	packet = malloc(ICMPHDR_SIZE + data_size);	if (packet == NULL) {		perror("[send_icmp] malloc");		return;	}	memset(packet, 0, ICMPHDR_SIZE + data_size);	icmp = (struct myicmphdr*) packet;	data = packet + ICMPHDR_SIZE;	/* fill icmp hdr */	icmp->type = opt_icmptype;	/* echo replay or echo request */	icmp->code = opt_icmpcode;	/* should be indifferent */	icmp->checksum = 0;	icmp->un.echo.id = getpid() & 0xffff;	icmp->un.echo.sequence = sequence;	/* data */	data_handler(data, data_size);	/* icmp checksum */	if (icmp_cksum == -1)		icmp->checksum = cksum((u_short*)packet, ICMPHDR_SIZE + data_size);	else		icmp->checksum = icmp_cksum;	/* adds this pkt in delaytable */	if (opt_icmptype == ICMP_ECHO)#ifndef WIN32    delaytable_add(sequence, 0, time(NULL), get_usec(), S_SENT);#else    //delaytable_add(sequence, 0, time(NULL), get_msec(), S_SENT);#endif      src_port = 0;	/* send packet */	send_ip_handler(packet, ICMPHDR_SIZE + data_size);	free (packet);	sequence++;}void send_icmp_timestamp(void){	char *packet;	struct myicmphdr *icmp;	struct icmp_tstamp_data *tstamp_data;	packet = malloc(ICMPHDR_SIZE + sizeof(struct icmp_tstamp_data));	if (packet == NULL) {		perror("[send_icmp] malloc");		return;	}	memset(packet, 0, ICMPHDR_SIZE + sizeof(struct icmp_tstamp_data));	icmp = (struct myicmphdr*) packet;	tstamp_data = (struct icmp_tstamp_data*) (packet + ICMPHDR_SIZE);	/* fill icmp hdr */	icmp->type = opt_icmptype;	/* echo replay or echo request */	icmp->code = 0;	icmp->checksum = 0;	icmp->un.echo.id = getpid() & 0xffff;	icmp->un.echo.sequence = sequence;	tstamp_data->orig = htonl(get_midnight_ut_ms());	tstamp_data->recv = tstamp_data->tran = 0;	/* icmp checksum */	if (icmp_cksum == -1)		icmp->checksum = cksum((u_short*)packet, ICMPHDR_SIZE +				sizeof(struct icmp_tstamp_data));	else		icmp->checksum = icmp_cksum;	/* adds this pkt in delaytable */	if (opt_icmptype == ICMP_TIMESTAMP)#ifndef WIN32    delaytable_add(sequence, 0, time(NULL), get_usec(), S_SENT);#else    //delaytable_add(sequence, 0, time(NULL), get_msec(), S_SENT);#endif	/* send packet */	src_port = 0;	send_ip_handler(packet, ICMPHDR_SIZE + sizeof(struct icmp_tstamp_data));	free (packet);	sequence++;}void send_icmp_address(void){	char *packet;	struct myicmphdr *icmp;	packet = malloc(ICMPHDR_SIZE + 4);	if (packet == NULL) {		perror("[send_icmp] malloc");		return;	}	memset(packet, 0, ICMPHDR_SIZE + 4);	icmp = (struct myicmphdr*) packet;	/* fill icmp hdr */	icmp->type = opt_icmptype;	/* echo replay or echo request */	icmp->code = 0;	icmp->checksum = 0;	icmp->un.echo.id = getpid() & 0xffff;	icmp->un.echo.sequence = sequence;	memset(packet+ICMPHDR_SIZE, 0, 4);	/* icmp checksum */	if (icmp_cksum == -1)		icmp->checksum = cksum((u_short*)packet, ICMPHDR_SIZE + 4);	else		icmp->checksum = icmp_cksum;	/* adds this pkt in delaytable */	if (opt_icmptype == ICMP_TIMESTAMP)#ifndef WIN32    delaytable_add(sequence, 0, time(NULL), get_usec(), S_SENT);#else    //delaytable_add(sequence, 0, time(NULL), get_msec(), S_SENT);#endif	/* send packet */	src_port = 0;	send_ip_handler(packet, ICMPHDR_SIZE + 4);	free (packet);	sequence++;}void send_icmp_other(void){	char *packet, *data, *ph_buf;	struct myicmphdr *icmp;	struct myiphdr icmp_ip;	struct myudphdr *icmp_udp;	int udp_data_len = 0;	struct pseudohdr *pseudoheader;	int left_space = IPHDR_SIZE + UDPHDR_SIZE + data_size;	packet = malloc(ICMPHDR_SIZE + IPHDR_SIZE + UDPHDR_SIZE + data_size);	ph_buf = malloc(PSEUDOHDR_SIZE + UDPHDR_SIZE + udp_data_len);	if (packet == NULL || ph_buf == NULL) {		perror("[send_icmp] malloc");		return;	}	memset(packet, 0, ICMPHDR_SIZE + IPHDR_SIZE + UDPHDR_SIZE + data_size);	memset(ph_buf, 0, PSEUDOHDR_SIZE + UDPHDR_SIZE + udp_data_len);	icmp = (struct myicmphdr*) packet;	data = packet + ICMPHDR_SIZE;	pseudoheader = (struct pseudohdr *) ph_buf;	icmp_udp = (struct myudphdr *) (ph_buf + PSEUDOHDR_SIZE);	/* fill icmp hdr */	icmp->type = opt_icmptype;	/* ICMP_TIME_EXCEEDED */	icmp->code = opt_icmpcode;	/* should be 0 (TTL) or 1 (FRAGTIME) */	icmp->checksum = 0;	if (opt_icmptype == ICMP_REDIRECT)		memcpy(&icmp->un.gateway, &icmp_gw.sin_addr.s_addr, 4);	else		icmp->un.gateway = 0;	/* not used, MUST be 0 */	/* concerned packet headers */	/* IP header */	icmp_ip.version  = icmp_ip_version;		/* 4 */	icmp_ip.ihl      = icmp_ip_ihl;			/* IPHDR_SIZE >> 2 */	icmp_ip.tos      = icmp_ip_tos;			/* 0 */	icmp_ip.tot_len  = htons((icmp_ip_tot_len ? icmp_ip_tot_len : (icmp_ip_ihl<<2) + UDPHDR_SIZE + udp_data_len));	icmp_ip.id       = htons(getpid() & 0xffff);	icmp_ip.frag_off = 0;				/* 0 */	icmp_ip.ttl      = 64;				/* 64 */	icmp_ip.protocol = icmp_ip_protocol;		/* 6 (TCP) */	icmp_ip.check	 = 0;	memcpy(&icmp_ip.saddr, &icmp_ip_src.sin_addr.s_addr, 4);	memcpy(&icmp_ip.daddr, &icmp_ip_dst.sin_addr.s_addr, 4);	icmp_ip.check	 = cksum((__u16 *) &icmp_ip, IPHDR_SIZE);	/* UDP header */	memcpy(&pseudoheader->saddr, &icmp_ip_src.sin_addr.s_addr, 4);	memcpy(&pseudoheader->daddr, &icmp_ip_dst.sin_addr.s_addr, 4);	pseudoheader->protocol = icmp_ip.protocol;	pseudoheader->lenght = icmp_ip.tot_len;	icmp_udp->uh_sport = htons(icmp_ip_srcport);	icmp_udp->uh_dport = htons(icmp_ip_dstport);	icmp_udp->uh_ulen  = htons(UDPHDR_SIZE + udp_data_len);	icmp_udp->uh_sum   = cksum((__u16 *) ph_buf, PSEUDOHDR_SIZE + UDPHDR_SIZE + udp_data_len);	/* filling icmp body with concerned packet header */	/* fill IP */	if (left_space == 0) goto no_space_left;	memcpy(packet+ICMPHDR_SIZE, &icmp_ip, left_space);	left_space -= IPHDR_SIZE;	data += IPHDR_SIZE;	if (left_space <= 0) goto no_space_left;	/* fill UDP */	memcpy(packet+ICMPHDR_SIZE+IPHDR_SIZE, icmp_udp, left_space);	left_space -= UDPHDR_SIZE;	data += UDPHDR_SIZE;	if (left_space <= 0) goto no_space_left;	/* fill DATA */	data_handler(data, left_space);no_space_left:	/* icmp checksum */	if (icmp_cksum == -1)		icmp->checksum = cksum((u_short*)packet, ICMPHDR_SIZE + IPHDR_SIZE + UDPHDR_SIZE + data_size);	else		icmp->checksum = icmp_cksum;	/* send packet */	src_port = 0;	send_ip_handler(packet, ICMPHDR_SIZE + IPHDR_SIZE + UDPHDR_SIZE + data_size);	free (packet);	free (ph_buf);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品免费在线观看| 丝袜国产日韩另类美女| 亚洲国产中文字幕| 国产在线日韩欧美| 欧美高清dvd| 一区在线播放视频| 久久99国产精品免费网站| 在线一区二区三区四区| 日本黄色一区二区| 高清不卡在线观看av| 精品视频999| 国产精品国产三级国产专播品爱网| 亚洲第一电影网| av成人动漫在线观看| 精品剧情v国产在线观看在线| 亚洲在线视频一区| 99精品偷自拍| 久久久久久久av麻豆果冻| 天堂成人免费av电影一区| 色综合视频在线观看| 国产欧美日韩在线观看| 麻豆高清免费国产一区| 欧美肥妇毛茸茸| 亚洲精品成a人| 91免费精品国自产拍在线不卡| 久久久久国色av免费看影院| 精品无人区卡一卡二卡三乱码免费卡| 在线精品亚洲一区二区不卡| 亚洲视频狠狠干| 99久久婷婷国产| 国产精品嫩草99a| 成人网男人的天堂| 久久精品一区二区三区不卡| 国产在线播放一区二区三区| 欧美电影免费观看高清完整版在线 | 国产毛片精品视频| 欧美不卡在线视频| 精品一区二区在线免费观看| 欧美一级夜夜爽| 美国精品在线观看| 精品国产a毛片| 国内精品写真在线观看| 久久影视一区二区| 国产高清不卡一区二区| 亚洲国产精华液网站w| 成人国产精品免费观看视频| 亚洲欧美激情在线| 欧美日韩日本视频| 久久国产精品色| 久久人人97超碰com| 国产suv精品一区二区883| 中文子幕无线码一区tr| 色噜噜狠狠成人中文综合| 亚洲午夜一区二区| 欧美电影免费观看完整版| 国产精品99久久久久久久vr| 国产精品天干天干在观线| 色8久久精品久久久久久蜜| 污片在线观看一区二区| 精品国产一区二区三区久久久蜜月 | 国产午夜精品一区二区三区视频| 粉嫩av一区二区三区粉嫩 | 精品国产污污免费网站入口 | 日韩你懂的电影在线观看| 国产精品一区二区三区99| 中文字幕一区二区不卡| 欧美美女bb生活片| 国产精品99久久久久| 亚洲欧美日韩国产成人精品影院| 欧美亚洲一区二区在线观看| 久久国产精品99久久人人澡| 中文字幕一区二区三区四区| 欧美色图激情小说| 久99久精品视频免费观看| 亚洲人快播电影网| 日韩一区二区三| 成a人片国产精品| 日本不卡视频在线| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 日韩一区二区三区电影| caoporm超碰国产精品| 日韩国产精品91| 中文字幕色av一区二区三区| 91精品国产品国语在线不卡| a4yy欧美一区二区三区| 美女性感视频久久| 一区二区三区在线观看视频| 久久久久久久久久久电影| 欧美在线一二三| 成人成人成人在线视频| 极品少妇xxxx偷拍精品少妇| 亚洲午夜免费电影| 亚洲色图.com| 欧美激情一区三区| 精品少妇一区二区| 欧美日韩不卡在线| 色天使色偷偷av一区二区| 国产成a人无v码亚洲福利| 美女视频黄a大片欧美| 亚洲午夜视频在线| 亚洲精品国产一区二区精华液| 久久久蜜臀国产一区二区| 日韩一区二区三区免费观看| 欧美亚洲免费在线一区| 色呦呦日韩精品| 白白色亚洲国产精品| 国产大陆亚洲精品国产| 久久99这里只有精品| 热久久久久久久| 免费国产亚洲视频| 日韩经典中文字幕一区| 午夜天堂影视香蕉久久| 亚洲高清不卡在线| 亚洲动漫第一页| 亚洲va欧美va人人爽| 亚洲一卡二卡三卡四卡无卡久久 | 欧美色中文字幕| 欧洲精品在线观看| 欧美综合在线视频| 欧美性淫爽ww久久久久无| 欧美少妇性性性| 3d动漫精品啪啪一区二区竹菊| 欧美日韩一区在线观看| 欧美日韩成人高清| 日韩一级片在线观看| 欧美精品一区二区三区高清aⅴ | 94色蜜桃网一区二区三区| 99久精品国产| 欧洲精品一区二区三区在线观看| 欧美色图一区二区三区| 91精品午夜视频| 欧美精品一区二区三区在线| 久久久99精品免费观看不卡| 日本一区二区三区视频视频| 国产精品护士白丝一区av| 亚洲精品中文在线观看| 日韩精品每日更新| 精品无人区卡一卡二卡三乱码免费卡 | 国产精品国产成人国产三级 | 亚洲成人动漫精品| 麻豆国产精品官网| www.色精品| 欧美日韩亚洲综合在线 | 在线观看91av| 精品欧美久久久| 欧美激情艳妇裸体舞| 一二三四区精品视频| 日韩精品一区第一页| 狠狠狠色丁香婷婷综合激情| 99精品视频在线观看| 欧美日韩成人在线| 久久久精品黄色| 夜夜嗨av一区二区三区四季av | 亚洲欧美aⅴ...| 美女诱惑一区二区| 99久久精品国产麻豆演员表| 欧美久久久久久久久中文字幕| xfplay精品久久| 一区二区欧美国产| 国产麻豆一精品一av一免费| 色噜噜狠狠成人网p站| 精品久久99ma| 亚洲一区二区三区四区五区黄 | 三级亚洲高清视频| 成人激情午夜影院| 日韩一区二区三区在线视频| 亚洲三级免费电影| 国产一区二区视频在线播放| 欧美亚洲国产bt| 国产目拍亚洲精品99久久精品| 午夜电影网一区| 91美女视频网站| 久久久久久久久久久电影| 亚洲成人一二三| av在线播放不卡| 久久久亚洲精品一区二区三区 | 欧美精品久久久久久久久老牛影院| 国产日韩精品一区二区三区| 日韩激情视频网站| 91传媒视频在线播放| 国产精品蜜臀在线观看| 久久99精品国产麻豆婷婷洗澡| 欧美最新大片在线看| 成人欧美一区二区三区在线播放| 国内久久精品视频| 日韩免费看网站| 日韩成人午夜精品| 在线亚洲人成电影网站色www| 国产精品理伦片| 国产成人啪免费观看软件| 亚洲精品在线网站| 久久aⅴ国产欧美74aaa| 日韩一区二区影院| 免费三级欧美电影| 日韩午夜在线观看视频| 日韩avvvv在线播放| 69堂精品视频| 日韩高清欧美激情| 欧美一区二区三区在线观看| 日韩影院免费视频|