• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            聊天qq

            更新時(shí)間:2023-03-06 22:26:12 閱讀: 評論:0

            語文評語-折疊車

            聊天qq
            2023年3月6日發(fā)(作者:員工評語)

            QQ聊天程序的網(wǎng)絡(luò)通信原理

            盧平

            (通信工程(2)班E09680220)

            QQ的通信協(xié)議

            QQ的通信協(xié)議是一套基于二進(jìn)制數(shù)據(jù)的自己開發(fā)的應(yīng)用層網(wǎng)絡(luò)協(xié)議。其中使用一些公

            司的加密算法。QQ基本通信協(xié)議支持udp和tcp兩種基本協(xié)議方式。兩種方式的基本數(shù)據(jù)

            結(jié)構(gòu)是一樣的。只是tcp包多了一個(gè)描述長度的頭部。

            QQ的通信原理

            QQ聊天程序采用的是C/S通信模式,即客戶/服務(wù)模式,它把一個(gè)應(yīng)用劃分成功能不

            同的兩個(gè)部分,分別在不同的計(jì)算機(jī)上運(yùn)行,其中一個(gè)為服務(wù)端程序,用來響應(yīng)和提供固定

            的服務(wù),一個(gè)為客戶端程序,用來向服務(wù)端提出請求和要求某種服務(wù)。在數(shù)量關(guān)系上,通常

            有一對一的(即一個(gè)服務(wù)端程序和一個(gè)客戶端程序之間通信),也有一對多的(即一個(gè)服務(wù)

            端程序和多個(gè)客戶端程序之間通信),也有多對多的(即多個(gè)服務(wù)端程序和多個(gè)客戶端程序

            之間通信)。所謂服務(wù)端程序、客戶端程序也是相對的概念,有時(shí)在一個(gè)程序中既有服務(wù)端

            又有客戶端的功能。QQ聊天程序分成了兩個(gè)程序,一個(gè)安裝在騰訊公司的服務(wù)器上,我們

            稱之為服務(wù)端程序,一個(gè)安裝在QQ用戶的計(jì)算機(jī)上,我們稱之為客戶端程序。在許多介紹

            網(wǎng)絡(luò)通信編程的書籍中有關(guān)網(wǎng)絡(luò)聊天的例子,當(dāng)一個(gè)客戶要與另一個(gè)客戶聊天時(shí),第一個(gè)客

            戶先把聊天數(shù)據(jù)發(fā)送給服務(wù)器,然后服務(wù)器再把聊天數(shù)據(jù)轉(zhuǎn)發(fā)給第二個(gè)客戶,服務(wù)器好像一

            個(gè)中轉(zhuǎn)站,這在客戶數(shù)量比較少時(shí),服務(wù)器還能承受,在客戶數(shù)量比較多時(shí),服務(wù)器肯定要

            癱瘓。何況客戶之間還要傳送文件、語音聊天、視頻聊天等等,為了減少服務(wù)器的壓力,各

            客戶端之間需要直接通信。

            1。在服務(wù)端和客戶端之間(一對多)

            用于客戶端程序登錄,驗(yàn)證用戶密碼,獲取其它在線好友信息等等。

            2。在客戶端和客戶端之間(多對多)

            用于在線好友間直接通信聊天。此時(shí)每個(gè)客戶端程序上既有實(shí)現(xiàn)服務(wù)端功能的部分,又

            有實(shí)現(xiàn)客戶端功能的部分,前者用于接收聊天數(shù)據(jù),后者用于發(fā)送聊天數(shù)據(jù)。

            在用C/S模式進(jìn)行通信時(shí),作為客戶端在請求與服務(wù)端連接時(shí)需要知道服務(wù)端的IP地

            址,騰訊公司的服務(wù)器具有固定的公網(wǎng)地址,這沒有問題。但是在客戶端和客戶端之間通信

            時(shí),每個(gè)用戶的IP地址都是ISP所給的臨時(shí)地址,無法固定,那么某個(gè)用戶要與另一個(gè)用

            戶連接時(shí),怎么知道對方的IP地址呢?當(dāng)一個(gè)用戶連接到Internet后,獲得了一個(gè)臨時(shí)

            的公網(wǎng)地址,當(dāng)?shù)卿浀絈Q時(shí),QQ服務(wù)端會(huì)獲得該上線用戶的IP地址,然后告知其他要與

            該上線用戶聊天的用戶,其他用戶就可以連接該用戶與之直接通信了。

            在Win32平臺(tái)上,對于眾多的基層網(wǎng)絡(luò)協(xié)議,Winsock是訪問它們的首選接口。如果

            想從頭開發(fā)一個(gè)網(wǎng)絡(luò)通信應(yīng)用程序,TCP/IP就是首選協(xié)議之一。為了保證可靠的數(shù)據(jù)傳輸,

            宜選擇TCP協(xié)議。在開發(fā)工具方面,VC是我的首選,但VB可能擁有更多的使用者,所以

            我用VB6。0作為開發(fā)工具編程實(shí)現(xiàn),以便更多的讀者能夠理解。喜歡VC的的讀者要將其

            轉(zhuǎn)化成VC下的代碼也很容易。在VB中有一個(gè)Winsock控件,它為VB網(wǎng)絡(luò)編程提供了一

            條便捷的途徑。

            QQ的登陸驗(yàn)證過程

            首先QQ客戶端向服務(wù)器發(fā)送一個(gè)請求登錄令牌的數(shù)據(jù)包,服務(wù)器返回登錄令牌。這個(gè)

            令牌是在服務(wù)器端生成的,和客戶端的IP地址,版本信息等數(shù)據(jù)相關(guān)。以后會(huì)用到這個(gè)令牌

            去進(jìn)行其他操作。在QQ客戶端得到登錄令牌之后。就會(huì)向服務(wù)器發(fā)送一個(gè)包含登錄信息的

            登錄請求,要求登錄。服務(wù)順會(huì)首先看看客戶端的號(hào)碼,守址和版本是否可以在本服務(wù)器上

            進(jìn)行登錄。如果可以的話,就驗(yàn)證客戶端的登錄信息是否與服務(wù)器上保存的登錄信息進(jìn)行比

            較,匹配的就向客戶端返回一個(gè)登錄成功的數(shù)據(jù)包;不匹配返回登錄失敗。因?yàn)镼Q的服務(wù)

            器有很多臺(tái),可能要分管不同的QQ版本、IP等。所以如果客戶端的號(hào)碼、IP地址和版本無

            法在本服務(wù)器進(jìn)行登錄,服務(wù)器就返回一個(gè)重定向包,讓客戶端去另外一臺(tái)服務(wù)器登錄。其

            實(shí)整個(gè)QQ登錄過程就是這么簡單的兩個(gè)步驟。

            (1)監(jiān)聽

            先在窗體上加一個(gè)Winsock控件,名稱設(shè)為“WinsockServer”。由于服務(wù)端需要和所

            有客戶端通信,需要很多Winsock控件,因此把剛加入的Winsock控件WinsockServer改

            為數(shù)組,只要將Winsock控件的Index屬性設(shè)為0即可,此時(shí)WinsockServer數(shù)組只有一

            個(gè)元素,以后可根據(jù)需要?jiǎng)討B(tài)增減。當(dāng)窗體載入時(shí),只會(huì)創(chuàng)建WinsockServer(0)這一個(gè)

            Winsock控件實(shí)例。作為服務(wù)端程序,首先要有一個(gè)Winsock用于監(jiān)聽客戶端的連接請求,

            自然就用WinsockServer(0)作為監(jiān)聽Winsock,所以先要設(shè)置其通信協(xié)議為TCP,然后設(shè)置

            本地端口,以便客戶端通過該端口與服務(wù)端連接,最后通過Listen方法監(jiān)聽。

            PrivateSubForm_Load()

            ConDB’自定義函數(shù)ConDB用于和存儲(chǔ)用戶信息的數(shù)據(jù)庫連接,具體實(shí)現(xiàn)見源程序。

            WinsockServer(0)。Protocol=sckTCPProtocol‘設(shè)置通信協(xié)議為TCP

            WinsockServer(0)。LocalPort=8888‘設(shè)置本地端口

            WinsockServer(0)。Listen’監(jiān)聽

            EndSub

            (2)請求與服務(wù)端程序建立連接

            當(dāng)用戶輸入用戶名和密碼單擊登錄按鈕后,在用戶機(jī)上的客戶端程序所做的事情是先請

            求與服務(wù)端程序建立連接,這需要先在客戶端程序的登錄窗體上加一個(gè)Winsock控件,名

            稱設(shè)為“WinsockClient”。然后設(shè)置通信協(xié)議,要連接的服務(wù)器IP地址,遠(yuǎn)程端口號(hào)要與

            服務(wù)端監(jiān)聽所設(shè)置的本地端口一致,最后通過Connect方法請求與服務(wù)端程序建立連接。

            PrivateSubCommand1_Click()‘單擊登錄按鈕事件

            WinsockClient。Protocol=sckTCPProtocol‘設(shè)置通信協(xié)議為TCP

            WinsockClient。RemoteHost="127。0。0。1"‘要設(shè)置正確的服務(wù)器IP地址

            WinsockClient。RemotePort=8888‘遠(yuǎn)程端口

            WinsockClient。Connect‘請求與服務(wù)端程序建立連接

            EndSub

            (3)接受客戶端程序連接請求

            當(dāng)客戶端請求與服務(wù)端程序建立連接時(shí),處于監(jiān)聽狀態(tài)的服務(wù)端會(huì)收到消息觸發(fā)

            ConnectionRequest事件,所以服務(wù)端程序接受客戶端程序連接請求的工作在

            ConnectionRequest事件方法中完成。由于WinsockServer(0)專用于監(jiān)聽,所以要新加載一

            個(gè)Winsock控件與該客戶端通信,為了保留每個(gè)在線客戶的信息,我定義了一個(gè)

            OnlineUrInformation結(jié)構(gòu)類型的數(shù)組OnlineUrInfo,它和Winsock控件數(shù)組相對應(yīng),

            比如OnlineUrInfo(i)中存放的是與WinsockServer(i)通信客戶端的信息,其中

            OnlineUrInfo(i)。bUd表示W(wǎng)insockServer(i)控件是否已被載入在與某個(gè)客戶端通信

            使用,如未使用,則通過Load方法將WinsockServer(i)控件動(dòng)態(tài)載入,隨后調(diào)用Accept

            方法接受客戶端程序連接請求。其中MaxOnlineUr是一個(gè)常量,表示最大在線用戶數(shù)量。

            TypeOnlineUrInformation

            bUdAsBoolean‘對應(yīng)下標(biāo)的Winsock控件是否已被載入在用

            UrIDAsString‘對應(yīng)的用戶ID

            IPAddrAsString‘對應(yīng)的客戶機(jī)IP地址

            bLoginedAsBoolean‘對應(yīng)的用戶是否登錄

            EndType

            QQ密碼的破解:

            對于我們破解QQ密碼來說,最重要的就是這個(gè)登錄包。在這里包含了和QQ密碼相關(guān)的

            信息。

            其中初始密鑰是一個(gè)16字節(jié)的隨機(jī)數(shù),用于本身的加密。這里最重要的就是密碼密鑰

            加密的一個(gè)空字符串。

            所謂密碼密鑰就是用QQ口呤進(jìn)行兩次MD5加密后得到的密文,然后以這個(gè)密文作為密

            鑰去加密一個(gè)空字符串,這次加密使用了反饋的TEA算法,加密結(jié)果放在QQ登錄包里,讓服務(wù)

            器去驗(yàn)證,由于QQ的加密算法使用特殊的填充機(jī)制使用QQ服務(wù)器可以驗(yàn)證出用戶密碼是否

            正確,這個(gè)會(huì)在后面進(jìn)行詳細(xì)的解釋。QQ登錄包里面還有一些諸如登錄狀態(tài),登錄令版和很

            多未知的內(nèi)容。但是這些對于我們破解QQ密碼來說都沒有什么太大的作用。

            需要特別提到的是,前面的請求登錄令牌包是不加密的,而這個(gè)登錄包除了初始密鑰本

            身以外的部分都要用初始密鑰進(jìn)行加密,加密算法同樣是反饋的TEA。

            QQ服務(wù)器在收到這個(gè)登錄包之后,首先要用初始密鑰解密登錄包后面的部分,如果解密

            成功,就會(huì)用保存在服務(wù)器上的密信息去解密密碼密鑰加密的那個(gè)空字符串密文,我現(xiàn)在還

            不確定QQ服務(wù)器上保存的是密碼明文還是密碼密鑰。猜測是密碼密鑰。這樣服務(wù)器就用密

            碼密鑰去解密那段16位密文,如果用戶提交的密碼是正確的。才可以解密成功。否則解密函

            數(shù)會(huì)返回空,認(rèn)證就失敗了。當(dāng)驗(yàn)證QQ客戶端密碼準(zhǔn)確無誤后。就返回一個(gè)登錄成功包。

            QQ的加密算法

            了解了上面的QQ登錄的通信協(xié)議之后還不足以破解QQ密碼,我們還需要掌握QQ的加密

            算法。前面提到了,密碼密鑰是用戶密碼進(jìn)行兩次MD5加密之后得到的結(jié)果。然后再用空個(gè)

            結(jié)果作為密鑰使用TEA算法進(jìn)行加密。TEA是TinyEncryptArithmetic的縮寫。顧名思義

            就是一種比較簡單的小型加密算法。它用一個(gè)16字節(jié)的密鑰去加密一個(gè)8字節(jié)的明文。得

            到一個(gè)8字節(jié)的密文。也可以反向從密文解密出明文。具體的算法可以到網(wǎng)上搜索查閱。這

            里就不在贅述了。

            但是QQ使用的TEA雖然是標(biāo)準(zhǔn)的TEA。但是QQ卻使用了一種自己特殊的填充反饋機(jī)

            制,QQ消息被分為多個(gè)加密單元。每一個(gè)加密單元都是8字節(jié)。使用TEA進(jìn)行加密。加密結(jié)

            果再作為下一個(gè)單元的密鑰。如果明文本身的長度不是8的倍數(shù)。那么還要進(jìn)行填充。使其

            成為8的倍數(shù)。填充的時(shí)候會(huì)用一個(gè)32位隨機(jī)數(shù)存放于明文的開始位置。再在明文的最后

            用0填充為整個(gè)長度是8的倍數(shù)。由于會(huì)向后反饋這樣即使對于相同的明文,因?yàn)槭褂昧瞬?/p>

            同的隨機(jī)數(shù)。也會(huì)產(chǎn)生完全不同的密文。

            使用這種特殊的填充反饋算法所導(dǎo)致的結(jié)果就是,一段密文只能用加密它的密鑰進(jìn)行解

            密。如果使用不正確的密鑰。就無法得到正確的填充結(jié)果。最常見的就是解密后得到的填充

            數(shù)值不是0,這樣就判斷解密失敗。

            服務(wù)器正式根據(jù)這種機(jī)制來確定客戶端口的密碼是否正確的。這也是我們破解QQ密的

            原理所在。

            窮舉破解QQ密碼

            有了以上的思路。只要寫出程序就可以實(shí)現(xiàn)QQ密碼的破解了。首先是抓包。可以使用winpcap

            來抓包。這樣在HUB環(huán)境下可以抓到所有的QQ包。在交換環(huán)境中。我們可以使用一些ARP

            欺騙工具。同樣可以抓到特定IP所發(fā)出的包。還有QQ的加密算法的實(shí)現(xiàn)。參考網(wǎng)上的

            perl-oicq和lumaqq等代碼也可以輕易實(shí)現(xiàn)。然后用字典或者暴力破解的方法對密文進(jìn)行

            解密即可。解密的過程用偽代碼表示如下:結(jié)果=decrypt(密文,MD5(MD5(密碼))),如果結(jié)果

            不為空的時(shí)候就是正確的密碼。

            QQ的聊天

            (1)發(fā)送信息。一般而言,QQ最主要的功能就是聊天。這樣傳送數(shù)據(jù)就是其中的一個(gè)重

            要途徑。在QQ用戶發(fā)送聊天數(shù)據(jù)以前,需要在列表框中選擇與之通信的好友信息如

            ID及IP地址等。而當(dāng)服務(wù)器程序根據(jù)所選好友的具體位置以及列表框中找到有關(guān)

            控件數(shù)據(jù)下標(biāo)值,其實(shí)也就是目標(biāo)ID及IP、時(shí)間、內(nèi)容等分別宣示于發(fā)送端的聊

            天窗口中,進(jìn)而實(shí)現(xiàn)聊天雙方信息的交換。

            (2)接收信息。如前面所述,接收信息成為了QQ的又一重要途徑。一般情況下,QQ用

            戶在接收時(shí),都會(huì)逐一讀取每條聊天的數(shù)據(jù)資料,并根據(jù)發(fā)送方的IP地址以及所在

            數(shù)組中找到發(fā)送方的ID,然后再利用自定義的方式與過程,把發(fā)送信息方的聊天雙

            方的ID及IP、時(shí)間、內(nèi)容等顯示在接收端的聊天窗口中。

            QQ文件/自定義表情傳送

            大家都知道,QQ可以傳送文件,可以發(fā)送自定義表情。先說官方表情。官方表情實(shí)際

            發(fā)送的是命令字,而沒有發(fā)送表情。客戶端收到命令字后,會(huì)自動(dòng)解釋為對應(yīng)的表情。因此,

            QQ2012正式版的客戶端發(fā)出的新版表情,在QQ2011及以前的版本無法找到相對應(yīng)的表情,

            就無法解釋,看到的就會(huì)是空白信息,但查聊天記錄就會(huì)有[表情]字樣。自定義表情的傳送

            是以文件傳輸方式進(jìn)行的。

            下面說文件傳輸方式:A要向B發(fā)送一個(gè)文件,于是發(fā)出一個(gè)文件傳送請求。服務(wù)器收

            到這個(gè)文件傳送請求后,轉(zhuǎn)發(fā)給B,同時(shí)或者在B應(yīng)答后,將A的IP地址同時(shí)發(fā)送給B。B

            這個(gè)時(shí)候就得到了A的真實(shí)IP。這里的IP是你的本機(jī)IP。也就是說,如果A處在內(nèi)網(wǎng),B

            得到的地址就是一個(gè)內(nèi)網(wǎng)地址。B得到了A的地址之后,就會(huì)嘗試去連接A。如果B也處于

            內(nèi)網(wǎng),那么,顯然A跟B之間的連接是無法建立的。這個(gè)時(shí)候,客戶端就會(huì)請求服務(wù)器進(jìn)行

            文件中轉(zhuǎn)。因?yàn)榉?wù)器具有公網(wǎng)IP,處在內(nèi)網(wǎng)的A跟B都是可以連接到服務(wù)器的,于是,A

            跟B的文件傳送就通過服務(wù)器中轉(zhuǎn)的方式,順利進(jìn)行。

            QQ是一個(gè)基于TCP/UDP協(xié)議的通訊軟件,而MSN是基于TCP協(xié)議的通訊軟件。

            那么QQ是如何通訊的呢?在TCP/IP協(xié)議中,唯一標(biāo)識(shí)一個(gè)應(yīng)用進(jìn)程的是socket,它通過

            網(wǎng)絡(luò)層的IP地址和傳輸層的端口號(hào)來實(shí)現(xiàn),對與同一個(gè)IP地址的內(nèi)部網(wǎng)絡(luò),通過不同的端

            口號(hào)來標(biāo)識(shí)不同的QQ進(jìn)程;當(dāng)你登陸QQ游戲服務(wù)器的時(shí)候,服務(wù)器會(huì)保留你的保留IP地

            址和端口號(hào)信息,并在你的好友的QQ進(jìn)程中進(jìn)行列表顯示,然后兩個(gè)進(jìn)程就可以通信了。

            通常,發(fā)送文件的計(jì)算機(jī)首先要通過消息服務(wù)器將其IP地址發(fā)送給接收計(jì)算機(jī),當(dāng)接

            收計(jì)算機(jī)同意接收的確認(rèn)消息反饋到消息服務(wù)器后,消息服務(wù)器將據(jù)此設(shè)置好文件傳輸對話。

            隨即,發(fā)送計(jì)算機(jī)與接收計(jì)算機(jī)就會(huì)在確定好的端口范圍內(nèi),建立起TCP或UDP連接開始文

            件的檢索與傳輸。

            在默認(rèn)狀態(tài)下,QQ優(yōu)先采用了UDP(UrDataProtocol,用戶數(shù)據(jù)報(bào)協(xié)議)協(xié)議傳送

            數(shù)據(jù),而對可靠性要求高的數(shù)據(jù)通訊系統(tǒng)往往使用TCP協(xié)議傳輸數(shù)據(jù)。與TCP協(xié)議不同,UDP

            協(xié)議并不提供數(shù)據(jù)傳送的驗(yàn)證機(jī)制——在整個(gè)文件傳輸過程中如果出現(xiàn)數(shù)據(jù)報(bào)的丟失,協(xié)議

            本身并不能作出任何的檢測或提示。因此,通常人們把UDP協(xié)議稱為不可靠的傳輸協(xié)議。

            UDP協(xié)議適用于無須應(yīng)答、要求時(shí)效的軟件使用,這樣的設(shè)計(jì)正好與QQ追求的目標(biāo)相

            符,所以QQ優(yōu)先使用了此協(xié)議進(jìn)行一切功能應(yīng)用。但是,由于UDP協(xié)議具有不可靠性,

            常會(huì)因種種原因?qū)е孪⒒驍?shù)據(jù)的發(fā)送失敗(很多時(shí)候會(huì)發(fā)現(xiàn)發(fā)送文件給對方接收時(shí),對方

            根本收不到要求接收文件的消息。或是發(fā)送聊天消息時(shí),對方根本沒有收到過消息)。顯然,

            UDP協(xié)議由于排除了信息可靠傳遞機(jī)制,將安全和排序等功能移交給上層應(yīng)用來完成,極大

            降低了執(zhí)行時(shí)間,使速度得到了保證。QQ在數(shù)據(jù)傳輸上更注重實(shí)際性能,為了獲得更好的

            使用效果,往往可以犧牲一定的可靠性。因此,使用QQ來傳輸數(shù)據(jù),在很多時(shí)候就成了一

            個(gè)“不錯(cuò)”的選擇。

            一般內(nèi)網(wǎng)傳輸首選QQ,速度最快,QQ的文件傳輸是直接個(gè)人對個(gè)人,采用P2P的傳輸

            方式,具有不需中轉(zhuǎn)的優(yōu)勢,而且服務(wù)器都在國內(nèi),傳輸性能要高于外國IM軟件。

            本文發(fā)布于:2023-03-06 22:26:11,感謝您對本站的認(rèn)可!

            本文鏈接:http://m.newhan.cn/zhishi/a/1678112771127907.html

            版權(quán)聲明:本站內(nèi)容均來自互聯(lián)網(wǎng),僅供演示用,請勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除。

            本文word下載地址:聊天qq.doc

            本文 PDF 下載地址:聊天qq.pdf

            上一篇:神奇的九寨
            下一篇:返回列表
            標(biāo)簽:聊天qq
            相關(guān)文章
            留言與評論(共有 0 條評論)
               
            驗(yàn)證碼:
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實(shí)用文體寫作網(wǎng)旗下知識(shí)大全大全欄目是一個(gè)全百科類寶庫! 優(yōu)秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 国产va免费精品观看精品 | 在线观看亚洲精品国产| 久久天堂无码av网站| 精品亚洲女同一区二区| 猫咪AV成人永久网站在线观看| 国产视色精品亚洲一区二区 | 成人午夜免费无码视频在线观看| 亚洲人成人无码网WWW电影首页| 久久夜色精品亚洲国产av| 午夜三级成人在线观看| 亚洲综合专区| 精品亚洲男人一区二区三区| 亚洲av综合av一区| 男女18禁啪啪无遮挡激烈网站| 成年在线观看免费人视频| 极品蜜臀黄色在线观看| AV最新高清无码专区| 久久久久久一级毛片免费无遮挡| av色国产色拍| 亚洲av伊人久久青青草原| 在线看国产精品三级在线| 国产成人免费高清激情视频| 久久精品亚洲国产综合色| 久热这里只精品99国产6-99RE视…| 美女无遮挡拍拍拍免费视频| 十八禁午夜福利免费网站| 97国内精品久久久久不卡| 中文字幕日韩精品有码| 国产亚洲情侣一区二区无| 国产不卡一区二区精品| 亚洲av成人午夜电影在线观看| 国产精品美女一区二三区| 337P日本欧洲亚洲大胆在线| 久久精品国产一区二区三区| 黑人玩弄人妻中文在线| 精品国产片一区二区三区| 国产农村激情免费专区| 亚洲v欧美v日韩v国产v| 高清国产一区二区无遮挡| 999精品全免费观看视频| 91精品国产福利尤物免费|