亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統(tǒng) > Unix > 正文

UNIX網(wǎng)絡(luò)編程讀書筆記:名字與地址轉(zhuǎn)換

2024-06-28 13:27:25
字體:
供稿:網(wǎng)友
UNIX網(wǎng)絡(luò)編程讀書筆記:名字與地址轉(zhuǎn)換紅心概述

在名字和數(shù)值地址間進(jìn)行轉(zhuǎn)換的函數(shù):

燈泡gethostbyname和gethostbyaddr:在主機(jī)名字與ipv4地址之間進(jìn)行轉(zhuǎn)換。僅僅支持IPv4.

燈泡getservbyname和getservbyport:在服務(wù)名字和端口號之間進(jìn)行轉(zhuǎn)換。

燈泡getaddrinfo和getnameinfo:用于主機(jī)名字和IP地址之間以及服務(wù)名字和端口號之間的轉(zhuǎn)換。(這兩個函數(shù)是協(xié)議無關(guān)的)

紅心域名系統(tǒng)

域名系統(tǒng)(Domain Name System,簡稱DNS)主要用于主機(jī)名字和IP地址之間的映射。

燈泡資源記錄

DNS中的條目稱為資源記錄(resource record,簡稱RR)。

RR類型:

A          A記錄把一個主機(jī)名映射成一個32位的IPv4地址。

AAAA    AAAA記錄把一個主機(jī)名映射成一個128位的IPv6地址。

PTR      稱為“指針記錄(pointer record)”,它把IP地址映射成主機(jī)名。

燈泡解析器和名字服務(wù)器

每個組織機(jī)構(gòu)往往運(yùn)行一個或多個名字服務(wù)器(name server),它們通常就是所謂的BIND(Berkeley Internet Name Domain)程序。應(yīng)用程序通過調(diào)用稱為解析器(resolver)的函數(shù)庫中的函數(shù)接觸DNS服務(wù)器。常見的解析器函數(shù)是gethostbyname和gethostbyaddr:前者把主機(jī)名映射成IPv4地址,后者則執(zhí)行相反的映射。

下圖展示了應(yīng)用進(jìn)程、解析器和名字服務(wù)器之間的一個典型關(guān)系。

image

解析器代碼通過讀取其系統(tǒng)相關(guān)配置文件確定本組織機(jī)構(gòu)的名字服務(wù)器們(為可靠和冗余的目的,大多數(shù)組織機(jī)構(gòu)運(yùn)行多個名字服務(wù)器)的所在位置。文件/etc/resolv.conf通常包含本地名字服務(wù)器主機(jī)的IP地址。

燈泡DNS替代方法

不使用DNS也可能獲取名字和地址信息。常用的替代方法有靜態(tài)主機(jī)文件(通常是/etc/hosts文件)、網(wǎng)絡(luò)信息系統(tǒng)(Network Information System,簡稱NIS)以及輕權(quán)目錄訪問協(xié)議(Lightweight Directory access PRotocol,簡稱LDAP)。

紅心gethostbyname函數(shù)

查找主機(jī)名最基本的函數(shù)是gethostbyname。如果調(diào)用成功,它就返回一個指向hostent結(jié)構(gòu)的指針,該結(jié)構(gòu)中含有所查找主機(jī)的所有IPv4地址。這個函數(shù)的局限是只能返回IPv4地址,而getaddrinfo函數(shù)能夠同時處理IPv4地址和IPv6地址。

#include <netdb.h>struct hostent *gethostbyname(const char *hostname);返回值:非空指針——成功;空指針——出錯,同時設(shè)置h_errno

本函數(shù)返回的非空指針指向如下的hostent結(jié)構(gòu):

struct hostent {    char      *h_name;          /* official(canonical) name of host */    char     **h_aliases;       /* pointer to array of pointers to alias names */    int        h_addrtype;      /* host address type: AF_INET */    int        h_length;        /* length of address: 4 */        char     **h_addr_list;     /* ptr to array of ptrs with IPv4 addrs */};

image

gethostbyname與其他套接口函數(shù)的不同之處在于:當(dāng)發(fā)生錯誤時,它不設(shè)置errno變量,而是將全局整數(shù)變量h_errno設(shè)置在頭文件<netdb.h>中定義的下列常值之一:

燈泡HOST_NOT_FOUND

燈泡TRY_AGAIN

燈泡NO_RECOVERY

燈泡NO_DATA(等同于NO_ADDRESS)

多數(shù)解析器提供名為hstrerror的函數(shù),它以某個h_errno值作為唯一的參數(shù),返回的是一個const char *指針,指向相應(yīng)錯誤的說明。

紅心gethostbyaddr函數(shù)

gethostbyaddr函數(shù)試圖由一個二進(jìn)制IP地址找到相應(yīng)的主機(jī)名,與gethostbyname的行為剛好相反。

#include <netdb.h>struct hostent *gethostbyaddr(const char *addr, socklen_t len, int family);返回值:非空指針——成功;空指針——出錯,同時設(shè)置h_errno

本函數(shù)返回一個同樣指向hostent結(jié)構(gòu)的指針。

addr參數(shù)實際上不是char *類型,而是一個指向存放IPv4地址的某個in_addr結(jié)構(gòu)的指針;

len參數(shù)是這個結(jié)構(gòu)的大?。簩τ贗Pv4地址為4;

family參數(shù)為AF_INET。

紅心getservbyname函數(shù)

服務(wù)也通??棵謥碚J(rèn)知。如果我們在程序代碼中通過其名字而不是端口號來指代一個服務(wù),而且從名字到端口號的映射關(guān)系保存在一個文件中(通常是/etc/services),那么即使端口號發(fā)生變動,我們需修改的僅僅是/etc/services文件中的某一行,而不必重新編譯應(yīng)用程序。

getservbyname函數(shù)用于根據(jù)給定的名字查找相應(yīng)服務(wù)。

#include <netdb.h>struct servent *getservbyname(const char *servname, const char *protoname);返回:非空指針——成功;空指針——出錯

本函數(shù)返回的非空指針指向如下的servent結(jié)構(gòu):

struct servent {    char     *s_name;         /* official service name */    char    **s_aliases;      /* alias list */    int       s_port;         /* port number, network-byte order */    char     *s_proto;        /* protocol to use */};

服務(wù)名參數(shù)servname必須指定。如果同時指定了協(xié)議(即protoname參數(shù)為非空指針),那么指定服務(wù)必須有匹配的協(xié)議。有些因特網(wǎng)服務(wù)既用TCP也用UDP提供(例如DNS),其他因特網(wǎng)服務(wù)則僅僅支持單個協(xié)議(例如FTP要求使用TCP)。如果protoname未指定而servname指定服務(wù)支持多個協(xié)議,那么返回哪個端口號取決于實現(xiàn)。

servent結(jié)構(gòu)中我們關(guān)心的主要是端口號。既然端口號是以網(wǎng)絡(luò)字節(jié)序返回的,把它存放到套接口地址結(jié)構(gòu)時絕不能調(diào)用htons。

本函數(shù)的典型調(diào)用如下:

struct servent *sptr;sptr = getservbyname("domain", "udp");sptr = getservbyname("ftp", "tcp");
紅心getservbyport函數(shù)

getservbyport函數(shù)用于根據(jù)給定端口號和可選協(xié)議查找相應(yīng)服務(wù)。

#include <netdb.h>struct servent *getservbyport(int port, const char *protoname);返回:非空指針——成功;空指針——出錯

port參數(shù)的值必須為網(wǎng)絡(luò)字節(jié)序。本函數(shù)的典型調(diào)用如下:

struct servent *sptr;sptr = getservbyport(htons(53), "udp");sptr = getservbyport(htons(21), "tcp");
紅心getaddrinfo函數(shù)

getaddrinfo函數(shù)能夠處理名字到地址以及服務(wù)到端口這兩種轉(zhuǎn)換,它解決了把主機(jī)名和服務(wù)名轉(zhuǎn)換成套接口地址結(jié)構(gòu)的問題,返回的是一個sockaddr結(jié)構(gòu)的鏈表而不是一個地址清單。這些sockaddr結(jié)構(gòu)隨后可由套接口函數(shù)直接使用。

#include <netdb.h>int  getaddrinfo(const char *hostname, const char *service,                 const struct addrinfo *hints, struct addrinfo **result);返回:0——成功;非0——出錯

