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

Linux Tcp 內核協議棧學習三種武器 之 Packet Drill

系統 Linux
Linux TCP 內核協議棧是一個非常復雜的實現, 不但沉淀了過去20多年的設計與實現,同時還在不停的更新。相關的RFC與優化工作一直還在進行中。如何研究和學習Linux TCP內核協議棧這樣一塊硬骨頭就成了一大難題。

[[351019]]

Linux TCP 內核協議棧是一個非常復雜的實現, 不但沉淀了過去20多年的設計與實現,同時還在不停的更新。相關的RFC與優化工作一直還在進行中。如何研究和學習Linux TCP內核協議棧這樣一塊硬骨頭就成了一大難題。

當然最重要也是最基本的還是要閱讀相關的RFC和內核中的代碼實現。這個是最最基本的要求。想要馴服TCP 內核協議棧這樣的monster 僅僅瀏覽和靜態分析代碼是完全不夠的。因為整個實現中充斥著各種邊界條件和異常的處理(這里有部分原因是因為TCP協議本身設計造成的),尤其是TCP是有狀態的協議, 很多邊界條件的觸發需要一系列的報文來構成,同時還需要滿足時延等其它條件。

幸運的是Google在2013年替大家解決了這個難題。Google 在2013 年發布了TCP 內核協議棧 測試工具 Packet Drill。這個工具是名副其實,大大的簡化了學習和測試TCP 內核協議棧的難度。基本可以隨心所欲的觸摸TCP 內核協議棧的每個細節。Google的這件工具真是造福了人類。PacketDrill GitHub link:

https://github.com/google/packetdrill/

使用Packet Drill, 用戶可以隨心所欲的構造報文序列,可以指定所有的報文格式(類似tcpdump語法)然后通過TUN接口和目標系統的TCP 內核協議棧來通信, 并對接收到的來自目標系統TCP 內核協議棧 的報文進行校驗,來確定是否通過測試。再進一步結合wireshark+Packet Drill 用戶可以獲得最直觀而且具體的體驗。每個報文的每個細節都在掌控之中,溜得飛起,人生瞬間到達了巔峰。

Packet Drill 基本原理

TUN 網絡設備

TUN 是Linux 下的虛擬網絡設備, 可以直通到網絡層。使得應用程序可以直接收發IP報文。

 

Packet Drill 腳本解析/執行引擎

  • 首先 Packet Drill 腳本必須要被解析和分解為 通過傳統socket 接口收發報文的部分和通過TUN接口收發報文的部分
  • 在傳統socket 接口執行對應的動作。
  • 在TUN接口執行對應的動作,并對收到的數據進行比對。
  • 在本文中 socket 接口主要扮演的是 server side的角色。TUN接口扮演的是client的角色。因而我們可以通過TUN接口完全掌控我們將要發送出去的IP報文,并受到TCP協議棧的反饋。并和預設數據進行比對。

Packet Drill 語法簡介

相對時間順序

Packet Drill 每一個事件(發送/接收/發起系統調用)都有相對前后事件的時間便宜。一般使用+number 來表達。例如+0 就是在之前的事件結束之后立即發起。+.1 表示為在之前時間結束0.1秒之后發起。以此類推

系統調用

Packet Drill 中集成了系統調用, 可以通過腳本來完成例如 socket,bind, read,write,getsocketoption 等等系統調用。熟悉socket 編程的同學很容易理解并使用。

報文的發送與接受

  • 通過內核棧側。可以通過調用系統調用 read/write 來完成報文的發送與接受。但是因為tcp是有狀態的協議棧,所以內核棧本身也會根據協議棧所處狀態發送報文(例如ACK/SACK).
  • TUN 設備側. Packet Drill 使用 < 表示發送報文, 使用 > 表示接收報文。

報文的格式描述

