精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

淺析Linux Socket套接字編程中的 5 個隱患

系統
第一個隱患很明顯,但它是開發新手最容易犯的一個錯誤。如果您忽略函數的返回狀態,當它們失敗或部分成功的時候,您也許會迷失。反過來,這可能傳播錯誤,使定位問題的源頭變得困難。

隱患 1.忽略返回狀態

第一個隱患很明顯,但它是開發新手最容易犯的一個錯誤。如果您忽略函數的返回狀態,當它們失敗或部分成功的時候,您也許會迷失。反過來,這可能傳播錯誤,使定位問題的源頭變得困難。

捕獲并檢查每一個返回狀態,而不是忽略它們。考慮清單 1 顯示的例子,一個套接字 send 函數。

忽略 API 函數返回狀態

 

  1. int status, sock, mode; 
  2. /* Create a new stream (TCP) socket */ 
  3. sock = socket( AF_INET, SOCK_STREAM, 0 ); 
  4. ... 
  5. status = send( sock, buffer, buflen, MSG_DONTWAIT ); 
  6. if (status == -1) { 
  7.   /* send failed */ 
  8.   printf( "send failed: %s\n", strerror(errno) ); 
  9. else { 
  10.   /* send succeeded -- or did it? */ 

探究一個函數片斷,它完成套接字 send 操作(通過套接字發送數據)。函數的錯誤狀態被捕獲并測試,但這個例子忽略了 send 在無阻塞模式(由 MSG_DONTWAIT 標志啟用)下的一個特性。

send API 函數有三類可能的返回值:

  • 如果數據成功地排到傳輸隊列,則返回 0。
  • 如果排隊失敗,則返回 -1(通過使用 errno 變量可以了解失敗的原因)。
  • 如果不是所有的字符都能夠在函數調用時排隊,則最終的返回值是發送的字符數。

由于 send 的 MSG_DONTWAIT 變量的無阻塞性質,函數調用在發送完所有的數據、一些數據或沒有發送任何數據后返回。在這里忽略返回狀態將導致不完全的發送和隨后的數據丟失。

隱患 2.對等套接字閉包

UNIX 有趣的一面是您幾乎可以把任何東西看成是一個文件。文件本身、目錄、管道、設備和套接字都被當作文件。這是新穎的抽象,意味著一整套的 API 可以用在廣泛的設備類型上。

考慮 read API 函數,它從文件讀取一定數量的字節。read 函數返回讀取的字節數(最高為您指定的最大值);或者 -1,表示錯誤;或者 0,如果已經到達文件末尾。

如果在一個套接字上完成一個 read 操作并得到一個為 0 的返回值,這表明遠程套接字端的對等層調用了 close API 方法。該指示與文件讀取相同 —— 沒有多余的數據可以通過描述符讀取。

適當處理 read API 函數的返回值

  1. int sock, status; 
  2. sock = socket( AF_INET, SOCK_STREAM, 0 ); 
  3. ... 
  4. status = read( sock, buffer, buflen ); 
  5. if (status > 0) { 
  6.   /* Data read from the socket */ 
  7. else if (status == -1) { 
  8.   /* Error, check errno, take action... */ 
  9. else if (status == 0) { 
  10.   /* Peer closed the socket, finish the close */ 
  11.   close( sock ); 
  12.   /* Further processing... */ 

同樣,可以用 write API 函數來探測對等套接字的閉包。在這種情況下,接收 SIGPIPE 信號,或如果該信號阻塞,write函數將返回 -1 并設置 errno 為 EPIPE。

隱患 3.地址使用錯誤(EADDRINUSE)

您可以使用 bind API 函數來綁定一個地址(一個接口和一個端口)到一個套接字端點。可以在服務器設置中使用這個函數,以便限制可能有連接到來的接口。也可以在客戶端設置中使用這個函數,以便限制應當供出去的連接所使用的接口。bind 最常見的用法是關聯端口號和服務器,并使用通配符地址(INADDR_ANY),它允許任何接口為到來的連接所使用。

bind 普遍遭遇的問題是試圖綁定一個已經在使用的端口。該陷阱是也許沒有活動的套接字存在,但仍然禁止綁定端口(bind 返回 EADDRINUSE),它由 TCP 套接字狀態 TIME_WAIT 引起。該狀態在套接字關閉后約保留 2 到 4 分鐘。在 TIME_WAIT 狀態退出之后,套接字被刪除,該地址才能被重新綁定而不出問題。

等待 TIME_WAIT 結束可能是令人惱火的一件事,特別是如果您正在開發一個套接字服務器,就需要停止服務器來做一些改動,然后重啟。幸運的是,有方法可以避開 TIME_WAIT 狀態。可以給套接字應用 SO_REUSEADDR 套接字選項,以便端口可以馬上重用。

考慮下面的例子。在綁定地址之前,我以 SO_REUSEADDR 選項調用 setsockopt。為了允許地址重用,我設置整型參數(on)為 1 (不然,可以設為 0 來禁止地址重用)。

使用 SO_REUSEADDR 套接字選項避免地址使用錯誤

 

  1. int sock, ret, on
  2. struct sockaddr_in servaddr; 
  3. /* Create a new stream (TCP) socket */ 
  4. sock = socket( AF_INET, SOCK_STREAM, 0 ): 
  5. /* Enable address reuse */ 
  6. on = 1; 
  7. ret = setsockopt( sock, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on) ); 
  8. /* Allow connections to port 8080 from any available interface */ 
  9. memset( &servaddr, 0, sizeof(servaddr) ); 
  10. servaddr.sin_family = AF_INET; 
  11. servaddr.sin_addr.s_addr = htonl( INADDR_ANY ); 
  12. servaddr.sin_port = htons( 45000 ); 
  13. /* Bind to the address (interface/port) */ 
  14. ret = bind( sock, (struct sockaddr *)&servaddr, sizeof(servaddr) ); 

在應用了 SO_REUSEADDR 選項之后,bind API 函數將允許地址的立即重用。

隱患 4.發送結構化數據

套接字是發送無結構二進制字節流或 ASCII 數據流(比如 HTTP 上的 HTTP 頁面,或 SMTP 上的電子郵件)的完美工具。但是如果試圖在一個套接字上發送二進制數據,事情將會變得更加復雜。

比如說,您想要發送一個整數:您可以肯定,接收者將使用同樣的方式來解釋該整數嗎?運行在同一架構上的應用程序可以依賴它們共同的平臺來對該類型的數據做出相同的解釋。但是,如果一個運行在高位優先的 IBM PowerPC 上的客戶端發送一個 32 位的整數到一個低位優先的 Intel x86,那將會發生什么呢?字節排列將引起不正確的解釋。

字節交換還是不呢?

Endianness 是指內存中字節的排列順序。高位優先(big endian) 按最高有效字節在前排列,然而 低位優先(little endian) 按照最低有效字節在前排序。

高位優先架構(比如 PowerPC®)比低位優先架構(比如 Intel® Pentium® 系列,其網絡字節順序是高位優先)有優勢。這意味著,對高位優先的機器來說,在 TCP/IP 內控制數據是自然有序的。低位優先架構要求字節交換 —— 對網絡應用程序來說,這是一個輕微的性能弱點。

通過套接字發送一個 C 結構會怎么樣呢?這里,也會遇到麻煩,因為不是所有的編譯器都以相同的方式排列一個結構的元素。結構也可能被壓縮以便使浪費的空間最少,這進一步使結構中的元素錯位。

幸好,有解決這個問題的方案,能夠保證兩端數據的一致解釋。過去,遠程過程調用(Remote Procedure Call,RPC)套裝工具提供所謂的外部數據表示(External Data Representation,XDR)。XDR 為數據定義一個標準的表示來支持異構網絡應用程序通信的開發。

現在,有兩個新的協議提供相似的功能。可擴展標記語言/遠程過程調用(XML/RPC)以 XML 格式安排 HTTP 上的過程調用。數據和元數據用 XML 進行編碼并作為字符串傳輸,并通過主機架構把值和它們的物理表示分開。SOAP 跟隨 XML-RPC,以更好的特性和功能擴展了它的思想。

隱患 5.TCP 中的幀同步假定

TCP 不提供幀同步,這使得它對于面向字節流的協議是完美的。這是 TCP 與 UDP(User Datagram Protocol,用戶數據報協議)的一個重要區別。UDP 是面向消息的協議,它保留發送者和接收者之間的消息邊界。TCP 是一個面向流的協議,它假定正在通信的數據是無結構的,如圖 1所示。

UDP 的幀同步能力和缺乏幀同步的 TCP

 

淺析Linux  Socket套接字編程中的 5 個隱患

圖 的上部說明一個 UDP 客戶端和服務器。左邊的對等層完成兩個套接字的寫操作,每個 100 字節。協議棧的 UDP 層追蹤寫的數量,并確保當右邊的接收者通過套接字獲取數據時,它以同樣數量的字節到達。換句話說,為讀者保留了寫者提供的消息邊界。

現在,看圖的底部.它為 TCP 層演示了相同粒度的寫操作。兩個獨立的寫操作(每個 100 字節)寫入流套接字。但在本例中,流套接字的讀者得到的是 200 字節。協議棧的 TCP 層聚合了兩次寫操作。這種聚合可以發生在 TCP/IP 協議棧的發送者或接收者中任何一方。重要的是,要注意到聚合也許不會發生 —— TCP 只保證數據的有序發送。

對大多數開發人員來說,該陷阱會引起困惑。您想要獲得 TCP 的可靠性和 UDP 的幀同步。除非改用其他的傳輸協議,比如流傳輸控制協議(STCP),否則就要求應用層開發人員來實現緩沖和分段功能。

查看網絡子系統的細節

netstat 工具提供查看 GNU/Linux 網絡子系統的能力。使用 netstat,可以查看當前活動的連接(按單個協議進行查看),查看特定狀態的連接(比如處于監聽狀態的服務器套接字)和許多其他的信息。 netstat 提供的一些選項和它們啟用的特性。

netstat 實用程序的用法模式

 

  1. View all TCP sockets currently active 
  2. $ netstat --tcp 
  3. View all UDP sockets 
  4. $ netstat --udp 
  5. View all TCP sockets in the listening state 
  6. $ netstat --listening 
  7. View the multicast group membership information 
  8. $ netstat --groups 
  9. Display the list of masqueraded connections 
  10. $ netstat --masquerade 
  11. View statistics for each protocol 
  12. $ netstat --statistics 

盡管存在許多其他的實用程序,但 netstat 的功能很全面,它覆蓋了 route、ifconfig 和其他標準 GNU/Linux 工具的功能。

監視流量

可以使用 GNU/Linux 的幾個工具來檢查網絡上的低層流量。tcpdump 工具是一個比較老的工具,它從網上“嗅探”網絡數據包,打印到 stdout 或記錄在一個文件中。該功能允許查看應用程序產生的流量和 TCP 生成的低層流控制機制。一個叫做 tcpflow 的新工具與 tcpdump 相輔相成,它提供協議流分析和適當地重構數據流的方法,而不管數據包的順序或重發。 tcpdump 的兩個用法模式。

cpdump 工具的用法模式

 

  1. Display all traffic on the eth0 interface for the local host 
  2. $ tcpdump -l -i eth0 
  3. Show all traffic on the network coming from or going to host plato 
  4. $ tcpdump host plato 
  5. Show all HTTP traffic for host camus 
  6. $ tcpdump host camus and (port http) 
  7. View traffic coming from or going to TCP port 45000 on the local host 
  8. $ tcpdump tcp port 45000 

tcpdump 和 tcpflow 工具有大量的選項,包括創建復雜過濾表達式的能力。

tcpdump 和 tcpflow 都是基于文本的命令行工具。如果您更喜歡圖形用戶界面(GUI),有一個開放源碼工具 Ethereal 也許適合您的需要。Ethereal 是一個專業的協議分析軟件,它可以幫助調試應用層協議。它的插入式架構(plug-in architecture)可以分解協議,比如 HTTP 和您能想到的任何協議(寫本文的時候共有 637 個協議)。

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2009-03-10 13:59:41

C#套接字編程

2009-08-21 09:20:44

C#異步套接字

2015-03-31 11:24:02

2009-08-26 09:48:48

C#異步套接字

2014-12-11 09:20:30

TCP

2014-12-15 09:28:54

UDP

2021-02-05 15:20:06

網絡安全套接字命令

2010-03-19 17:04:01

Java socket

2010-09-17 14:29:23

2015-05-28 10:47:38

Unix網絡編程TCP

2021-03-14 18:22:23

套接字網絡通信

2019-06-04 09:00:00

Linux進程進程間通信

2012-01-06 13:58:47

JavaTCP

2015-10-16 09:33:26

TCPIP網絡協議

2009-07-02 10:51:21

腳本編程JSP開發

2010-07-06 15:33:10

UDP套接字

2019-07-17 10:40:13

云存儲數據存儲

2009-09-09 16:57:48

2011-06-13 16:51:19

Qt Socket

2022-10-24 08:01:32

Sockets網絡協議
點贊
收藏

51CTO技術棧公眾號

99久久国产免费免费| 亚洲欧美制服中文字幕| 看一级黄色录像| 女人18毛片水真多18精品| 美女诱惑一区| 久久av红桃一区二区小说| 国产精品扒开腿做爽爽爽a片唱戏 亚洲av成人精品一区二区三区 | 午夜dj在线观看高清视频完整版| 成人av动漫在线| 国产精品日韩在线播放| 国产在线精品观看| 色999国产精品| 国产视频自拍一区| 色婷婷综合在线观看| 中文字幕乱码在线播放| 亚洲欧美日韩久久| 日韩精品久久一区| 天天干天天插天天操| 国精品**一区二区三区在线蜜桃| 国产91成人在在线播放| 真实国产乱子伦对白在线| 国内黄色精品| 日韩电影大全免费观看2023年上| 欧美午夜久久久| 国产区一区二区| 国产剧情精品在线| 日韩电影一区二区三区四区| 久久久最新网址| 欧美 日韩 国产 一区二区三区| 九九免费精品视频在线观看| 精品福利一二区| 色网站在线视频| 成人免费毛片嘿嘿连载视频…| 亚洲成在人线在线播放| 国产精品啪啪啪视频| 一级毛片视频在线| 91免费视频观看| 国产精品一级久久久| hs视频在线观看| 精品亚洲成a人在线观看| 国产精品美女久久久久av超清| 国产乱国产乱老熟| 亚洲激情一区| 国产69精品99久久久久久宅男| 午夜写真片福利电影网| 一区二区日韩欧美| 久久精品成人欧美大片古装| 女同久久另类69精品国产| 欧美日韩一二| 在线观看91久久久久久| 免费看91的网站| 禁断一区二区三区在线| 亚洲精品自拍视频| 中国美女乱淫免费看视频| 日本三级久久| 亚洲男人av在线| 无码人妻丰满熟妇啪啪欧美| 国产精品一区二区av日韩在线| 日韩精品在线影院| 蜜桃无码一区二区三区| 国产一区二区三区四区五区| 亚洲欧美成人一区二区在线电影| 亚洲a v网站| 成人在线免费观看网站| 上原亚衣av一区二区三区| www成人啪啪18软件| 91影院成人| 国产一区二区成人久久免费影院 | 精品免费视频123区| 亚洲国产欧美另类| av福利精品导航| 欧美伦理一区二区| 成年人在线观看视频| 国产精品色眯眯| 今天免费高清在线观看国语| sm性调教片在线观看 | 久久久久久久久综合| 日韩精品一区二区在线播放| 美女诱惑黄网站一区| 国产精品久久久久久久久粉嫩av| 国产男女猛烈无遮挡| 国产电影一区二区三区| 久久精品中文字幕一区二区三区| 黄视频在线播放| 亚洲私人黄色宅男| 国产自产在线视频| 亚洲a∨精品一区二区三区导航| 欧美男女性生活在线直播观看| 国产精品二区视频| 曰本一区二区三区视频| 日韩视频亚洲视频| 国产一级视频在线播放| 快she精品国产999| 亚洲在线视频观看| 国产在线黄色| 亚洲一区在线播放| 丝袜制服一区二区三区| 亚洲精品在线a| 国产亚洲精品综合一区91| 欧美一区二区三区爽爽爽| 国产精品乱看| 96国产粉嫩美女| 免费黄网站在线观看| 亚洲欧美日本韩国| av在线无限看| 国内精品麻豆美女在线播放视频 | xxxx另类黑人| 欧美剧在线免费观看网站| 日韩少妇一区二区| 99久久精品费精品国产风间由美| 一区二区三区在线观看欧美| 国模叶桐国产精品一区| www.日本精品| 国产在线精品国自产拍免费| 日本精品一区二区三区不卡无字幕| 最新av在线播放| 欧美中文一区二区三区| 喷水视频在线观看| 中文字幕免费一区二区| 国产精品久久久久久网站| 天天爱天天干天天操| 亚洲乱码国产乱码精品精98午夜| 成人免费毛片播放| 婷婷综合一区| 国内偷自视频区视频综合| 国产精选久久久| 国产精品高潮呻吟久久| 成人免费无码av| 日韩伦理一区二区三区| 久久久久国色av免费观看性色| 国产一区二区三区成人| 欧美韩国日本综合| 国产a视频免费观看| 国产精品天天看天天狠| 欧美福利在线观看| 国产日韩在线观看一区| 亚洲人成在线观看一区二区| 亚欧在线免费观看| 自拍亚洲一区| 欧美最猛性xxxx| 日本国产在线| 色综合中文综合网| 大地资源二中文在线影视观看| 1024日韩| 久久久久久久免费| 涩涩视频在线播放| 日韩精品在线播放| 亚洲国产成人无码av在线| 91偷拍与自偷拍精品| 免费看又黄又无码的网站| 九九热hot精品视频在线播放| 欧美激情小视频| 免费观看黄色av| 精品女同一区二区三区在线播放| japanese在线观看| 亚洲一区国产一区| 欧美日韩系列| 粉嫩av一区二区三区四区五区| 中文字幕亚洲图片| 国产精品无码一区二区桃花视频| 亚洲欧洲国产日韩| 又色又爽又黄18网站| 激情另类综合| 久久综合一区| 久久久久黄色| 欧美肥臀大乳一区二区免费视频| 欧美熟妇另类久久久久久不卡| 精品久久久久久久久国产字幕| www.久久国产| 蜜桃久久精品一区二区| 糖心vlog在线免费观看| 成人午夜网址| 国产精品久久久久久久久久久不卡| 日本视频在线播放| 亚洲第一精品夜夜躁人人爽| 在线观看日韩中文字幕| 国产精品的网站| 亚洲麻豆一区二区三区| 久久久xxx| 日本一级淫片演员| 国产精品调教视频| 国产精品18久久久久久首页狼| 久草免费在线观看| 亚洲精品www久久久| 蜜臀尤物一区二区三区直播| 亚洲欧美影音先锋| 久久性爱视频网站| 免费人成黄页网站在线一区二区| 欧美 国产 精品| 色哟哟精品丝袜一区二区| 国产中文欧美精品| 精品丝袜在线| 深夜成人在线观看| 亚洲欧美日韩成人在线| 欧美精品在线一区二区| 国产小视频在线看| 日本一区二区成人在线| 激情av中文字幕| 日本不卡视频在线观看| 欧美午夜小视频| 色999国产精品| 蜜桃传媒视频麻豆第一区免费观看 | 性生生活大片免费看视频| 黄色日韩在线| 亚洲成色www久久网站| 国产一区在线电影| 亚洲精品女av网站| 桃花岛tv亚洲品质| 国外成人在线直播| 成人免费网站在线观看视频| 亚洲人成免费电影| 日韩一级片免费| 91精品国产色综合久久| 国产成人麻豆免费观看| 图片区小说区国产精品视频| 国产日韩欧美在线观看视频| 91热门视频在线观看| 午夜福利三级理论电影 | 欧美性生交xxxxx| 麻豆视频观看网址久久| 国产男女无遮挡| 在线看片日韩| 国产欧美久久久久| 亚洲九九视频| 色播五月综合| 免费一区二区三区视频导航| 国产精品二区在线| 精品中文字幕一区二区三区| 国产精品一区二区久久精品| 四虎影视4hu4虎成人| 国产99视频精品免视看7| 成年人在线网站| 久久免费精品日本久久中文字幕| 婷婷在线视频观看| 精品国产欧美一区二区三区成人| 成人av一区| 亚洲一区二区久久久| 三级视频在线播放| 日韩成人小视频| 五月婷婷激情在线| 日韩精品久久久久久福利| 日韩一区二区三区不卡| 亚洲成人网在线| 男人天堂av网| 日韩精品在线视频观看| 水莓100国产免费av在线播放| 日韩精品在线免费观看| 日本中文字幕一区二区有码在线| 亚洲欧美国产精品| 国产福利第一视频在线播放| 国产一区二区三区高清在线观看| 国产女主播在线写真| 国产一区二区三区四区福利| 北条麻妃在线| 久久视频国产精品免费视频在线| 国产视频一区二区| 欧美成人小视频| 国产精品探花在线| 18一19gay欧美视频网站| 久久久久久久| 国产欧美中文字幕| 国产一区二区三区免费在线| 成人3d动漫一区二区三区91| 9l亚洲国产成人精品一区二三| 精品免费视频123区| 国产调教一区二区三区| 一区二区视频在线播放| 亚洲午夜精品一区 二区 三区| 狠狠干视频网站| 亚洲美女色禁图| 在线免费视频a| 精品中文字幕一区二区小辣椒| 最好看的中文字幕| 91网址在线看| 免费一级suv好看的国产网站| 亚洲女子a中天字幕| jizz国产免费| 欧美天堂亚洲电影院在线播放| 国产精品久久久久久久免费| 精品sm在线观看| 免费在线视频一级不卡| www.日韩系列| 欧美三级网站| 成人激情视频免费在线| 加勒比色老久久爱综合网| 亚洲国产精品久久久久婷婷老年 | 国产欧美视频一区二区三区| 三级黄色录像视频| 精品国产91久久久久久| 91国内精品视频| 亚洲电影在线看| 日韩伦理在线观看| 亚洲91精品在线观看| 深夜视频一区二区| 高清av免费一区中文字幕| 国产一区二区电影在线观看| 成人国产在线看| 人禽交欧美网站| 美女黄色一级视频| 中文字幕一区二区三区四区| 欧美特黄aaaaaa| 欧美一二三区精品| 成年人在线看| 欧洲亚洲免费视频| 午夜视频在线观看精品中文| 日本一区视频在线播放| 亚洲人成免费| 中文字幕色网站| 国产亚洲欧美一级| 日韩精品久久久久久久| 欧美一区欧美二区| 1pondo在线播放免费| 欧美亚洲国产视频| 中文字幕亚洲在线观看| av动漫免费观看| 日韩国产欧美视频| 精品无码在线视频| 亚洲激情五月婷婷| 国产麻豆一精品一男同| 日韩中文字幕免费视频| 欧美二三四区| 精品1区2区| 亚洲国产高清一区二区三区| 亚洲成人av免费观看| 综合激情成人伊人| 中国一级特黄视频| 亚洲欧美一区二区三区在线 | 成人a视频在线观看| 国产精品亚洲片在线播放| 成人黄色av片| 成人动漫av在线| 国产亚洲欧美精品久久久www| 91精品国产一区二区三区| a中文在线播放| 国产精品第2页| 清纯唯美亚洲综合一区| 亚洲成人av免费看| 日本一区二区三区dvd视频在线| 青青青国产在线 | 欧美人动与zoxxxx乱| 国产高清免费av在线| 国产成人精品网站| 精品国产91| 久久久久国产一区| 欧美国产欧美综合| 最近中文字幕av| 日韩中文在线中文网三级| 国产亚洲欧美日韩精品一区二区三区| 日本在线播放一区| 美女爽到呻吟久久久久| 色无极影院亚洲| 日本精品视频一区二区三区| 国产九色在线| 国产精品免费网站| 日韩在线高清| 黄色一级片免费播放| 亚洲欧美影音先锋| 国产男女无套免费网站| 欧美黄色小视频| 久久婷婷国产| 黑鬼大战白妞高潮喷白浆| 欧美经典一区二区| 国产精品人人妻人人爽| 欧美国产日本高清在线 | 久久av网站| a级免费在线观看| 成人动漫一区二区| 无码人妻黑人中文字幕| 中文字幕亚洲综合| 欧美经典影片视频网站| 成人性免费视频| 久久先锋资源网| 一本色道久久综合无码人妻| 欧美日韩国产va另类| 亚洲三级精品| 九九九九九国产| 亚洲成人久久影院| 国产在线你懂得| 99se婷婷在线视频观看| 男人的天堂亚洲| 久久久久久久久久97| 亚洲国产精品久久久久秋霞蜜臀| 欧美日韩五区| avav在线播放| 337p粉嫩大胆噜噜噜噜噜91av| 伊人免费在线观看| 久久久久久国产精品| 极品美女一区二区三区| 日本人dh亚洲人ⅹxx| 日韩人在线观看| 伊人影院在线视频| 日韩精品一区二区三区四区五区 | 久久天堂精品| www.毛片com| 亚洲天堂av综合网| 亚洲精品观看| 不卡的av中文字幕| 午夜伊人狠狠久久| 成人日日夜夜| 日本公妇乱淫免费视频一区三区|