本函數(shù)通過result指針參數(shù)返回一個指向addrinfo結(jié)構(gòu)鏈表的指針,而addrinfo結(jié)構(gòu)定義在頭文件<netdb.h>中:

struct addrinfo {    int                  ai_flags;         /* AI_PASSIVE, AI_CANONNAME */    int                  ai_family;        /* AF_xxx */    int                  ai_socktype;      /* SOCK_xxx */    int                  ai_protocol;      /* 0 or IPPROTO_xxx for IPv4 and IPv6 */    socklen_t            ai_addrlen;       /* length of ai_addr */    char                *ai_canonname;     /* ptr to canonical name for host */    struct sockaddr     *ai_addr;          /* ptr to socket address structure */    struct addrinfo     *ai_next;          /* ptr to next structure in linked list */};

其中,

hostname參數(shù)是一個主機(jī)名或地址串(IPv4的點(diǎn)分十進(jìn)制數(shù)串或IPv6的十六進(jìn)制數(shù)串)。

service參數(shù)是一個服務(wù)名或十進(jìn)制端口號數(shù)串。

hints參數(shù)可以是一個空指針,也可以是一個指向某個addrinfo結(jié)構(gòu)的指針,調(diào)用者在這個結(jié)構(gòu)中填入關(guān)于期望返回的信息類型的暗示。

hints結(jié)構(gòu)中調(diào)用者可以設(shè)置的成員有:

  • ai_flags(零個或多個在一起的AI_xxx值)
  • ai_family(某個AF_xxx值)
  • ai_socktype(某個SOCK_xxx值)
  • ai_protocol

其中ai_flags成員可用的標(biāo)志值及其含義如下:

燈泡AI_PASSIVE  套接口將用于被動打開。

燈泡AI_CANONNAME  告知getaddrinfo函數(shù)返回主機(jī)的規(guī)范名字。

燈泡AI_NUMERICHOST  防止任何類型的名字到地址映射;hostname參數(shù)必須是一個地址串。

燈泡AI_NUMERICSERV  防止任何類型的名字到服務(wù)映射;service參數(shù)必須是一個十進(jìn)制端口號數(shù)串。

燈泡AI_V4MAPPED  如果同時指定ai_family成員的值為AF_INET6, 那么如果沒有可用的AAAA記錄,就返回與A記錄對應(yīng)的IPv4映射的IPv6地址。

燈泡AI_ALL  如果同時指定AI_V4MAPPED標(biāo)志,那么除了返回與AAAA記錄對應(yīng)的IPv6地址外,還返回與A記錄對應(yīng)的IPv4映射的IPv6地址。

燈泡AI_ADDRCONFIG  按照所在主機(jī)的配置選擇返回地址類型,也就是只查找與所在主機(jī)回饋接口以外的網(wǎng)絡(luò)接口配置的IP地址版本一致的地址。

如果hints參數(shù)是一個空指針,本函數(shù)就假設(shè)ai_flags、ai_sokctype和ai_protocol的值均為0,ai_family的值為AF_UNSPEC。

如果本函數(shù)返回成功(0),那么由result參數(shù)指向的變量已被填入一個指針,它指向的是由其中的ai_next成員串接起來的addrinfo結(jié)構(gòu)鏈表??蓪?dǎo)致返回多個addrinfo結(jié)構(gòu)的情形有以下兩個:

燈泡如果與hostname參數(shù)關(guān)聯(lián)的地址有多個,那么適用于所請求地址族(可通過hints結(jié)構(gòu)的ai_family成員設(shè)置)的每個地址都返回一個對應(yīng)的結(jié)構(gòu)。

燈泡如果service參數(shù)指定的服務(wù)支持多個套接口類型,那么每個套接口類型都可能返回一個對應(yīng)的結(jié)構(gòu),具體取決于hints結(jié)構(gòu)的ai_socktype成員。

紅心getnameinfo函數(shù)

getnameinfo是getaddrinfo的互補(bǔ)函數(shù):它以一個套接口地址為參數(shù),返回描述其中的主機(jī)的一個字符串和描述其中的服務(wù)的另一個字符串。本函數(shù)以協(xié)議無關(guān)的方式提供這些信息;也就是說,調(diào)用者不必關(guān)心存放在套接口地址結(jié)構(gòu)中的協(xié)議地址的類型。

