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

網絡安全編程:原始套接字的使用

安全
本文通過介紹原始套接字實現經典的網絡命令,即Ping命令。通過完成一個Ping命令來初步了解和掌握原始套接字的使用。

 [[380854]]

使用TCP或UDP時,需要在調用socket()函數時為它的第2個參數指定相應的類型,比如SOCK_STREAM是代表要使用TCP,而SOCK_DGRAM表示要使用UDP協議。除了可以指定這兩種類型以外,還可以指定為原始套接字類型,即SOCK_RAW。當socket()函數的第2個參數指定為SOCK_STREAM或SOCK_DGRAM時,第3個參數可以缺省。而當socket()函數的第2個參數指定為SOCK_RAW時,第3個參數就必須明確指定需要使用的協議。

當套接字類型指定為SOCK_RAW時,協議類型的常用取值有IPPROTO_IP、IPPROTO_ICMP、IPPROTO_TCP、IPPROTO_UDP和IPPROTO_RAW。使用前四種類型,當發送數據時,系統會自動為數據加上IP首部并設置IP首部中的上層協議字段(如果有IP_HDRINCL選項,則系統不會自動添加IP首部);當接收數據時,系統不會將IP首部移除,需要程序自行處理。如果使用IPPROTO_RAW,那么系統將數據包直接送到網絡層發送數據,并且需要程序自己構造IP首部中的字段。

本文通過介紹原始套接字實現經典的網絡命令,即Ping命令。通過完成一個Ping命令來初步了解和掌握原始套接字的使用。

1. Ping命令的使用

Ping命令的目的是為了測試另一臺主機是否可達,Ping命令發送一份ICMP回顯請求報文給主機,并等待返回ICMP回顯應答。一般來說,如果不能Ping到某臺主機,那么就不能與該主機進行通信(例外的情況是對方主機的防火墻將進入主機的回顯請求報文屏蔽掉了,這種情況雖然Ping不通,但是仍然可以正常進行通信)。

Ping命令有很多參數,打開命令行直接輸入Ping后按下回車鍵,這樣就可以看到Ping命令的參數列表,如圖1所示。

圖1  Ping命令的參數列表

通常情況下,用戶都只是簡單Ping一下某個主機的地址。Ping命令的參數可以是主機名稱、域名和IP地址,后兩者是較為常用的。下面簡單演示一個Ping的例子,具體如下: 

  1. C:\>ping 8.8.4.4  
  2. Pinging 8.8.4.4 with 32 bytes of data:  
  3. Reply from 8.8.4.4: bytes=32 time=57ms TTL=47  
  4. Reply from 8.8.4.4: bytes=32 time=54ms TTL=47  
  5. Reply from 8.8.4.4: bytes=32 time=54ms TTL=47  
  6. Reply from 8.8.4.4: bytes=32 time=51ms TTL=47  
  7. Ping statistics for 8.8.4.4:  
  8.  Packets: Sent = 4Received = 4Lost = 0 (0% loss), 
  9. Approximate round trip times in milli-seconds:  
  10.  Minimum = 51msMaximum = 57msAverage = 54ms 

上面就是使用Ping命令對8.8.4.4這個IP進行回顯請求后的輸出信息。這里來解釋一下請求后的回顯信息的含義。

  1. Pinging 8.8.4.4 with 32 bytes of data: 

正在將32字節數據發送到遠程主機8.8.4.4,如果Ping的是一個域名或主機名的話,這里會將域名(主機名)轉換為IP地址顯示出來。 

  1. Reply from 8.8.4.4: bytes=32 time=57ms TTL=47 

本地主機已經收到回顯應答信息,bytes=32表示有32字節,time=57ms表示公用了57毫秒,TTL表示的是生存時間值,該值可以進行設置,該值最大為255。每個處理數據包的路由器都需要把TTL的值減1或減去數據包在路由器中停留的秒數。由于大多數路由器轉發數據包的延時都小于1秒,因此TTL最終成為一個跳站的計數器,所經過的每個路由器都將其值減1,當該值被減到0值時,該包將被丟棄。 

  1. Ping statistics for 8.8.4.4:  
  2.  Packets: Sent = 4Received = 4Lost = 0 (0% loss),  
  3. Approximate round trip times in milli-seconds:  
  4.  Minimum = 51msMaximum = 57msAverage = 54ms 

Ping 8.8.4.4的統計信息為:Sent=4表示發送了4個數據包,Received=4表示接收了4個數據包,Lost=0(0% loss)表示丟失的數據包是0個,丟包率為0%。