報文格式的表達比較類似tcpdump。例如 S 0:0(0) win 1000表示syn包 win大小為1000, 同時tcp的選項 mss (max segment size)為1000. 如果不熟悉報文格式, 可以先復習一下《TCP/IP協議詳解》 卷1.

進一步的信息請參考 Drilling Network Stacks with packetdrill:

https://storage.googleapis.com/pub-tools-public-publication-data/pdf/41848.pdf

實戰示例

下面我們通過2個例子來進一步學習

Handshake and Teardown

我們通過packet drill的腳本 復習一下這個經典的流程。

首選來回顧一下 TCP協議標準的 handshake 和 treardown 流程

 

接下來我們結合packet drill 的腳本來重現 整個過程

  1. //創建server側socket, server側socket 將通過內核協議棧來通信 
  2.  
  3. // 注意這里使用的是傳統的系統調用 
  4.  
  5. 0 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 
  6.  
  7.  
  8.  
  9.  
  10. //設置對應的socket options 
  11.  
  12. // 注意這里使用的是傳統的系統調用 
  13.  
  14. +0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 
  15.  
  16.  
  17.  
  18.  
  19. //bind socket 
  20.  
  21. // 注意這里使用的是傳統的系統調用 
  22.  
  23. +0 bind(3, ..., ...) = 0 
  24.  
  25.  
  26.  
  27.  
  28. //listen on the socket 
  29.  
  30. // 注意這里使用的是傳統的系統調用 
  31.  
  32. +0 listen(3, 1) = 0 
  33.  
  34.  
  35.  
  36.  
  37. // client側(TUN)發送 syn 握手的第一個報文 
  38.  
  39. // 注意這里的語法 syn seq都是相對的,從0開始。 
  40.  
  41. +0 < S 0:0(0) win 1000 <mss 1000> 
  42.  
  43.  
  44.  
  45.  
  46. // client側(TUN)期望收到的報文格式 syn+ack 且 ack.no=ISN(c)+1 
  47.  
  48. // 參考標準流程圖 最后的<...> 表示任何tcp option都可以 
  49.  
  50. // 這里是握手的第二步 
  51.  
  52. +0 > S. 0:0(0) ack 1 <...> 
  53.  
  54.  
  55.  
  56.  
  57. // client側(TUN)發送 ack 報文 seq = ISN(c)+1, ack = ISN(c) +1 
  58.  
  59. // 這里是握手的第三步 
  60.  
  61. +.1 < . 1:1(0) ack 1 win 1000 
  62.  
  63.  
  64.  
  65.  
  66. //握手成功,server側 socket 返回 established socket 
  67.  
  68. //這時通過accept 系統調用拿到這個stream 的socket 
  69.  
  70. +0 accept(3, ..., ...) = 4 
  71.  
  72.  
  73.  
  74.  
  75. //server側向stream 寫入 10 bytes 
  76.  
  77. //通過系統調用來完成寫操作 
  78.  
  79. +0 write(4, ..., 10)=10 
  80.  
  81.  
  82.  
  83.  
  84. //client側期望收到receive 10 bytes 
  85.  
  86. +0 > P. 1:11(10) ack 1 
  87.  
  88.  
  89.  
  90.  
  91. //client側應答 ack 表示接收到 10 bytes 
  92.  
  93. +.0 < . 1:1(0) ack 11 win 1000 
  94.  
  95.  
  96.  
  97.  
  98. // client 關閉連接 發送fin包 
  99.  
  100. +0 < F. 1:1(0) ack 11 win 4000 
  101.  
  102.  
  103.  
  104.  
  105. // client側期望接收到server端的對于fin的ack報文 
  106.  
  107. // 這里由內核協議棧發回。ack = server seq +1, seq = server ack 
  108.  
  109. // 參考標準流程圖 
  110.  
  111. +.005 > . 11:11(0) ack 2 
  112.  
  113.  
  114.  
  115.  
  116. // server 關閉連接 通過系統調用完成 
  117.  
  118. +0 close(4) = 0 
  119.  
  120.  
  121.  
  122.  
  123. // client期望接收到的fin包格式 
  124.  
  125. +0 > F. 11:11(0) ack 2 
  126.  
  127.  
  128.  
  129.  
  130. // client 發送server端fin包的應答ack包 
  131.  
  132. +0 < . 2:2(0) ack 12 win 4000 

