精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

久久久久狠狠高潮亚洲精品| 国产精品电影网| 日韩精品xxx| 女人让男人操自己视频在线观看| 国产欧美一区二区三区网站| 亚洲999一在线观看www| 三级黄色在线视频| 999久久久亚洲| 亚洲电影免费观看高清完整版在线| 欧美日韩中文在线视频| 黄色在线论坛| 91免费观看视频| 成人免费黄色网| 探花视频在线观看| 午夜日韩电影| 中文字幕亚洲一区在线观看| 一级黄色电影片| 成人国产激情| 欧美视频免费在线| 999久久欧美人妻一区二区| 九九九伊在人线综合| 国产电影一区在线| 国产精品久久久久久五月尺| 99视频在线看| 午夜久久久久| www.亚洲人.com| 少妇精品无码一区二区免费视频| 福利电影一区| 日韩视频免费观看高清完整版| av视屏在线播放| 九色porny自拍视频在线播放| 中文字幕亚洲成人| 亚洲高清在线观看一区| 日韩精品123| 成人动漫一区二区三区| 91黄在线观看| 国产美女www爽爽爽视频| 视频在线在亚洲| 欧美亚洲视频在线看网址| 久久久综合久久| 伊人久久大香线| 久久精品视频在线| jizz日本在线播放| 成人黄色小视频| 亚洲欧洲在线播放| 亚洲区免费视频| 五月天亚洲色图| 日韩精品视频在线播放| 国产一级二级视频| 欧美爱爱网站| 日韩精品免费看| 精品国产无码在线观看| 免费欧美一区| 亚洲午夜色婷婷在线| 魔女鞋交玉足榨精调教| 国产精品视频一区二区三区四蜜臂| 精品一区二区电影| 亚洲精品成人无码| 欧美日韩播放| 一区二区三区无码高清视频| 一级黄色录像毛片| 手机在线一区二区三区| www.国产一区| 久草视频中文在线| 日韩视频久久| 欧美一级淫片aaaaaaa视频| 国产精品男女视频| 丝袜美腿亚洲综合| 国产欧美一区二区三区在线| 97国产精品久久久| 国产乱理伦片在线观看夜一区| 91成人理论电影| 国精品人妻无码一区二区三区喝尿| 国产成人精品免费看| 国产一区免费观看| 巨骚激情综合| 亚洲美女偷拍久久| 日韩精品视频在线观看视频| 玖玖精品在线视频| 日批视频免费在线观看| 青青草伊人久久| 亚洲自拍偷拍一区| 免费观看毛片网站| 国产女主播一区| 肉大捧一出免费观看网站在线播放| 久久亚洲导航| 色综合天天在线| 制服丝袜中文字幕第一页 | 国产精品jizz| 日韩精品一区二区久久| 欧美精品一本久久男人的天堂| 国产精品111| 秋霞影院一区二区| 国产成人av一区二区三区| 蜜桃成人在线视频| 亚洲精品中文字幕在线观看| 欧美日韩黄色一级片| 亚洲在线资源| 日韩电影免费观看中文字幕| 亚洲 欧美 国产 另类| 欧美日一区二区在线观看| 国产成人亚洲综合91| 国产精品爽爽久久久久久| 99久久精品免费精品国产| 亚洲午夜精品久久久久久浪潮| 国产后进白嫩翘臀在线观看视频| 在线观看一区二区视频| 日韩大尺度视频| 成人在线免费观看网站| 97视频在线观看视频免费视频| 在线免费观看日韩视频| 成人短视频下载| 亚洲国产精品影视| 日本综合视频| 亚洲激情自拍图| 久久97人妻无码一区二区三区| 日韩国产一区二| 好吊妞www.84com只有这里才有精品| aaa在线观看| 色综合久久综合网欧美综合网| 日本少妇xxx| 成人一区二区| 国产精品久久激情| 无码国产精品一区二区免费16| 亚洲人成网站精品片在线观看| 免费在线观看日韩视频| 国产劲爆久久| 久久久久国产精品www| 一本大道伊人av久久综合| 久久久国产一区二区三区四区小说| 成人短视频在线观看免费| 欧美97人人模人人爽人人喊视频| 亚洲欧美日韩国产精品| 日韩手机在线观看| 成人黄色av电影| 欧美久久久久久久久久久久久久| 欧美黄色成人| 中文字幕亚洲欧美一区二区三区 | 日韩精品专区在线影院重磅| 亚洲av无一区二区三区| 奇米777欧美一区二区| 欧美久久久久久| 午夜影院在线观看国产主播| 亚洲成色777777女色窝| 久久免费播放视频| 国产成人午夜片在线观看高清观看| 自拍亚洲欧美老师丝袜| 日韩大陆av| 久久视频免费观看| 国产精品欧美综合亚洲| 亚洲人成伊人成综合网小说| www.国产福利| 欧美全黄视频| 成人av免费电影| gogo高清午夜人体在线| 亚洲成人精品久久| 国产精品自拍视频一区| jvid福利写真一区二区三区| 国产美女网站在线观看| 免费成人av| 国产精品h片在线播放| av电影在线观看| 欧美美女一区二区| 久久久精品视频免费观看| 国产jizzjizz一区二区| 日韩国产欧美亚洲| 欧美人与拘性视交免费看| 国产精品色婷婷视频| a毛片在线播放| 亚洲国产成人精品一区二区| 亚洲午夜精品一区二区| 成人一二三四区| 欧美激情一区在线观看| 天天爽夜夜爽一区二区三区| 香蕉av一区二区| 高清av免费一区中文字幕| a天堂资源在线| 一区二区亚洲精品国产| 99热精品在线播放| 激情av一区二区| 国产中年熟女高潮大集合| 久草精品在线观看| 国产一级做a爰片久久毛片男| 日韩高清一级| 国产精品亚洲欧美导航| 亚洲小说区图片| 亚洲精选中文字幕| 在线观看一二三区| 香蕉成人啪国产精品视频综合网| 人妻体内射精一区二区| 狠狠色丁香久久婷婷综| 久久久久免费看黄a片app| 成人系列视频| 国产亚洲精品美女久久久m| 福利精品一区| 国内精品视频一区| 亚洲xxxxxx| 日韩av影片在线观看| 亚洲一区 中文字幕| 亚洲成人在线免费| av免费播放网站| 99久久精品国产一区二区三区| 91视频免费版污| 亚洲日本黄色| 最新中文字幕久久| 国产一区二区三区四区五区传媒| 114国产精品久久免费观看| 暖暖成人免费视频| 久久久亚洲福利精品午夜| 992tv免费直播在线观看| 亚洲国产精品电影| 国产夫妻在线观看| 欧美日韩成人一区| 99久久久久久久久| 亚洲不卡在线观看| 黄色一级视频在线观看| 国产精品毛片久久久久久久| 亚洲狠狠婷婷综合久久久久图片| 国产伦精品一区二区三区免费| 91看片就是不一样| 亚洲一区二区三区高清| 天天想你在线观看完整版电影免费| 精品日韩免费| 久久国产精品-国产精品| 成人av资源网址| 99电影网电视剧在线观看| 欧美亚洲福利| 国产精品视频一区国模私拍 | 999精品在线| 日韩一区二区三区资源| 中文字幕精品影院| 久久综合久久综合这里只有精品| 亚洲一区二区三区日本久久九| 国产在线观看一区二区三区| 欧美日韩免费观看视频| 青青久久av北条麻妃海外网| 2021中文字幕在线| 欧美黄色片在线观看| 成人av黄色| 久久综合久久美利坚合众国| av资源在线观看免费高清| 亚洲午夜精品久久久久久久久久久久| 欧美挠脚心网站| 亚洲精品一区二区三区婷婷月| 无码精品人妻一区二区| 亚洲第一区第二区| 少妇一区二区三区四区| 亚洲国产日韩精品在线| 五十路在线视频| 亚洲精品中文字| 狠狠色伊人亚洲综合网站l| 亚洲欧美激情精品一区二区| 黄色免费在线播放| 国产亚洲精品久久久久久牛牛| 国产精品视频一区二区久久| 亚洲天堂免费在线| 在线播放毛片| 久久国产精品久久久久| 色yeye免费人成网站在线观看| 欧美国产日韩在线| 亚洲优女在线| 国产精品久久在线观看| 日韩大陆av| www 成人av com| 日韩av中文字幕一区| 欧美日韩精品久久| 日韩精品1区| 国产精品一二三在线观看| 亚洲图片在线| 欧美牲交a欧美牲交aⅴ免费下载| 日本视频一区二区| 色网站在线视频| 成人激情校园春色| 手机免费看av| 一区二区三区在线免费观看| 日本特黄特色aaa大片免费| 在线视频国内一区二区| 97国产精品久久久| 日韩av综合网| 亚洲精品承认| 98精品国产高清在线xxxx天堂| 成人性生活av| 91精品国产99久久久久久红楼 | 欧美高跟鞋交xxxxhd| 国产在线观看免费| 久久久国产精品视频| 高清电影在线免费观看| 国产精品mp4| 一区二区网站| 日韩福利视频| 亚洲欧美文学| 成人亚洲视频在线观看| 国产在线乱码一区二区三区| 老熟妇精品一区二区三区| 中文字幕av一区二区三区免费看| 波多野结衣亚洲一区二区| 狠狠干狠狠久久| 国产精品久久久久毛片| 亚洲精品一区中文字幕乱码| 免费网站成人| 欧美专区在线视频| 欧美专区一区| 日韩成人在线资源| 亚洲人成久久| 亚洲一二三av| 国产视频一区二区在线| 国产真实夫妇交换视频| 欧美日本在线播放| 欧美女优在线| 97香蕉超级碰碰久久免费软件| 亚洲精品自拍| 欧美精品一区二区三区在线四季| 欧美三区视频| 亚洲美女性囗交| 国产欧美一区二区三区鸳鸯浴| 五月天婷婷网站| 欧美一区二区三区免费在线看| 国产在线播放av| 午夜精品美女自拍福到在线| 欧洲大片精品免费永久看nba| 日产精品久久久一区二区| 最新成人av网站| 中国特级黄色片| 亚洲欧美日韩综合aⅴ视频| 日本精品入口免费视频| 日韩精品在线观| 丰满大乳少妇在线观看网站| 91人成网站www| 欧美国产小视频| av网站在线不卡| 国产喷白浆一区二区三区| 天天操天天摸天天干| 精品久久久久99| 性欧美ⅴideo另类hd| 91美女福利视频高清| 欧美韩日一区| 免费成人黄色大片| 国产精品国产三级国产a| 亚洲精品91天天久久人人| 亚洲小视频在线| 日韩三区免费| 亚洲mv在线看| 另类的小说在线视频另类成人小视频在线| 青青草视频成人| 欧美视频在线观看 亚洲欧| 天天摸天天干天天操| 2020欧美日韩在线视频| 精品少妇一区| 播放灌醉水嫩大学生国内精品| av资源网一区| 五月天婷婷综合网| 日韩av在线一区| 美女18一级毛片一品久道久久综合| 欧美日韩精品免费在线观看视频| 欧美专区一区二区三区| 免费人成又黄又爽又色| 欧美在线不卡一区| 免费在线午夜视频| 2019国产精品视频| 亚洲婷婷免费| a级大片在线观看| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 日韩电影在线一区| 萌白酱视频在线| 日韩视频免费观看高清完整版在线观看 | 99热在线成人| 日本人dh亚洲人ⅹxx| 亚洲国产精品久久一线不卡| 日本五码在线| 国产精品午夜国产小视频| 一区二区三区在线电影| 久久久久亚洲av成人网人人软件| 五月天亚洲婷婷| 国产黄在线看| 91手机在线视频| 亚洲免费影视| 中文字幕无码日韩专区免费| 日韩午夜在线观看| 一区二区乱码| 一区二区三区四区欧美日韩| 国产成a人亚洲| 久久国产乱子伦精品| 精品国产一区二区三区久久狼5月| 日本精品视频| 久草精品在线播放| 亚洲精品亚洲人成人网 | 视频在线观看99| 亚洲国产精品免费视频| 日韩少妇内射免费播放18禁裸乳| 国产精品美女久久久久高潮| 性生活三级视频| 日韩美女在线播放| 欧美99在线视频观看| 老熟妇一区二区| 日韩一级精品视频在线观看| 亚洲涩涩在线| 国产精品久久久久久久久电影网| 国产亚洲综合色| 国内爆初菊对白视频| 国产欧美日韩专区发布|