發送時間的大概情況:Mininum=51ms,最快是51ms,Maximum=57ms,最慢是57ms,Average=54ms,平均為54ms。

2. Ping命令的構造

Ping命令依賴的不是TCP,也不是UDP,它依賴的是ICMP。ICMP是IP層的協議之一,它傳遞差錯報文以及其他需要注意的信息。ICMP報文通常被IP層或高層協議使用。ICMP封裝在IP數據報內部,如圖2所示。

圖2  ICMP封裝在IP數據報內部

ICMP報文的格式如圖3所示。

圖3  ICMP報文格式

ICMP協議的類型碼與代碼根據不同的情況,各自取不同的值。Ping命令類型碼用到了2個值,分別是0和8。而代碼的取值都是0。當類型碼取值為0時,代碼的0值表示回顯應答;當類型碼取值為8時,代碼的0值表示請求回顯。Ping命令發送一個ICMP數據報時,類型碼為8,代碼為0,表示向對方主機進行請求回顯;當收到對方的ICMP數據報時,類型碼為0,代碼為0,表示收到了對方主機的回顯應答。簡單來說,Ping命令發出的數據中,類型是8,代碼是0,如果對方有回應,那么對方回應的數據中,類型是0,代碼是0。

在自己實現Ping命令時,就是去自己構造一個請求回顯的ICMP數據報,然后進行發送。ICMP的數據結構定義如下: 

  1. // ICMP 協議結構體定義  
  2. struct icmp_header  
  3.  
  4.   unsigned char icmp_type; // 消息類型  
  5.   unsigned char icmp_code; // 代碼  
  6.   unsigned short icmp_checksum; // 校驗和  
  7.   unsigned short icmp_id; // 用來唯一標識此請求的 ID 號,通常設置為進程 ID  
  8.   unsigned short icmp_sequence; // 序列號  
  9.   unsigned long icmp_timestamp; // 時間戳  
  10. }; 

ICMP的數據結構在網絡開發中會經常用到,可以將其保存以備后用。

明白了ICMP協議的數據結構,現在用抓包工具(也可以稱為協議分析工具)Wireshark來分析一下ICMP結構真實的情況,如圖4所示。

圖4  ICMP數據結構分析

在圖4中,標識1的部分是對協議進行過濾設置的,在該部分輸入“ICMP”可以讓Wireshark只顯示ICMP的數據記錄。相應地,可以輸入“TCP”、“UDP”、“HTTP”等協議進行篩選過濾。標識2的部分用于顯示篩選后的ICMP記錄,從這里可以明顯看出源IP地址、目的IP地址和協議的類型。標識3的部分用于顯示ICMP數據結構的值和附加的數據內容。最下面的部分顯示了數據的原始的二進制數據,在熟練掌握協議后,查看原始的二進制數據也并不是不可能的。

3. Ping命令的實現

有了前面的基礎,就可以構造自己的ICMP數據報來構造自己的Ping命令了。首先,定義兩個常量,還有計算校驗和的函數,具體如下: 

  1. struct icmp_header  
  2.  
  3.   unsigned char icmp_type; // 消息類型  
  4.   unsigned char icmp_code; // 代碼  
  5.   unsigned short icmp_checksum; // 校驗和  
  6.   unsigned short icmp_id; // 用來唯一標識此請求的 ID 號,通常設置為進程 ID  
  7.   unsigned short icmp_sequence; // 序列號  
  8.   unsigned long icmp_timestamp; // 時間戳 
  9. };  
  10. #define ICMP_HEADER_SIZE sizeof(icmp_header)  
  11. #define ICMP_ECHO_REQUEST 0x08  
  12. #define ICMP_ECHO_REPLY 0x00  
  13. // 計算校驗和  
  14. unsigned short chsum(struct icmp_header *picmp, int len)  
  15.  
  16.   long sum = 0 
  17.   unsigned short *pusicmp = (unsigned short *)picmp;  
  18.   while ( len > 1 )  
  19.   {  
  20.     sum += *(pusicmp++);  
  21.     if ( sum & 0x80000000 )  
  22.     {  
  23.       sum = (sum & 0xffff) + (sum >> 16);  
  24.     }  
  25.     len -2
  26.   }  
  27.   if ( len )  
  28.   {  
  29.     sum += (unsigned short)*(unsigned char *)pusicmp;  
  30.   }  
  31.   while ( sum >> 16 )  
  32.   {  
  33.     sum = (sum & 0xffff) + (sum >> 16);  
  34.   }  
  35.   return (unsigned short)~sum;  