至此, 我們純手動的完成了全部的發起和關閉連接的過程。然后我們用wireshark 來驗證一下

 

通過結合packetdrill與wireshark 使得每一步都在我們的掌控之中,

SACK

我們將使用packet drill 來探索一些更為復雜的案例。例如內核協議棧對于 SACK中各種排列組合的響應。

SACK 是TCP協議中優化重傳機制的一個重要選項(該選項一般都在報頭的options部分)。

最原始的情況下如果發送方對于 每一個報文接受到ACK之后再發送下一個報文, 效率將是極為低下的。引入滑動窗口之后允許發送方一次發送多個報文 但是如果中間某個報文丟失(沒有收到其對應的ACK)那么從那個報文開始,其后所有發送過的報文都要被重新發送一次。造成了極大的浪費。

SACK 是一種優化措施, 用來避免不必要的重發, 告知發送方那些報文已經收到,不用再重發。tcp 的選項中允許帶有最多3個SACK的options。也就是三個已經收到了得報文區間信息。說了這么多, 還是有一些抽象, 我們來看一個具體的示例。

示例說明

在下面的這個例子中, 我們需要發送報文的順序是 1,3,5,6,8,4,7,2 也就是測試一下內核tcp協議棧的SACK邏輯是否如同RFC中所描述的一樣。

  1. // 初始化部分建立服務器端socket, 不再贅述 
  2.  
  3. +0 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 
  4.  
  5. +0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 
  6.  
  7. +0 bind(3, ..., ...) = 0 
  8.  
  9. +0 listen(3, 1) = 0 
  10.  
  11.  
  12.  
  13.  
  14. // Client 端發送 握手報文以及接受服務器響應,不再贅述。這里注意激活了SACK 
  15.  
  16. +.1 < S 0:0(0) win 50000 <mss 1000, sackOK,nop,nop,nop,wscale 7> 
  17.  
  18. +0 > S. 0:0(0) ack 1 win 32000 <mss 1000,nop,nop,sackOK> 
  19.  
  20. +0 < . 1:1(0) ack 1 win 50000 
  21.  
  22.  
  23.  
  24.  
  25. // Server 端就緒 
  26.  
  27. +.1 accept(3, ..., ...) = 4 
  28.  
  29.  
  30.  
  31.  
  32. //發送報文1 
  33.  
  34. +0 < . 1:1001(1000) ack 1 win 50000 
  35.  
  36. //發送報文3, 報文2 被調整到最后發送 
  37.  
  38. +0 < . 2001:3001(1000) ack 1 win 50000 
  39.  
  40. //發送報文5 報文4 被調整亂序 
  41.  
  42. +0 < . 4001:5001(1000) ack 1 win 50000 
  43.  
  44. //發送報文6 
  45.  
  46. +0 < . 5001:6001(1000) ack 1 win 50000  
  47.  
  48. //發送報文8 報文7 被調整亂序 
  49.  
  50. +0 < P. 7001:8001(1000) ack 1 win 50000 
  51.  
  52. //發送報文4 
  53.  
  54. +0 < . 3001:4001(1000) ack 1 win 50000 
  55.  
  56. //發送報文7 
  57.  
  58. +0 < . 6001:7001(1000) ack 1 win 50000 
  59.  
  60. // 接收到第一個報文的ACK 
  61.  
  62. +0 > . 1:1(0) ack 1001 
  63.  
  64.  
  65.  
  66.  
  67. // 接收到SACK, 報告收到了亂序的報文3,但是沒報文2。 
  68.  
  69. +0 > . 1:1(0) ack 1001 win 31000 <nop,nop,sack 2001:3001> 
  70.  
  71. // 接收到SACK, 報告收到了亂序的報文3,報文5,但是沒報文2。沒報文4 
  72.  
  73. +0 > . 1:1(0) ack 1001 win 31000 <nop,nop,sack 4001:5001 2001:3001> 
  74.  
  75. // 接收到SACK, 報告收到了亂序的報文3,報文5,但是沒報文2。沒報文4 
  76.  
  77. +0 > . 1:1(0) ack 1001 win 31000 <nop,nop,sack 4001:6001 2001:3001> 
  78.  
  79. // 接收到SACK, 報告收到了亂序的報文3,報文5,6, 報文8,但是沒報文2。沒報文4,沒報文7 
  80.  
  81. +0 > . 1:1(0) ack 1001 win 31000 <nop,nop,sack 7001:8001 4001:6001 2001:3001> 
  82.  
  83. // 接收到SACK, 報告收到了亂序的報文3,4,5,6, 報文8,但是沒報文2。沒報文7 
  84.  
  85. +0 > . 1:1(0) ack 1001 win 31000 <nop,nop,sack 2001:6001 7001:8001> 
  86.  
  87. // 接收到SACK, 報告收到了亂序的報文3,4,5,6,7,8,但是沒報文2 
  88.  
  89. +0 > . 1:1(0) ack 1001 win 31000 <nop,nop,sack 2001:8001> 
  90.  
  91.  
  92.  
  93.  
  94. //發送報文2 至此所有報文完結 
  95.  
  96. +0 < . 1001:2001(1000) ack 1 win 50000 
  97.  
  98.  
  99.  
  100.  
  101. +0 > . 1:1(0) ack 8001` 

隨后我們再來用wireshark 驗證一下。

 

果然完全匹配。

Packet Drill 其實還有非常復雜而且更精巧的玩法, 可以充分測試各種邊界條件。以后有機會再和大家進一步分享

參考信息

例子腳本的鏈接:

https://gitee.com/block_chainsaw/linux-kernel-tcp-study.git

本文轉載自微信公眾號「Linux閱碼場」,可以通過以下二維碼關注。轉載本文請聯系Linux閱碼場公眾號。  

 

責任編輯:武曉燕 來源: Linux閱碼場
相關推薦

2010-08-31 11:14:32

2010-09-06 13:06:08

DB2 9.7

2018-05-01 09:00:21

比特幣數字貨幣區塊鏈

2010-06-13 14:54:40

TCP IP協議棧linux

2025-02-24 08:00:28

2019-09-30 09:28:26

LinuxTCPIP

2023-03-06 15:43:56

2021-07-06 21:29:16

TCPIP協議棧

2010-08-03 17:23:00

DB2 9.7三種武器

2009-11-10 13:19:09

動態路由協議

2019-07-01 08:51:49

TCPIPLinux

2021-07-09 08:55:23

LinuxTCPIP

2020-07-09 08:14:43

TCPIP協議棧

2010-09-08 15:11:36

TCP IP協議棧

2009-12-23 17:10:26

2019-09-18 08:53:55

2020-01-06 11:22:06

TCPLinux內核

2019-08-21 05:48:06

TCPIP協議棧

2009-11-11 17:40:33

路由器協議

2009-12-10 15:46:22

動態路由協議
點贊
收藏

51CTO技術棧公眾號

亚洲欧洲成人在线| 青娱乐国产在线| 国产69精品久久久久按摩| 国产精品久久99| 粉嫩av一区二区三区免费观看 | 国产精品免费视频网站| 亚洲999一在线观看www| 日本人体一区二区| 久久嫩草捆绑紧缚| 国产精品17p| 亚洲一二av| 亚洲自拍偷拍麻豆| 日韩久久在线| 精品国产亚洲AV| 日韩综合小视频| 福利一区二区免费视频| 久久久久亚洲蜜桃| 亚洲aa中文字幕| 久久久久亚洲av成人毛片韩| 外国成人激情视频| 精品一区二区电影| 中文字幕avav| 日本肉肉一区| 五月婷婷综合激情| 欧美少妇一区二区三区| av小片在线| 99国产一区二区三精品乱码| 91精品视频免费看| 懂色av中文字幕| 国产日本精品| 欧美激情国产日韩精品一区18| 性欧美一区二区| 欧美绝顶高潮抽搐喷水合集| 欧美一区二区观看视频| 天堂一区在线观看| 欧美日韩不卡| 欧美日韩在线观看视频| 日本黄大片在线观看| 免费黄色网址在线观看| 久久免费电影网| 久久久久久草| 天天干天天插天天操| 国产成人在线影院| 91丨九色丨国产| 97在线视频人妻无码| 男人的天堂久久精品| 国产成人精品免费久久久久| 日韩黄色在线播放| 亚洲深夜av| 97国产精品久久| 日本a在线观看| 欧美~级网站不卡| 久久亚洲精品成人| 精品无码久久久久成人漫画| 色天天综合网| 久久视频在线看| 亚洲精品卡一卡二| 一本一道久久综合狠狠老| 精品国产拍在线观看| www.av免费| 欧美日本国产| 国模精品一区二区三区色天香| 免费在线黄色片| 在线欧美福利| 热99在线视频| 中文字幕一区2区3区| 久久精品二区亚洲w码| 国产精品亚洲自拍| 99精品视频免费看| 丁香啪啪综合成人亚洲小说 | 国产日韩中文在线中文字幕| 欧美一区二区女人| 师生出轨h灌满了1v1| 麻豆精品av| 亚洲天堂免费视频| 亚洲色图100p| 午夜精品av| 57pao国产成人免费| 蜜臀尤物一区二区三区直播| 麻豆成人91精品二区三区| 国产在线观看91精品一区| 精品久久国产视频| 99久久99久久免费精品蜜臀| 欧美日韩在线播放一区二区| jizz日韩| 亚洲自拍偷拍图区| 少妇人妻互换不带套| 亚洲一区二区三区久久久| 精品黑人一区二区三区久久| 草草影院第一页| 日韩在线中文| 国产做受高潮69| 黄色大全在线观看| 国产成人精品一区二区三区网站观看| 久久精品日产第一区二区三区乱码| 国产youjizz在线| 一区二区在线观看视频| 欧美成人免费高清视频| 成人在线分类| 亚洲欧美国产日韩天堂区| 中文字幕在线观看二区| 激情久久一区| 国产欧美久久一区二区| 五月激情婷婷网| 国产精品激情偷乱一区二区∴| 99久久免费观看| 成人亚洲网站| 日韩精品免费电影| 天海翼在线视频| 久久亚洲二区| 国产一区在线免费观看| 免费av网站在线看| 欧美性猛交xxxx免费看| 99999精品| 日韩激情在线| 97视频在线观看免费| 6—12呦国产精品| 91麻豆国产在线观看| 中文字幕av日韩精品| 久久爱91午夜羞羞| 亚洲а∨天堂久久精品9966| 亚洲精品久久久久久国| 免费亚洲视频| 国产亚洲欧美一区二区三区| 蜜桃视频网站在线观看| 在线观看日韩国产| 亚洲观看黄色网| 国产精品porn| 2019国产精品视频| 香蕉视频免费在线播放| 91豆麻精品91久久久久久| 男女一区二区三区| 欧美视频四区| 亚洲专区在线视频| 黄色网在线播放| 欧美日韩国产片| 超薄肉色丝袜一二三| 午夜在线精品| 免费精品视频一区| 在线观看网站免费入口在线观看国内 | 996久久国产精品线观看| 亚洲视频免费一区| 欧美一区二区三区不卡视频| 91免费版在线看| 黄色一级片播放| 日韩中文av| 欧美一级在线亚洲天堂| 污污网站在线免费观看| 午夜久久久影院| 亚洲永久无码7777kkk| 亚洲美女黄色| 精品无人区一区二区三区| 国产美女精品写真福利视频| 日韩精品免费看| 9i看片成人免费看片| 久久综合九色欧美综合狠狠| 日av中文字幕| 日韩精品诱惑一区?区三区| 国产精品一区专区欧美日韩| 午夜毛片在线| 欧美一区二区三区系列电影| 欧美三级 欧美一级| 成人午夜在线播放| 国产资源在线视频| 蜜桃tv一区二区三区| 国产精品美女主播| 嫩草在线视频| 精品久久久久久久久久久久包黑料 | 婷婷激情综合五月天| 午夜国产精品视频免费体验区| 成人毛片网站| 久久uomeier| 色偷偷偷综合中文字幕;dd| 国产精品嫩草影院精东| 亚洲香肠在线观看| 波多野结衣福利| 久久精品久久久精品美女| 精品国产一区二区三区在线| 日本中文字幕在线一区| 国产精品激情av电影在线观看| 老司机av在线免费看| 精品av综合导航| 凹凸精品一区二区三区| 亚洲另类在线制服丝袜| 亚洲欧美日韩偷拍| 免费观看一级特黄欧美大片| 亚洲国产一二三精品无码 | 日韩精品一区二区视频| 波多野结衣小视频| 亚洲乱码国产乱码精品精可以看 | 日韩一区在线免费观看| 国产吃瓜黑料一区二区| 久久久999| 日本一本草久p| 天天操综合520| 91精品视频专区| 在线最新版中文在线| 插插插亚洲综合网| 欧美捆绑视频| 欧美一级精品大片| 在线免费观看av网址| 亚洲一区在线观看视频| 夜夜春很很躁夜夜躁| 国产成人自拍在线| 超碰在线播放91| 亚洲深夜福利| 糖心vlog在线免费观看| 国产精品探花在线观看| 国产 高清 精品 在线 a| 欧美久久久网站| 日本成人激情视频| 日本色护士高潮视频在线观看| 国产一区二区免费| 神马午夜精品95| 日韩欧美在线影院| 在线免费av网| 色狠狠av一区二区三区| 欧美成人aaa片一区国产精品| 国产亚洲污的网站| 欲求不满的岳中文字幕| 国产麻豆成人精品| 国产嫩草在线观看| 亚洲欧美高清| 精品少妇一区二区三区在线| 欧美在线网站| 亚洲综合五月天| 国产探花在线精品一区二区| 国产在线欧美日韩| julia中文字幕一区二区99在线| 成人乱色短篇合集| 久久国内精品| 国产伦精品一区二区三区精品视频| 免费观看欧美大片| 91av视频在线| 蜜桃视频在线网站| 久久久久久18| 爱看av在线入口| 欧美激情精品在线| 欧美videossex| 久久91亚洲精品中文字幕| 麻豆网在线观看| 久久久精品视频在线观看| 亚洲1卡2卡3卡4卡乱码精品| 色琪琪综合男人的天堂aⅴ视频| 国产高清视频在线| 永久免费精品影视网站| 99精品老司机免费视频| 色999日韩欧美国产| 二区在线观看| 中文字幕日韩专区| 成年人在线视频| 社区色欧美激情 | 日韩av中文| 大量国产精品视频| 亚洲大胆人体大胆做受1| 欧美激情图片区| av福利导福航大全在线| 欧美最猛性xxxxx(亚洲精品)| 欧美电影免费观看网站| 国产精品久久97| 日韩专区视频| 91手机在线播放| 欧美福利在线播放网址导航| 九色一区二区| 欧美猛男做受videos| 亚洲人成网站在线播放2019| 天天综合网91| 僵尸世界大战2 在线播放| 先锋亚洲精品| 99热一区二区| 成人一二三区视频| 91网站免费视频| 中文字幕在线观看不卡| 欧美日韩偷拍视频| 婷婷开心激情综合| 国产精品成人久久久| 欧美一级专区免费大片| 午夜国产在线视频| 色系列之999| 欧美人动性xxxxz0oz| 日本免费在线精品| 粉嫩一区二区三区在线观看| 国产日韩精品久久| 日韩精品一区二区三区免费观看| mm131午夜| 久久中文在线| 国产探花一区二区三区| 久久亚区不卡日本| 中文字幕亚洲欧美日韩| 福利视频一区二区| 国产一区二区自拍视频| 亚洲国产美女久久久久| 亚洲天天影视| 欧美综合激情网| 韩国三级成人在线| 欧美日韩一区二区视频在线| 欧美激情一区| 国产精品视频分类| 成人黄色av电影| 欧美色视频一区二区三区在线观看| 婷婷成人综合网| 99免费在线视频| 最近2019年手机中文字幕| 国产自产自拍视频在线观看| 91免费精品国偷自产在线| 久久不见久久见中文字幕免费| 欧美黄色免费网址| 美女久久久精品| 国产三级视频网站| 亚洲国产sm捆绑调教视频| 国产精品爽爽久久| 亚洲性av网站| 一个人www视频在线免费观看| 91久久精品一区二区别| 日韩在线观看一区 | 日韩欧美2区| 国产日韩久久| 中文在线播放一区二区 | 丁香久久综合| 久久久久久尹人网香蕉| 国产高清在线观看视频| 亚洲人成在线观看网站高清| 男女羞羞视频在线观看| 91精品在线观| 日韩在线观看| 国产成人手机视频| 99久久精品国产一区二区三区| 黄色片在线观看网站| 精品污污网站免费看| 国产精品四虎| 日韩av电影免费观看高清| 久久大胆人体视频| 成人在线免费高清视频| 国产乱人伦偷精品视频免下载| 国产精品麻豆免费版现看视频| 在线观看日韩一区| 国产在线观看免费| 日本一区二区在线播放| 亚洲国产合集| 成年人黄色片视频| 亚洲一区欧美| 午夜电影一区二区三区| 亚洲国产精品欧美久久| 欧美老女人性生活| 国产精品一区三区在线观看| 手机成人av在线| 韩国一区二区视频| 男人操女人的视频网站| 欧美精品v国产精品v日韩精品| 91美女视频在线| 成人a免费视频| 性欧美69xoxoxoxo| 精品国产乱码久久久久久1区二区| 亚洲天堂成人网| 国内老熟妇对白hdxxxx| 欧美激情亚洲国产| 国产伦精品一区二区三区在线播放| 97在线国产视频| 91麻豆swag| a片在线免费观看| 久久久精品国产| 成人看片黄a免费看视频| 搞av.com| 久久精品夜色噜噜亚洲aⅴ| 樱花视频在线免费观看| 日韩在线观看免费高清完整版| 亚洲伊人精品酒店| 免费网站在线观看视频 | 免费欧美一级片| 一区二区三区日本| 天堂在线中文| 国产精品视频xxxx| 欧美日韩精品免费观看视频完整| 国产精品成人99一区无码| 日本乱人伦一区| 国产美女福利在线| 国产一区二区三区高清视频| 久久精品二区三区| 放荡的美妇在线播放| 日韩精品在线播放| 电影一区中文字幕| 欧美国产亚洲一区| 中文字幕日韩av资源站| 黄色一级大片在线免费看国产一 | 欧美高清在线观看| 自拍亚洲一区| 青娱乐国产精品视频| 欧美视频免费在线观看| 免费超碰在线| 免费在线观看91| 国产精品白丝av| 伊人久久久久久久久久久久| 欧美日产国产成人免费图片| 国产精品一在线观看| 性一交一黄一片| 欧美日韩一区二区在线观看 | 欧美在线看片a免费观看| 男男gaygays亚洲| 制服诱惑一区| 久久麻豆一区二区|