#include <netdb.h>int getnameinfo(const struct sockaddr *sockaddr, socklen_t addrlen,                char *host, socklen_t hostlen,                char *serv, socklen_t servlen, int flags);返回:0——成功,非0——出錯

sockaddr指向一個套接口地址結(jié)構(gòu)。

待返回的2個直觀可讀的字符串由調(diào)用者預(yù)先分配存儲空間:host和hostlen指定主機(jī)字符串;serv和servlen指定服務(wù)字符串。如果調(diào)用者不想返回主機(jī)字符串,那就指定hostlen為0。同樣,把servlen指定為0就是不想返回服務(wù)字符串。頭文件<netdb.h>中定義了2個常值用于分配這兩個存儲空間:NI_MAXHOST給出主機(jī)字符串存儲空間的最大長度,值為1025;NI_MAXSERV給出服務(wù)字符串存儲空間的最大長度,值為32.

6個可指定的標(biāo)志flags,用于改變getnameinfo的操作:

常值 說明
NI_DGRAM NI_NAMEREQD NI_NOFQDN NI_NUMERICHOST NI_NUMERICSCOPE NI_NUMERICSERV 數(shù)據(jù)報服務(wù) 若不能從地址解析出名字則返回錯誤 只返回FQDN的主機(jī)名部分 以數(shù)串格式返回主機(jī)字符串 以數(shù)串格式返回范圍標(biāo)識字符串 以數(shù)串格式返回服務(wù)字符串

 

四類網(wǎng)絡(luò)相關(guān)信息總結(jié)如下表:

信息 數(shù)據(jù)文件 結(jié)構(gòu) 鍵值查找函數(shù)
主機(jī) 網(wǎng)絡(luò) 協(xié)議 服務(wù) /etc/hosts /etc/networks /etc/protocols /etc/services hostent netent protoent servent gethostbyaddr,gethostbyname getnetbyaddr,getnetbyname getprotobyname,getprotobynumber getservbyname,getservbyport

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
欧美777四色影视在线| 伊人精品在线| 色综合久久88色综合天天提莫| 一级日韩一区在线观看| 色综合久久中文综合久久牛| 国产成人+综合亚洲+天堂| 黄色影院一级片| 日韩精品一区二区在线| 精品人妻在线播放| 丰满人妻一区二区三区免费视频| 性感美女激情视频在线观看| 亚洲第一页自拍| 中文一区在线播放| 自拍偷自拍亚洲精品被多人伦好爽| 久久精品国产精品亚洲精品色| 久久老司机精品视频| 日本一区视频| 先锋男人资源站| 色综合导航网站| 亚洲精品动漫| 中文字幕免费高清| 毛片免费在线播放| 久久国产精品亚洲人一区二区三区| 欧美在线aaa| 日韩 欧美一区二区三区| 超碰在线公开97| 国产乱一区二区| 日韩视频免费看| 国产一区二区三区在线| 国产特级淫片高清视频| 翔田千里一区二区| 丝袜美腿av在线| 亚洲欧美网站在线观看| 奇米一区二区三区| 国产午夜精品一区二区理论影院| 亚洲高清福利视频| 91亚洲欧美| 久久国产精品免费观看| 97se狠狠狠综合亚洲狠狠| 亚洲九九九在线观看| 国产日韩第一页| 精品无人码麻豆乱码1区2区| 国产成人永久免费视频| 日本欧美三级| 国产精品国产馆在线真实露脸| 日韩亚洲欧美成人一区| 91视视频在线观看入口直接观看www| 免费精品一区二区| 亚洲一区二区三区777| 奇米影视第四狠狠777| 草莓视频丝瓜在线观看丝瓜18| 男女视频网站在线观看| 欧美成人午夜做爰视频在线观看| 成人免费观看网站| 日韩偷拍自拍| 天堂中文av在线资源库| 欧美一性一乱一交一视频| 麻豆精品一区二区三区| www.自拍偷拍| 色诱亚洲精品久久久久久| 精品在线播放午夜| 色多多在线观看| 九七电影韩国女主播在线观看| 日本美女一区二区三区| 国产精品自在线| 亚洲成人777777| 成人拍拍拍免费视频网站| 久久精品香蕉视频| 久久九九精品| 91精品国产色综合久久不卡电影| 欧洲精品在线观看| 国产精品人人爽| 日韩视频一区二区| 色婷婷一区二区三区在线观看| 亚洲专区区免费| 金瓶狂野欧美性猛交xxxx| 欧美黄色成人| 日操夜操天天操| 超碰成人在线免费| 超薄肉色丝袜足j调教99| 久久亚洲综合色一区二区三区| 色哟哟一区二区三区| 日韩欧美亚洲国产另类| 欧美色一级片| 国产一区二区在线不卡| 日本黄网免费一区二区精品| 日韩精品一区二区三区在线| 欧美88av| 中文字幕一区二区av| 国产一二三精品| 午夜在线小视频| 亚洲国产欧美日韩| 亚洲在线日韩| 亚洲午夜私人影院| 麻豆精品在线看| 91影院在线免费观看视频| 成年网站免费观看| 成人免费高清观看| 干b视频在线观看| av网站无病毒在线| 亚洲日本va在线观看| 欧美一级淫片免费视频| 91成人噜噜噜在线播放| 91久久精品一区二区三区| 91久久精品无嫩草影院| 免费a级在线播放| 亚洲精品中文字幕乱码无线| 麻豆网站在线看| 久99久在线视频| 永久免费无码av网站在线观看| 欧美一级在线亚洲天堂| 香港伦理在线| 中文字幕在线播放| 国产高清免费在线| 牛夜精品久久久久久久99黑人| 99re6这里只有精品视频在线观看| 欧美野外wwwxxx| 夜夜操com| free性护士videos欧美| 亚洲在线免费播放| 91精品91| 国产精品欧美一区二区| 久久久久久久网站| 欧美一级特黄aaaaaa| 亚洲黄色录像| 国产人妻777人伦精品hd| 一本久久知道综合久久| 欧洲激情视频| 一本色道久久88亚洲综合88| 日本www视频在线观看| 日韩av电影在线网| 国产一区二区三区久久精品| 欧美国产日韩在线观看| 在线播放第一页| 久久99精品久久| 久久精品人人爽人人爽| 一卡二卡3卡四卡高清精品视频| 91麻豆天美传媒在线| 国产成人精品三级高清久久91| 久久久在线视频| 青青草免费观看免费视频在线| 色呦呦视频在线| 欧美区高清在线| 亚洲一区二区五区| 午夜精品视频一区二区三区在线看| 久草电影在线| 外国一级黄色片| 亚洲校园欧美国产另类| 欧美国产视频日韩| 香蕉污视频在线观看| 中文字幕欧美精品日韩中文字幕| 欧美 日韩 国产在线| 91av视频| 国产在线观看av| 日韩女优毛片在线| 精品久久久久久久一区二区蜜臀| 成人欧美一区二区三区的电影| 日韩一区二区免费在线观看| 亚洲电影欧美电影有声小说| 欧美另类videosbest视频| 亚洲偷欧美偷国内偷| 欧美日韩亚洲一区在线观看| 欧美日韩一区二区三区高清| 亚洲无av在线中文字幕| 久久免费少妇高潮99精品| 欧美电影免费| 久久久精品一品道一区| 免费视频一区三区| 欧洲美女7788成人免费视频| 香蕉久久夜色精品| 日韩在线第二页| 2020国产精品久久精品美国| 久久av一区二区三区| 亚洲18女电影在线观看| 日韩高清在线| 欧美国产日韩视频| 影音先锋男人的网站| 操人视频在线观看欧美| 中文字幕一区二区三区人妻不卡| 欧美jizz19性欧美| 91精品国产综合久久精品| 欧亚成年男女午夜| 亚洲精品免费一区亚洲精品免费精品一区| 黄色网一区二区| 精品无码一区二区三区在线| 中文字幕日韩av| 久久精品久久久精品美女| 中文字幕の友人北条麻妃| 亚洲精品乱码久久久久久蜜桃91| 国产精品免费视频二三区| 香蕉视频亚洲一级| 洋洋av久久久久久久一区| 欧美人与性动交α欧美精品| 亚洲a一区二区三区| 欧美极品xxx| 成人区一区二区| 欧美精品色一区二区三区| 美女在线视频一区二区| 成人中文字幕在线| 国产男女免费视频| 老熟妇一区二区三区| 性高潮久久久久久| 国产91精品在线播放| 亚洲免费视频网站| 国产奶头好大揉着好爽视频| 日韩成人精品一区| 一道精品视频一区二区三区图片| 久久久久久影视| 美女又爽又黄视频毛茸茸| 中文字幕日韩免费视频| 视频黄页在线| 九九热这里有精品| 日本免费视频在线观看| 99精品欧美一区二区三区| 懂色av粉嫩av蜜乳av| 国产成人+综合亚洲+天堂| 亚洲成av人综合在线观看| 国产精品二区三区| 欧美一区二区三区免费在线看| 亚洲视频一二三| 免费一看一级毛片| 国产精品成人久久久久| 国产一区二区三区高清视频| 国产一区二区三区天码| 国产精品盗摄久久久| 国产一区二区三区黄片| 国产精品久久影视| 欧美在线播放| 欧美亚洲一区二区在线| 老司机午夜精品99久久| 亚洲国产成人在线视频| 久久久久久久久久久一区| 色噜噜狠狠色综合中国| 日本免费中文字幕在线| 成年人的黄色片| 69久久精品无码一区二区| www.亚洲精品| 制服师生第一页| 一本在线高清不卡dvd| 天堂资源在线亚洲视频| 国产精品视频你懂的| 粉嫩一区二区三区在线观看| 日韩av三区| 久久机热这里只有精品| 欧美人成在线| 天堂影院在线| 中文字幕有码热在线视频| 国产高清999| 国产精品久久久久久免费播放| 国产剧情av麻豆香蕉精品| 免费观看一级特黄欧美大片| 你懂的在线看| 丁香视频免费观看| 四虎影院免费在线| 无码国产精品一区二区色情男同| 久久久资源网| 国产一区二区视频在线观看| 五丁香在线视频| 九九爱在线视频观看免费视频| 国产视频播放| 先锋影音男人资源网| 美女一区视频| 日本日本精品二区免费| 久久蜜臀中文字幕| 欧美日韩看片| 色综合天天天天做夜夜夜夜做| 金瓶狂野欧美性猛交xxxx| 日韩在线一区二区三区四区| 午夜精品久久久久| 亚洲午夜精品国产| av片在线免费| 国产在线精品一区二区不卡了| 极品少妇一区二区三区精品视频| 成人精品免费网站| 亚洲一区久久久| 国产成人超碰人人澡人人澡| 欧美激情一区二区视频| 国内精品视频免费| 国产精品999999| 麻豆久久久久久久久久| 亚洲国产精品激情在线观看| 日本在线观看一区| 美腿丝袜亚洲综合| 国产免费视频传媒| 欧美日韩精品一区二区三区在线观看| 欧美日韩国产综合久久| 亚洲a级在线观看| 欧美视频一区二区三区| 国产三级精品在线不卡| 中文字幕日韩免费视频| 中文字字幕在线中文乱码电影| 国产小视频福利在线| 国语自产精品视频在线看一大j8| 大香一本蕉伊线亚洲网| 成年丰满熟妇午夜免费视频| 日韩精品一区二区三区老鸭窝| 欧美在线首页| 精品国产网站| 国产精品偷伦视频免费观看国产| 欧美福利在线视频| 亚洲午夜电影在线观看| 国产精品夫妻自拍| 久久久999精品视频| 国产精品最新| 在线看日韩av| 99久久精品国产导航| 中文字幕免费视频| 一区二区三区免费观看视频| 你懂的成人av| 中文字幕在线播放网址| 国产又大又粗又爽的毛片| 久久综合中文色婷婷| 国产乱人伦真实精品视频| 久久人人97超碰com| 东京热无码av男人的天堂| 8848hh四虎| 影音先锋成人在线电影| 色影视在线观看| 欧美成人三级视频| 日本一区二区视频| 国产精品tv| 一区二区在线免费播放| 亚洲精品一区二区三区区别| 亚洲免费视频中文字幕| 波多野结衣av在线播放| 欧美一区二区性| 91超碰rencao97精品| 毛片网站网址|