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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? ping6.c

?? IPv6環(huán)境中的ping實(shí)現(xiàn)
?? C
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
			options |= F_FQDN;			break;		case 'W':			options &= ~F_NOUSERDATA;			options |= F_FQDNOLD;			break;#ifdef IPSEC#ifdef IPSEC_POLICY_IPSEC		case 'P':			options |= F_POLICY;			if (!strncmp("in", optarg, 2)) {				if ((policy_in = strdup(optarg)) == NULL)					errx(1, "strdup");			} else if (!strncmp("out", optarg, 3)) {				if ((policy_out = strdup(optarg)) == NULL)					errx(1, "strdup");			} else				errx(1, "invalid security policy");			break;#else		case 'A':			options |= F_AUTHHDR;			break;		case 'E':			options |= F_ENCRYPT;			break;#endif /*IPSEC_POLICY_IPSEC*/#endif /*IPSEC*/		default:			usage();			/*NOTREACHED*/		}	}	argc -= optind;	argv += optind;	if (argc < 1) {		usage();		/*NOTREACHED*/	}	if (argc > 1) {#ifdef IPV6_RECVRTHDR	/* 2292bis */		rthlen = CMSG_SPACE(inet6_rth_space(IPV6_RTHDR_TYPE_0,		    argc - 1));#else  /* RFC2292 */		rthlen = inet6_rthdr_space(IPV6_RTHDR_TYPE_0, argc - 1);#endif		if (rthlen == 0) {			errx(1, "too many intermediate hops");			/*NOTREACHED*/		}		ip6optlen += rthlen;	}	if (options & F_NIGROUP) {		target = nigroup(argv[argc - 1]);		if (target == NULL) {			usage();			/*NOTREACHED*/		}	} else		target = argv[argc - 1];	/* getaddrinfo */	memset(&hints, 0, sizeof(struct addrinfo));	hints.ai_flags = AI_CANONNAME;	hints.ai_family = AF_INET6;	hints.ai_socktype = SOCK_RAW;	hints.ai_protocol = IPPROTO_ICMPV6;	ret_ga = getaddrinfo(target, NULL, &hints, &res);	if (ret_ga)		errx(1, "%s", gai_strerror(ret_ga));	if (res->ai_canonname)		hostname = res->ai_canonname;	else		hostname = target;	if (!res->ai_addr)		errx(1, "getaddrinfo failed");	(void)memcpy(&dst, res->ai_addr, res->ai_addrlen);	if ((s = socket(res->ai_family, res->ai_socktype,	    res->ai_protocol)) < 0)		err(1, "socket");	/* set the source address if specified. */	if ((options & F_SRCADDR) &&	    bind(s, (struct sockaddr *)&src, srclen) != 0) {		err(1, "bind");	}	/* set the gateway (next hop) if specified */	if (gateway) {		struct addrinfo ghints, *gres;		int error;		memset(&ghints, 0, sizeof(ghints));		ghints.ai_family = AF_INET6;		ghints.ai_socktype = SOCK_RAW;		ghints.ai_protocol = IPPROTO_ICMPV6;		error = getaddrinfo(gateway, NULL, &hints, &gres);		if (error) {			errx(1, "getaddrinfo for the gateway %s: %s",			     gateway, gai_strerror(error));		}		if (gres->ai_next && (options & F_VERBOSE))			warnx("gateway resolves to multiple addresses");		if (setsockopt(s, IPPROTO_IPV6, IPV6_NEXTHOP,			       gres->ai_addr, gres->ai_addrlen)) {			err(1, "setsockopt(IPV6_NEXTHOP)");		}		freeaddrinfo(gres);	}	/*	 * let the kerel pass extension headers of incoming packets,	 * for privileged socket options	 */	if ((options & F_VERBOSE) != 0) {		int opton = 1;#ifdef IPV6_RECVHOPOPTS		if (setsockopt(s, IPPROTO_IPV6, IPV6_RECVHOPOPTS, &opton,		    sizeof(opton)))			err(1, "setsockopt(IPV6_RECVHOPOPTS)");#else  /* old adv. API */		if (setsockopt(s, IPPROTO_IPV6, IPV6_HOPOPTS, &opton,		    sizeof(opton)))			err(1, "setsockopt(IPV6_HOPOPTS)");#endif#ifdef IPV6_RECVDSTOPTS		if (setsockopt(s, IPPROTO_IPV6, IPV6_RECVDSTOPTS, &opton,		    sizeof(opton)))			err(1, "setsockopt(IPV6_RECVDSTOPTS)");#else  /* old adv. API */		if (setsockopt(s, IPPROTO_IPV6, IPV6_DSTOPTS, &opton,		    sizeof(opton)))			err(1, "setsockopt(IPV6_DSTOPTS)");#endif#ifdef IPV6_RECVRTHDRDSTOPTS		if (setsockopt(s, IPPROTO_IPV6, IPV6_RECVRTHDRDSTOPTS, &opton,		    sizeof(opton)))			err(1, "setsockopt(IPV6_RECVRTHDRDSTOPTS)");#endif	}	/* revoke root privilege */	seteuid(getuid());	setuid(getuid());	if ((options & F_FLOOD) && (options & F_INTERVAL))		errx(1, "-f and -i incompatible options");	if ((options & F_NOUSERDATA) == 0) {		if (datalen >= sizeof(struct tv32)) {			/* we can time transfer */			timing = 1;		} else			timing = 0;		/* in F_VERBOSE case, we may get non-echoreply packets*/		if (options & F_VERBOSE)			packlen = 2048 + IP6LEN + ICMP6ECHOLEN + EXTRA;		else			packlen = datalen + IP6LEN + ICMP6ECHOLEN + EXTRA;	} else {		/* suppress timing for node information query */		timing = 0;		datalen = 2048;		packlen = 2048 + IP6LEN + ICMP6ECHOLEN + EXTRA;	}	if (!(packet = (u_char *)malloc((u_int)packlen)))		err(1, "Unable to allocate packet");	if (!(options & F_PINGFILLED))		for (i = ICMP6ECHOLEN; i < packlen; ++i)			*datap++ = i;	ident = getpid() & 0xFFFF;#ifndef __OpenBSD__	gettimeofday(&timeout, NULL);	srand((unsigned int)(timeout.tv_sec ^ timeout.tv_usec ^ (long)ident));	memset(nonce, 0, sizeof(nonce));	for (i = 0; i < sizeof(nonce); i += sizeof(int))		*((int *)&nonce[i]) = rand();#else	memset(nonce, 0, sizeof(nonce));	for (i = 0; i < sizeof(nonce); i += sizeof(u_int32_t))		*((u_int32_t *)&nonce[i]) = arc4random();#endif	hold = 1;	if (options & F_SO_DEBUG)		(void)setsockopt(s, SOL_SOCKET, SO_DEBUG, (char *)&hold,		    sizeof(hold));	optval = IPV6_DEFHLIM;	if (IN6_IS_ADDR_MULTICAST(&dst.sin6_addr))		if (setsockopt(s, IPPROTO_IPV6, IPV6_MULTICAST_HOPS,		    &optval, sizeof(optval)) == -1)			err(1, "IPV6_MULTICAST_HOPS");#ifdef IPV6_USE_MIN_MTU	if (mflag != 1) {		optval = mflag > 1 ? 0 : 1;		if (setsockopt(s, IPPROTO_IPV6, IPV6_USE_MIN_MTU,		    &optval, sizeof(optval)) == -1)			err(1, "setsockopt(IPV6_USE_MIN_MTU)");	}#ifdef IPV6_RECVPATHMTU	else {		optval = 1;		if (setsockopt(s, IPPROTO_IPV6, IPV6_RECVPATHMTU,		    &optval, sizeof(optval)) == -1)			err(1, "setsockopt(IPV6_RECVPATHMTU)");	}#endif /* IPV6_RECVPATHMTU */#endif /* IPV6_USE_MIN_MTU */#ifdef IPSEC#ifdef IPSEC_POLICY_IPSEC	if (options & F_POLICY) {		if (setpolicy(s, policy_in) < 0)			errx(1, "%s", ipsec_strerror());		if (setpolicy(s, policy_out) < 0)			errx(1, "%s", ipsec_strerror());	}#else	if (options & F_AUTHHDR) {		optval = IPSEC_LEVEL_REQUIRE;#ifdef IPV6_AUTH_TRANS_LEVEL		if (setsockopt(s, IPPROTO_IPV6, IPV6_AUTH_TRANS_LEVEL,		    &optval, sizeof(optval)) == -1)			err(1, "setsockopt(IPV6_AUTH_TRANS_LEVEL)");#else /* old def */		if (setsockopt(s, IPPROTO_IPV6, IPV6_AUTH_LEVEL,		    &optval, sizeof(optval)) == -1)			err(1, "setsockopt(IPV6_AUTH_LEVEL)");#endif	}	if (options & F_ENCRYPT) {		optval = IPSEC_LEVEL_REQUIRE;		if (setsockopt(s, IPPROTO_IPV6, IPV6_ESP_TRANS_LEVEL,		    &optval, sizeof(optval)) == -1)			err(1, "setsockopt(IPV6_ESP_TRANS_LEVEL)");	}#endif /*IPSEC_POLICY_IPSEC*/#endif#ifdef ICMP6_FILTER    {	struct icmp6_filter filt;	if (!(options & F_VERBOSE)) {		ICMP6_FILTER_SETBLOCKALL(&filt);		if ((options & F_FQDN) || (options & F_FQDNOLD) ||		    (options & F_NODEADDR) || (options & F_SUPTYPES))			ICMP6_FILTER_SETPASS(ICMP6_NI_REPLY, &filt);		else			ICMP6_FILTER_SETPASS(ICMP6_ECHO_REPLY, &filt);	} else {		ICMP6_FILTER_SETPASSALL(&filt);	}	if (setsockopt(s, IPPROTO_ICMPV6, ICMP6_FILTER, &filt,	    sizeof(filt)) < 0)		err(1, "setsockopt(ICMP6_FILTER)");    }#endif /*ICMP6_FILTER*/	/* let the kerel pass extension headers of incoming packets */	if ((options & F_VERBOSE) != 0) {		int opton = 1;#ifdef IPV6_RECVRTHDR		if (setsockopt(s, IPPROTO_IPV6, IPV6_RECVRTHDR, &opton,		    sizeof(opton)))			err(1, "setsockopt(IPV6_RECVRTHDR)");#else  /* old adv. API */		if (setsockopt(s, IPPROTO_IPV6, IPV6_RTHDR, &opton,		    sizeof(opton)))			err(1, "setsockopt(IPV6_RTHDR)");#endif	}/*	optval = 1;	if (IN6_IS_ADDR_MULTICAST(&dst.sin6_addr))		if (setsockopt(s, IPPROTO_IPV6, IPV6_MULTICAST_LOOP,		    &optval, sizeof(optval)) == -1)			err(1, "IPV6_MULTICAST_LOOP");*/	/* Specify the outgoing interface and/or the source address */	if (usepktinfo)		ip6optlen += CMSG_SPACE(sizeof(struct in6_pktinfo));	if (hoplimit != -1)		ip6optlen += CMSG_SPACE(sizeof(int));#ifdef IPV6_REACHCONF	if (options & F_REACHCONF)		ip6optlen += CMSG_SPACE(0);#endif	/* set IP6 packet options */	if (ip6optlen) {		if ((scmsg = (char *)malloc(ip6optlen)) == 0)			errx(1, "can't allocate enough memory");		smsghdr.msg_control = (caddr_t)scmsg;		smsghdr.msg_controllen = ip6optlen;		scmsgp = (struct cmsghdr *)scmsg;	}	if (usepktinfo) {		pktinfo = (struct in6_pktinfo *)(CMSG_DATA(scmsgp));		memset(pktinfo, 0, sizeof(*pktinfo));		scmsgp->cmsg_len = CMSG_LEN(sizeof(struct in6_pktinfo));		scmsgp->cmsg_level = IPPROTO_IPV6;		scmsgp->cmsg_type = IPV6_PKTINFO;		scmsgp = CMSG_NXTHDR(&smsghdr, scmsgp);	}	/* set the outgoing interface */	if (ifname) {#ifndef USE_SIN6_SCOPE_ID		/* pktinfo must have already been allocated */		if ((pktinfo->ipi6_ifindex = if_nametoindex(ifname)) == 0)			errx(1, "%s: invalid interface name", ifname);#else		if ((dst.sin6_scope_id = if_nametoindex(ifname)) == 0)			errx(1, "%s: invalid interface name", ifname);#endif	}	if (hoplimit != -1) {		scmsgp->cmsg_len = CMSG_LEN(sizeof(int));		scmsgp->cmsg_level = IPPROTO_IPV6;		scmsgp->cmsg_type = IPV6_HOPLIMIT;		*(int *)(CMSG_DATA(scmsgp)) = hoplimit;		scmsgp = CMSG_NXTHDR(&smsghdr, scmsgp);	}#ifdef IPV6_REACHCONF	if (options & F_REACHCONF) {		scmsgp->cmsg_len = CMSG_LEN(0);		scmsgp->cmsg_level = IPPROTO_IPV6;		scmsgp->cmsg_type = IPV6_REACHCONF;		scmsgp = CMSG_NXTHDR(&smsghdr, scmsgp);	}#endif	if (argc > 1) {	/* some intermediate addrs are specified */		int hops, error;#ifdef USE_RFC2292BIS		int rthdrlen;#endif#ifdef USE_RFC2292BIS		rthdrlen = inet6_rth_space(IPV6_RTHDR_TYPE_0, argc - 1);		scmsgp->cmsg_len = CMSG_LEN(rthdrlen);		scmsgp->cmsg_level = IPPROTO_IPV6;		scmsgp->cmsg_type = IPV6_RTHDR;		rthdr = (struct ip6_rthdr *)CMSG_DATA(scmsgp);		rthdr = inet6_rth_init((void *)rthdr, rthdrlen,		    IPV6_RTHDR_TYPE_0, argc - 1);		if (rthdr == NULL)			errx(1, "can't initialize rthdr");#else  /* old advanced API */		if ((scmsgp = (struct cmsghdr *)inet6_rthdr_init(scmsgp,		    IPV6_RTHDR_TYPE_0)) == 0)			errx(1, "can't initialize rthdr");#endif /* USE_RFC2292BIS */		for (hops = 0; hops < argc - 1; hops++) {			struct addrinfo *iaip;			if ((error = getaddrinfo(argv[hops], NULL, &hints,			    &iaip)))				errx(1, "%s", gai_strerror(error));			if (SIN6(iaip->ai_addr)->sin6_family != AF_INET6)				errx(1,				    "bad addr family of an intermediate addr");#ifdef USE_RFC2292BIS			if (inet6_rth_add(rthdr,			    &(SIN6(iaip->ai_addr))->sin6_addr))				errx(1, "can't add an intermediate node");#else  /* old advanced API */			if (inet6_rthdr_add(scmsgp,			    &(SIN6(iaip->ai_addr))->sin6_addr,			    IPV6_RTHDR_LOOSE))				errx(1, "can't add an intermediate node");#endif /* USE_RFC2292BIS */			freeaddrinfo(iaip);		}#ifndef USE_RFC2292BIS		if (inet6_rthdr_lasthop(scmsgp, IPV6_RTHDR_LOOSE))			errx(1, "can't set the last flag");#endif		scmsgp = CMSG_NXTHDR(&smsghdr, scmsgp);	}	if (!(options & F_SRCADDR)) {		/*		 * get the source address. XXX since we revoked the root		 * privilege, we cannot use a raw socket for this.		 */		int dummy, len = sizeof(src);		if ((dummy = socket(AF_INET6, SOCK_DGRAM, 0)) < 0)			err(1, "UDP socket");		src.sin6_family = AF_INET6;		src.sin6_addr = dst.sin6_addr;		src.sin6_port = ntohs(DUMMY_PORT);		src.sin6_scope_id = dst.sin6_scope_id;#ifdef USE_RFC2292BIS		if (pktinfo &&		    setsockopt(dummy, IPPROTO_IPV6, IPV6_PKTINFO,		    (void *)pktinfo, sizeof(*pktinfo)))			err(1, "UDP setsockopt(IPV6_PKTINFO)");		if (hoplimit != -1 &&		    setsockopt(dummy, IPPROTO_IPV6, IPV6_UNICAST_HOPS,		    (void *)&hoplimit, sizeof(hoplimit)))			err(1, "UDP setsockopt(IPV6_UNICAST_HOPS)");		if (hoplimit != -1 &&		    setsockopt(dummy, IPPROTO_IPV6, IPV6_MULTICAST_HOPS,		    (void *)&hoplimit, sizeof(hoplimit)))			err(1, "UDP setsockopt(IPV6_MULTICAST_HOPS)");		if (rthdr &&		    setsockopt(dummy, IPPROTO_IPV6, IPV6_RTHDR,		    (void *)rthdr, (rthdr->ip6r_len + 1) << 3))			err(1, "UDP setsockopt(IPV6_RTHDR)");#else  /* old advanced API */		if (smsghdr.msg_control &&		    setsockopt(dummy, IPPROTO_IPV6, IPV6_PKTOPTIONS,		    (void *)smsghdr.msg_control, smsghdr.msg_controllen))			err(1, "UDP setsockopt(IPV6_PKTOPTIONS)");#endif		if (connect(dummy, (struct sockaddr *)&src, len) < 0)			err(1, "UDP connect");		if (getsockname(dummy, (struct sockaddr *)&src, &len) < 0)			err(1, "getsockname");		close(dummy);	}#if defined(SO_SNDBUF) && defined(SO_RCVBUF)	if (sockbufsize) {		if (datalen > sockbufsize)			warnx("you need -b to increase socket buffer size");		if (setsockopt(s, SOL_SOCKET, SO_SNDBUF, &sockbufsize,		    sizeof(sockbufsize)) < 0)			err(1, "setsockopt(SO_SNDBUF)");		if (setsockopt(s, SOL_SOCKET, SO_RCVBUF, &sockbufsize,		    sizeof(sockbufsize)) < 0)			err(1, "setsockopt(SO_RCVBUF)");	}	else {		if (datalen > 8 * 1024)	/*XXX*/			warnx("you need -b to increase socket buffer size");		/*		 * When pinging the broadcast address, you can get a lot of		 * answers. Doing something so evil is useful if you are trying		 * to stress the ethernet, or just want to fill the arp cache		 * to get some stuff for /etc/ethers.		 */		hold = 48 * 1024;		setsockopt(s, SOL_SOCKET, SO_RCVBUF, (char *)&hold,		    sizeof(hold));	}#endif	optval = 1;#ifndef USE_SIN6_SCOPE_ID#ifdef IPV6_RECVPKTINFO	if (setsockopt(s, IPPROTO_IPV6, IPV6_RECVPKTINFO, &optval,	    sizeof(optval)) < 0)		warn("setsockopt(IPV6_RECVPKTINFO)"); /* XXX err? */#else  /* old adv. API */	if (setsockopt(s, IPPROTO_IPV6, IPV6_PKTINFO, &optval,	    sizeof(optval)) < 0)		warn("setsockopt(IPV6_PKTINFO)"); /* XXX err? */#endif#endif /* USE_SIN6_SCOPE_ID */#ifdef IPV6_RECVHOPLIMIT	if (setsockopt(s, IPPROTO_IPV6, IPV6_RECVHOPLIMIT, &optval,	    sizeof(optval)) < 0)		warn("setsockopt(IPV6_RECVHOPLIMIT)"); /* XXX err? */#else  /* old adv. API */	if (setsockopt(s, IPPROTO_IPV6, IPV6_HOPLIMIT, &optval,	    sizeof(optval)) < 0)		warn("setsockopt(IPV6_HOPLIMIT)"); /* XXX err? */#endif	printf("PING6(%lu=40+8+%lu bytes) ", (unsigned long)(40 + pingerlen()),	    (unsigned long)(pingerlen() - 8));	printf("%s --> ", pr_addr((struct sockaddr *)&src, sizeof(src)));	printf("%s\n", pr_addr((struct sockaddr *)&dst, sizeof(dst)));	while (preload--)		/* Fire off them quickies. */		(void)pinger();	(void)signal(SIGINT, onsignal);#ifdef SIGINFO	(void)signal(SIGINFO, onsignal);#endif	if ((options & F_FLOOD) == 0) {		(void)signal(SIGALRM, onsignal);		itimer.it_interval = interval;		itimer.it_value = interval;		(void)setitimer(ITIMER_REAL, &itimer, NULL);		if (ntransmitted)			retransmit();	}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91蝌蚪国产九色| 国产精品久久久久影院亚瑟| 欧美美女视频在线观看| 91豆麻精品91久久久久久| 99re热视频这里只精品| av综合在线播放| 91在线观看地址| 91色.com| 欧美视频一区二区| 欧美日韩高清不卡| 日韩一区二区视频| 久久亚洲一区二区三区明星换脸| 欧美大片在线观看一区| 精品99一区二区三区| 久久久久久免费毛片精品| 久久精品这里都是精品| 亚洲国产精品成人久久综合一区| 国产精品天天看| 国产精品毛片久久久久久久| 亚洲色图色小说| 亚洲综合男人的天堂| 日本视频免费一区| 理论电影国产精品| 国产jizzjizz一区二区| 一本色道a无线码一区v| 欧美日韩国产经典色站一区二区三区| 欧美精品一二三四| 精品国产乱码久久久久久夜甘婷婷| 精品理论电影在线| 中文字幕高清一区| 亚洲综合在线五月| 日韩黄色一级片| 国产很黄免费观看久久| 色婷婷激情综合| 日韩一区二区在线观看视频 | 制服丝袜中文字幕一区| 日韩欧美一区电影| 欧美韩日一区二区三区| 亚洲综合丁香婷婷六月香| 欧美aaaaaa午夜精品| 国产成人亚洲精品青草天美| 日本道色综合久久| 欧美变态口味重另类| 综合久久久久综合| 免费在线视频一区| 波波电影院一区二区三区| 欧美精品三级在线观看| 国产色产综合产在线视频| 亚洲一区在线播放| 国产精品正在播放| 欧美日韩视频一区二区| 久久精品欧美日韩| 日韩影院免费视频| 波多野洁衣一区| 欧美本精品男人aⅴ天堂| 亚洲精品视频一区| 国产伦精品一区二区三区免费 | 日韩手机在线导航| 国产精品午夜电影| 麻豆91在线看| 欧美亚日韩国产aⅴ精品中极品| 久久精品日韩一区二区三区| 亚洲成人av电影| 9i在线看片成人免费| 精品国产乱码久久久久久牛牛 | 国产一区在线看| 欧美日韩大陆在线| 国产精品高潮久久久久无| 蜜臀av性久久久久av蜜臀妖精| 91视频国产资源| 国产网红主播福利一区二区| 日韩精品视频网| 色哟哟一区二区| 欧美国产综合色视频| 久久国产成人午夜av影院| 欧美综合天天夜夜久久| 中文一区在线播放| 国产一区二区三区在线观看精品| 欧美乱妇23p| 亚洲美女免费视频| 不卡一区二区三区四区| 久久久久久久久一| 久久99日本精品| 欧美一区二区三区在线观看 | 日韩激情一二三区| 欧美视频一区二区在线观看| 亚洲视频 欧洲视频| 成人av在线播放网站| 国产婷婷色一区二区三区| 美国毛片一区二区| 欧美一区2区视频在线观看| 99精品国产视频| 国产精品国产a| eeuss鲁片一区二区三区| 国产午夜精品一区二区三区嫩草 | 狠狠色丁香九九婷婷综合五月| 欧美色图第一页| 亚洲香肠在线观看| 欧洲av在线精品| 亚洲一区二区三区中文字幕在线| 色综合久久久久久久久| 亚洲天堂2016| 色综合久久中文综合久久97| 国产精品国产三级国产aⅴ原创 | 欧美mv日韩mv| 精品一区二区在线看| 精品国产91洋老外米糕| 国产一区二区免费视频| 国产亚洲精品超碰| 懂色av中文字幕一区二区三区 | 喷水一区二区三区| 日韩午夜激情av| 国产永久精品大片wwwapp | 肉肉av福利一精品导航| 欧美日韩日日骚| 免费久久99精品国产| 精品裸体舞一区二区三区| 国产成人自拍在线| 专区另类欧美日韩| 欧美视频第二页| 蜜桃av噜噜一区| 久久精品视频在线免费观看| 成人av网站免费观看| 国产成人欧美日韩在线电影 | 国产一区二区三区香蕉| 国产日韩精品一区二区三区在线| 成人毛片在线观看| 亚洲精品视频观看| 欧美一级久久久久久久大片| 国内精品久久久久影院薰衣草| 国产视频一区二区在线| 91网址在线看| 日韩高清国产一区在线| 久久午夜羞羞影院免费观看| 99久久精品国产导航| 午夜激情久久久| 久久中文字幕电影| 91欧美一区二区| 爽爽淫人综合网网站| 久久精品水蜜桃av综合天堂| 一本大道久久a久久精品综合| 日韩精品每日更新| 国产情人综合久久777777| 在线看国产一区二区| 久久99久久精品欧美| 亚洲视频一区二区在线观看| 91麻豆精品国产自产在线| 国产福利视频一区二区三区| 亚洲国产欧美在线| 久久精品人人做人人爽人人| 一本大道久久精品懂色aⅴ| 老司机精品视频线观看86| 国产精品久久福利| 欧美一区二区三区小说| 成人免费黄色大片| 日韩av二区在线播放| 国产精品久久久久永久免费观看| 69堂国产成人免费视频| 久久综合色婷婷| 欧美日韩国产精选| 不卡av免费在线观看| 久久国产婷婷国产香蕉| 夜夜爽夜夜爽精品视频| 久久夜色精品国产噜噜av| 欧美日韩精品一区二区三区蜜桃| 国产成人鲁色资源国产91色综| 亚洲国产日韩av| 中文字幕视频一区| 欧美xxxxxxxxx| 在线观看免费成人| 国产成a人亚洲精| 看片的网站亚洲| 亚洲综合一区二区三区| 日本一区二区三区国色天香 | 久久精品一区四区| 91精品婷婷国产综合久久| 91麻豆蜜桃一区二区三区| 国产精品综合一区二区| 日韩电影在线看| 亚洲高清免费视频| 中文字幕亚洲一区二区av在线| 精品国产乱码久久久久久浪潮| 欧美日韩国产成人在线免费| 99精品热视频| 国产成人精品午夜视频免费 | 日本道免费精品一区二区三区| 国产一区二区福利| 看电影不卡的网站| 日本亚洲三级在线| 亚洲动漫第一页| 亚洲激情在线播放| 亚洲视频一区二区在线观看| 国产精品免费久久| 欧美经典一区二区| 久久久av毛片精品| 久久久一区二区| 久久九九99视频| 国产亚洲欧美在线| 久久久美女毛片| 久久综合九色欧美综合狠狠|