ICMP的校驗值是一個16位的無符號整型,它會將ICMP協議頭不的數據進行累加,當累加有溢出的話,會將溢出的部分也進行累加。具體計算校驗和的算法就不過多介紹了,如果對校驗和計算的代碼不了解,可以進行單步調試來進行分析。再來看一下對于ICMP結構體的填充,具體代碼如下: 

  1. BOOL MyPing(char *szDestIp)  
  2.  
  3.   BOOL bRet = TRUE 
  4.   WSADATA wsaData;  
  5.   int nTimeOut = 1000 
  6.   char szBuff[ICMP_HEADER_SIZE + 32] = { 0 };  
  7.   icmp_header *pIcmp = (icmp_header *)szBuff;  
  8.   char icmp_data[32] = { 0 };  
  9.   WSAStartup(MAKEWORD(2, 2), &wsaData); 
  10.   // 創建原始套接字  
  11.   SOCKET s = socket(PF_INET, SOCK_RAW, IPPROTO_ICMP)  
  12.   // 設置接收超時  
  13.   setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, (char const*)&nTimeOut, sizeof(nTimeOut));  
  14.   // 設置目的地址  
  15.   sockaddr_in dest_addr;  
  16.   dest_addr.sin_family = AF_INET 
  17.   dest_addr.sin_addr.S_un.S_addr = inet_addr(szDestIp);  
  18.   dest_addr.sin_port = htons(0);  
  19.   // 構造 ICMP 封包  
  20.   pIcmp->icmp_type = ICMP_ECHO_REQUEST 
  21.   pIcmp->icmp_code = 0 
  22.   pIcmp->icmp_id = (USHORT)::GetCurrentProcessId();  
  23.   pIcmp->icmp_sequence = 0 
  24.   pIcmp->icmp_timestamp = 0 
  25.   pIcmp->icmp_checksum = 0 
  26.   // 拷貝數據  
  27.   // 這里的數據可以是任意的  
  28.   // 這里使用 abc 是為了和系統提供的看起來一樣  
  29.   memcpy((szBuff + ICMP_HEADER_SIZE), "abcdefghijklmnopqrstuvwabcdefghi", 32);  
  30.   // 計算校驗和  
  31.   pIcmp->icmp_checksum = chsum((struct icmp_header *)szBuff, sizeof(szBuff));  
  32.   sockaddr_in from_addr;  
  33.   char szRecvBuff[1024];  
  34.   int nLen = sizeof(from_addr);  
  35.   sendto(s, szBuff, sizeof(szBuff), 0, (SOCKADDR *)&dest_addr, sizeof(SOCKADDR));  
  36.   recvfrom(s, szRecvBuff, MAXBYTE, 0, (SOCKADDR *)&from_addr, &nLen);  
  37.   // 判斷接收到的是否是自己請求的地址  
  38.   if ( lstrcmp(inet_ntoa(from_addr.sin_addr), szDestIp) )  
  39.   {  
  40.     bRet = FALSE 
  41.   }  
  42.   else  
  43.   {  
  44.     struct icmp_header *pIcmp1 = (icmp_header *)(szRecvBuff + 20);  
  45.     printf("%s\r\n", inet_ntoa(from_addr.sin_addr));  
  46.   }  
  47.   return bRet;  

這就是Ping命令的全部代碼了。自己寫一個函數調用它進行測試。

在Windows XP以上的操作系統中運行時,比如Windows 8系統,程序可能會無法正常的運行,這是因為操作系統權限所導致的。在被編譯好的程序上單擊右鍵,在彈出的菜單上選擇“以管理員身份運行”,這樣程序就可以正常的執行了。 

 

責任編輯:龐桂玉 來源: 計算機與網絡安全
相關推薦

2015-03-31 11:24:02

2015-10-16 09:33:26

TCPIP網絡協議

2021-03-03 12:20:42

網絡安全DLL編程

2013-12-27 13:39:23

Java套接字

2014-12-17 09:22:10

網絡·安全技術周刊

2021-03-05 13:46:56

網絡安全遠程線程

2021-01-26 13:45:03

網絡安全Winsock編程

2015-05-28 10:47:38

Unix網絡編程TCP

2021-02-23 10:20:07

網絡安全進程代碼

2021-02-21 18:19:43

網絡安全網絡安全編程創建進程

2014-12-11 09:20:30

TCP

2022-10-08 07:30:17

網絡安全編程語言C++

2012-01-06 13:58:47

JavaTCP

2016-10-10 00:18:27

2009-03-10 13:59:41

C#套接字編程

2021-06-18 09:55:09

網絡安全目錄監控

2014-12-15 09:28:54

UDP

2021-06-11 13:40:17

網絡安全專殺工具病毒

2021-03-01 11:38:15

網絡安全進程代碼

2011-03-17 13:32:45

點贊
收藏

51CTO技術棧公眾號

久久aimee| 黑人巨大精品| 成人黄色国产精品网站大全在线免费观看 | 国产精品高清网站| 中文人妻一区二区三区| 黄色成人在线视频| 亚洲在线观看免费| 日本精品一区| 精品人妻无码一区二区三区蜜桃一| 亚洲高清激情| 中文字幕亚洲综合久久筱田步美 | 999国产精品亚洲77777| 亚洲激情成人在线| 欧美日韩一区二区三区在线观看免| 在线观看你懂的网站| 欧美国产综合| 在线精品视频视频中文字幕| 国产一级二级av| 精品视频在线一区二区在线| 亚洲高清免费观看高清完整版在线观看| 欧洲亚洲一区二区| 欧洲精品久久一区二区| 久久99国产精品麻豆| 91av视频在线播放| 欧美黄色一区二区三区| 欧美最新另类人妖| 亚洲黄在线观看| 久久6免费视频| 欧美一区国产| 天天操天天干天天综合网| 麻豆中文字幕在线观看| 国产色a在线| 成人听书哪个软件好| 国产色综合天天综合网| 中文字幕一区二区人妻视频| 一区二区动漫| 欧美国产乱视频| 日韩一级片大全| 成人三级视频| 亚洲色在线视频| 超碰caoprom| 中文一区二区三区四区| 欧美日韩一区二区三区视频| 国产熟女高潮视频| 精品众筹模特私拍视频| 亚洲女人的天堂| 日本黄色a视频| 久久综合网导航| 国产精品久久毛片a| 亚洲精美视频| 337p日本欧洲亚洲大胆鲁鲁| 久久精品夜色噜噜亚洲aⅴ| 精品国产91亚洲一区二区三区www| 国产91视频在线| 国精产品一区一区三区mba桃花| 国产精品老女人视频| 中文在线第一页| 久久国产毛片| 国产99久久精品一区二区| 男人天堂2024| 老色鬼久久亚洲一区二区| 情事1991在线| 亚洲不卡在线视频| 日韩电影一区二区三区| 国产精品第一视频| 亚洲图片视频小说| 九九国产精品视频| 亚洲a成v人在线观看| 国产精选久久久| 国产成人日日夜夜| 国产精品午夜av在线| 天天射天天操天天干| 99视频热这里只有精品免费| 久久偷窥视频| 第一页在线观看| 国产精品久久久久久久久晋中| 中文字幕一区二区三区精彩视频| 国产在线观看av| 亚洲最快最全在线视频| 国产原创中文在线观看| 成人午夜精品| 6080午夜不卡| 欧美xxxxx精品| 欧美极品中文字幕| 久久精品免费电影| 国产精品30p| 日韩精品一二三四| 91亚洲精品一区| 污污网站在线免费观看| 国产欧美va欧美不卡在线| 法国空姐在线观看免费| 免费一二一二在线视频| 欧美日韩国产综合久久 | 成人动漫一区二区在线| 品久久久久久久久久96高清| 麻豆免费在线观看| 五月婷婷另类国产| 中文字幕av专区| 大陆精大陆国产国语精品| 亚洲欧美精品一区二区| 暗呦丨小u女国产精品| 亚洲自啪免费| 91免费看网站| 国产乱子伦三级在线播放| 综合色中文字幕| 日韩av片在线看| 欧美黄页免费| 亚洲欧美日韩一区在线| 九九热精彩视频| 日韩av午夜在线观看| 国产精品一区二区av| 99re在线视频| 欧美日韩在线免费观看| 午夜免费一级片| 欧美精选视频在线观看| 久久久久久久久亚洲| 中文字幕你懂的| 91在线看国产| 女人色极品影院| 国产精品久久久久久久久久齐齐| 亚洲黄色片网站| 麻豆视频在线免费看| 丝袜诱惑制服诱惑色一区在线观看| 亚洲自拍小视频| 五月婷婷在线观看| 在线日韩av片| 91av在线免费| 亚洲国内精品| 999国内精品视频在线| av影片在线看| 色婷婷久久99综合精品jk白丝| 国产污在线观看| 欧美日韩亚洲一区二区三区在线| 成人黄色在线观看| av播放在线| 欧美午夜精品电影| 91成年人网站| 日日摸夜夜添夜夜添精品视频| 久久精品日产第一区二区三区乱码| 四虎av在线| 日韩亚洲国产中文字幕欧美| 999精品视频在线观看播放| 日本午夜精品视频在线观看| 欧美激情www| 一本大道色婷婷在线| 日韩电影中文字幕在线| 国产欧美日韩另类| 91在线你懂得| 久久久久久久久久久福利| 一道在线中文一区二区三区| 欧美亚洲国产视频| 九色国产在线观看| 在线欧美小视频| 99久久99久久精品免费看小说.| 免费欧美在线视频| 亚洲欧洲一区二区福利| 亚洲精品一区av| 久久艹在线视频| 国产高清在线免费| 亚洲午夜私人影院| 国产精品久久久久久久无码| 亚洲毛片视频| 欧美一级日本a级v片| 亚洲精品国产精品国产| 在线视频欧美日韩精品| 伊人免费在线观看| 亚洲精品视频在线| 人妻激情偷乱频一区二区三区 | 日韩在线播放av| 国产精品一区二区人人爽| 亚洲精品va在线观看| 无码人妻一区二区三区在线| 影音先锋在线一区| 欧美日韩在线观看一区| 九七影院97影院理论片久久| 九九热精品视频国产| 免费看av毛片| 在线视频欧美区| 91嫩草丨国产丨精品| 99久久国产综合精品色伊| aⅴ在线免费观看| 99久久婷婷| 极品日韩久久| 日本精品网站| 久久久久久久久国产精品| 手机亚洲第一页| 欧美男人的天堂一二区| 免费一级黄色大片| 国产清纯白嫩初高生在线观看91 | ww久久中文字幕| 五月婷婷丁香色| 精品福利av| 色999日韩自偷自拍美女| 国产免费av国片精品草莓男男| 欧美激情视频一区二区三区不卡| 日韩精品123| 欧美精品777| 成人午夜视频在线播放| 亚洲欧洲精品天堂一级| 亚洲黄色免费在线观看| 国产真实乱偷精品视频免| 欧美视频在线观看网站| 欧美成人精品一区二区三区在线看| 国产精品yjizz| 久久免费资源| 欧美亚洲视频在线观看| 三级网站视频在在线播放| 亚洲欧美日韩视频一区| 精品人妻一区二区三区三区四区| 色婷婷激情一区二区三区| 欧美日韩在线观看免费| 国产日韩精品一区二区三区在线| 国产探花一区二区三区| 日韩高清在线不卡| 日韩在线综合网| 欧美日本一区| 中文字幕一区二区三区最新| 伊甸园亚洲一区| 国产伦精品一区二区三区高清| 日韩五码电影| 国产成人福利网站| 午夜激情在线播放| 久久久久国产精品免费| 精品176二区| 色诱女教师一区二区三区| 日韩av地址| 亚洲国产又黄又爽女人高潮的| 国产又爽又黄免费软件| 色播五月激情综合网| 日韩欧美视频在线免费观看| 又紧又大又爽精品一区二区| 制服丨自拍丨欧美丨动漫丨| 久久久久成人黄色影片| 亚洲第九十七页| 波多野结衣在线aⅴ中文字幕不卡| 亚洲黄色片免费| 久久综合综合久久综合| 在线视频日韩一区 | 亚洲欧美在线视频| 国产破处视频在线观看| 日本一区二区免费在线观看视频 | 国产精品久久久久精k8| 97人妻人人揉人人躁人人| 2014亚洲片线观看视频免费| 精品无码在线视频| 99精品偷自拍| 欧美丰满少妇人妻精品| 97精品电影院| 日韩av在线看免费观看| 久久久久久久精| 欧美成人国产精品一区二区| 国产欧美一区视频| 国产黄色片在线| 亚洲三级免费电影| 一级黄色录像视频| 一区二区三区国产| 国产 日韩 欧美 成人| 午夜视频在线观看一区二区| 男人的天堂一区二区| 黄色成人在线免费| 激情网站在线观看| 欧美日韩在线观看一区二区 | 久久久久无码国产精品不卡| 一区二区在线观看不卡| 福利一区二区三区四区| 日韩欧美亚洲一二三区| 国产天堂第一区| 91麻豆精品国产91久久久久久久久 | 欧美精品aaaa| 麻豆精品久久精品色综合| 美女在线视频一区二区| 国产尤物一区二区| 亚洲美女精品视频| 99久久婷婷国产| 国产在线综合视频| 亚洲欧美偷拍卡通变态| 日本少妇毛茸茸高潮| 欧美性生交大片免费| 中文有码在线播放| 日韩视频在线观看一区二区| 性猛交xxxx| 色老头一区二区三区| 日本三级在线观看网站| 欧洲美女7788成人免费视频| 久久久加勒比| 国产视频在线观看一区| 日韩免费看片| 97干在线视频| 男人的天堂久久精品| 性xxxxxxxxx| 国产日韩欧美高清在线| 久久久美女视频| 欧美中文字幕久久| 人妻少妇精品无码专区久久| 国产一区二区三区在线免费观看| 色操视频在线| 国产精品视频资源| 日韩电影在线观看完整免费观看| 色视频一区二区三区| 国产综合网站| 中文字幕免费高清在线| eeuss鲁片一区二区三区在线观看| 免费黄色在线网址| 午夜视频在线观看一区二区三区| 国产精品久久无码一三区| 日韩成人在线播放| 最爽无遮挡行房视频在线| 国产成人免费91av在线| 一区三区自拍| 青少年xxxxx性开放hg| 久久久天天操| 又黄又爽的网站| 亚洲少妇中出一区| 波多野结衣毛片| 日韩国产高清视频在线| 99视频免费在线观看| 国产精品久久久久久久久男| 美女视频亚洲色图| 在线观看av的网址| 久久国产精品72免费观看| 丰腴饱满的极品熟妇| 亚洲成人一区在线| www.桃色av嫩草.com| 久久精品国产久精国产思思| 亚洲欧美一区二区三区| 国产亚洲情侣一区二区无 | 黄色www网站| 国产91精品精华液一区二区三区 | 免费人成黄页在线观看忧物| 国外色69视频在线观看| 成人激情自拍| 和岳每晚弄的高潮嗷嗷叫视频| 国产激情精品久久久第一区二区| 很污很黄的网站| 欧美日本一道本| www.亚洲资源| 国产美女搞久久| 成人精品影视| 亚洲娇小娇小娇小| 欧美激情一区二区三区不卡 | 51精品免费网站| 欧美日韩色综合| 日本黄色片在线观看| 国产日韩欧美中文| 天天做天天爱天天爽综合网| 污污动漫在线观看| 国产精品久久久久久久久搜平片| 亚洲天堂视频在线播放| 在线视频日本亚洲性| 亚洲网站免费| 水蜜桃在线免费观看| 国产精品中文字幕一区二区三区| 欧美成人三级视频| 精品成人一区二区| 久草在线资源福利站| 欧美黑人xxxxx| 日本美女一区二区三区| 精品在线观看一区| 337p亚洲精品色噜噜| 在线黄色网页| 国产伦一区二区三区色一情| 香蕉亚洲视频| 人妻精品久久久久中文| 欧美日韩一区 二区 三区 久久精品| 日本欧美在线视频免费观看| 97超碰人人看人人| 亚洲精品在线二区| 波多野吉衣中文字幕| 欧美最新大片在线看| 免费av在线| 国产精品一区二区三区不卡| 最新成人av网站| xxxxx在线观看| 91精品国产色综合久久| 日韩欧美一起| 日韩电影大全在线观看| 国产一区二区三区不卡在线观看| 激情五月色婷婷| 中文字幕少妇一区二区三区| 精品中文字幕一区二区三区| 日本欧美视频在线观看| 国产亚洲欧美中文| 国产哺乳奶水91在线播放| 97在线精品国自产拍中文| 欧美日韩精品在线一区| 亚洲一区和二区| 91黄色免费版| 欧美hdxxxxx| 日韩精品国内| 高潮精品一区videoshd| 中文字幕69页| 欧美巨乳美女视频| 国内精品久久久久久久影视简单| 国产农村妇女精品久久| 懂色aⅴ精品一区二区三区蜜月| 免费av在线网址| 欧美激情视频一区二区三区| 国产精品一区2区| 欧美性受xxx黑人xyx性爽| 久久久久日韩精品久久久男男|