亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

更多QQ空间微信QQ好友腾讯朋友复制链接
您的位置:首頁/技術(shù)文章
文章詳情頁

對話 UNIX,第 3 部分: 在命令行中完成所有的工作

【字号: 作者:豬豬瀏覽:15日期:2024-06-12 10:44:47

研究提供 Internet 訪問的三種基本的 Unix® 命令行實(shí)用工具。

UNIX® 命令行是一種WYTIWYG(即所輸即所得)的接口。UNIX 提供了大量的命令,使用這些命令,您可以對內(nèi)核和用戶空間中各種可用的資源進(jìn)行操作。您需要對 CPU 的使用情況進(jìn)行監(jiān)視嗎?可以嘗試使用 top 或 ps。您需要?jiǎng)h除所有以 .bak 結(jié)尾的文件嗎?可以嘗試使用 rm *.bak。您需要獲得關(guān)于一個(gè)新的命令的幫助嗎?可以運(yùn)行 man。

但是,當(dāng)您所需要的資源位于廣域網(wǎng) (WAN) 和全球 Internet 中的遠(yuǎn)程系統(tǒng)時(shí),那又應(yīng)該如何處理呢?這里引用 The Hitchhiker's Guide to the Galaxy 中的一句話,“您不必驚慌失措。通過 UNIX 命令行可以很容易地下載和上傳文件、連接到遠(yuǎn)程計(jì)算機(jī)并詢問遙遠(yuǎn)的服務(wù)器和網(wǎng)絡(luò)的狀態(tài)。請做好準(zhǔn)備:讓我們開始一次“太陽系外的奇妙旅行。

在本地進(jìn)行工作,將信息傳輸?shù)饺?/p>

在本系列的第 1 部分和第 2 部分中,您了解了使用 UNIX 命令行可以完成各種各樣的工作。只需要輸入相應(yīng)的內(nèi)容,包括管道 (|) 或重定向,您就可以創(chuàng)建即興的數(shù)據(jù)處理器,從而實(shí)現(xiàn)比將其中的這些部分簡單地加在一起更強(qiáng)大的功能。

盡管日常使用的某些資源很可能位于本地,即位于您的工作站中,但是相當(dāng)數(shù)量的、并且越來越多的資產(chǎn)(如文件、電子郵件消息和工具)可能存儲(chǔ)在遠(yuǎn)程系統(tǒng)中,即位于連接到您的 WAN 或者 Internet 的計(jì)算機(jī)中。Web 瀏覽器提供了對這些資源的通用訪問方式,但是有一點(diǎn)需要注意:指向-點(diǎn)擊很快會(huì)變得令人厭倦,甚至很麻煩,特別是當(dāng)您必須對大量的條目進(jìn)行檢索時(shí)。而且,如果您希望使用腳本 來完成重復(fù)性的或容易出錯(cuò)的任務(wù)時(shí)(從本質(zhì)上說,是進(jìn)行捕獲和重放),窗口瀏覽器并不是一種好的工具。

與 ls、cp、mail、uptime、du manage 和 query local resources 一樣,Unix 還提供了一套用于訪問遠(yuǎn)程資源的命令行工具。本文將向您介紹其中的一些工具,包括一個(gè)有用的技巧,它可以簡化對遠(yuǎn)程系統(tǒng)的訪問并保護(hù)您的身份驗(yàn)證憑據(jù)。具體來說,您將了解 wget、curl 和安全 Shell (ssh)。wget 和 curl 工具可以用來傳輸文件,而使用 ssh,您可以安全地登錄到遠(yuǎn)程系統(tǒng)中,快速地和輕松地傳輸文件。

Telnet(和其他工具)存在的問題

如果您的系統(tǒng)中運(yùn)行了 rsh(或者其變種——rcp、rexec、rlogin 或 Irdist)或 telnet,那么請立即禁用并刪除這些命令以及相關(guān)的守護(hù)進(jìn)程。另外,如果您不允許使用匿名文件傳輸協(xié)議 (FTP),請同時(shí)禁用 FTP 軟件。

盡管 rsh 和 telnet 在 UNIX 中使用了很長的時(shí)間,但是攻擊者可以輕松地利用這兩種實(shí)用工具的其中之一來危害您的系統(tǒng)。當(dāng)發(fā)現(xiàn)該軟件正在運(yùn)行時(shí),您或您的系統(tǒng)管理員應(yīng)該停止并刪除它,并使用 ssh 來代替這些包。

對于特權(quán) FTP 訪問,可以使用 sftp。將 rdist 替換為更高級的 rsync。或者,如果您必須提供匿名 FTP(或通過 HTTP 進(jìn)行下載),請確保使用防火墻硬件和軟件將所有可以公開訪問的計(jì)算機(jī)與敏感的內(nèi)部服務(wù)器隔離。

但是首先,讓我們來討論一下密碼所帶來的討厭的問題。

“您不需要討厭的密碼!

通常,對大多數(shù)計(jì)算機(jī)和服務(wù)的訪問都受到保護(hù)。在有些情況下,進(jìn)行身份驗(yàn)證(從而獲得訪問該系統(tǒng)的權(quán)限)可能需要復(fù)雜的質(zhì)詢-響應(yīng)交換、安全套接字層 (SSL) 證書、甚至生物測定掃描。然而在一般情況下,通過密碼就可以獲得訪問權(quán)限。與您的個(gè)人識別號碼 (PIN) 相同,您的密碼也是保密的,如果您選擇了合適的密碼,那么其他的人將很難猜到它。將您的用戶名和強(qiáng)密碼組合在一起,這樣可以提供足夠的安全性加強(qiáng)。

當(dāng)然,強(qiáng)密碼可能難以記住,并且當(dāng)您需要收集和記住另一個(gè) 8 字符的密鑰(數(shù)字、標(biāo)點(diǎn)符號及其組合)時(shí),情況變得更復(fù)雜。反復(fù)地輸入同一個(gè)密碼會(huì)讓人感到討厭,更糟糕的是,它極大地阻礙了自動(dòng)化的實(shí)現(xiàn)。

正因?yàn)檎J(rèn)識到這些阻礙的存在,所以許多命令行實(shí)用工具都允許您將用戶名和密碼作為命令行參數(shù)。例如,您可以使用下面的命令登錄到一個(gè) FTP 站點(diǎn),而無需進(jìn)行人工干預(yù):

ftp ftp://joe:passwd@www.example.com

然而,使用這種方法可能會(huì)將您的憑據(jù)泄漏給共享該計(jì)算機(jī)的其他用戶。(可以嘗試使用 ps -Aeww,例如,查看完整的命令行和系統(tǒng)中每個(gè)進(jìn)程的環(huán)境。)

為了提供與命令行相同的簡潔性,而又不會(huì)帶來危險(xiǎn),許多程序可以從一個(gè)名為 .netrc(讀做 net-r-c)的文件中讀取您的憑據(jù),該文件通常位于 ~/.netrc 目錄中。您的 .netrc 文件必須僅具有所有者讀寫模式(即模式 0600 或者 -rw-------),并且該文件中的每個(gè)條目都必須遵守下面這種簡單的語法格式:

Machine ftp.example.com login zaphod passWord I()Trillian!machine www.magazine.com login abner password MmG8y*trdefault login anonymous password zaphod@heartofgold.com

前面兩行提供了 machine 關(guān)鍵字和該計(jì)算機(jī)的域名、login 關(guān)鍵字和您在該計(jì)算機(jī)上的登錄名、password 關(guān)鍵字以及緊跟其后的登錄密碼。最后一行中的憑據(jù)為任何沒有專門指定的系統(tǒng)提供了缺省值。default 行必須是您的 .netrc 文件中的最后一行。(有關(guān) .netrc 文件完整的配置選項(xiàng),可以輸入 man 5 netrc 以查看 .netrc 的 man 頁面。)

顯然,如果文件中包含任何標(biāo)識數(shù)據(jù),那么請確保它僅具有用戶讀寫模式(模式 600)或用戶只讀模式(模式 400),以防止意外地覆蓋或刪除該文件。您可能還希望使用模式 700 來保護(hù)您的 home 目錄。

現(xiàn)在,每當(dāng)您啟動(dòng)一個(gè)支持 .netrc 的應(yīng)用程序(包括接下來將要討論的那些應(yīng)用程序)時(shí),會(huì)自動(dòng)地將登錄名和密碼傳遞給所需的服務(wù),而無需通過鍵盤進(jìn)行輸入。通常,您可以使用 -n 選項(xiàng)禁用這種自動(dòng)登錄 特性。

傳遞的過程

除了用于瀏覽 Web 頁面的 HTTP 和基于 SSL 的 HTTP (HTTPS) 外,F(xiàn)TP 是最常用的 Internet 應(yīng)用程序協(xié)議之一。通過 FTP,客戶端可以連接到服務(wù)器、獲取目錄和文件的列表、下載文件(即,從服務(wù)器請求一個(gè)文件)或上傳文件(即,向服務(wù)器發(fā)送一個(gè)文件,以進(jìn)行持久保存)。ftp://ftp.example.com/path/to/anotherfile.zip 和 ftp://user:passWord@ftp.example.com/path/to/file.zip URL 格式表示,使用 FTP 協(xié)議連接到 ftp.example.com 并下載 /path/to/anotherfile.zip 文件。后面的這個(gè) URL 簡單地為登錄添加了相應(yīng)的憑據(jù)。

在大多數(shù)桌面計(jì)算機(jī)中,這兩種 URL 將啟動(dòng)瀏覽器或缺省的 FTP 應(yīng)用程序來下載指定的文件。然而,在 wget 命令行實(shí)用工具中也可以使用相同的 URL,它是一種用于通過 HTTP、HTTPS 和 FTP 進(jìn)行文件下載的健壯的實(shí)用工具。它支持 .netrc 文件,并且無需進(jìn)行交互,對于實(shí)現(xiàn)自動(dòng)化來說,使用它非常合適。如果您的系統(tǒng)中沒有 wget,您可以從 GNU Software Foundation 下載其源代碼。它包含幾個(gè)簡單的命令,適用于所有的 Unix 變種,您可以將這個(gè)實(shí)用工具放到您個(gè)人的 bin 目錄或者某個(gè)中央目錄。

假設(shè)已經(jīng)有了 .netrc 文件,讓我們來研究一些示例,看看 wget 究竟可以完成哪些工作。(在下面的示例中,提供了相應(yīng)的行號以供參考,您不需要輸入這些數(shù)值。)清單 1 顯示了如何在命令行中輕松地使用 wget 來下載文件。

清單 1. 在命令行中使用 wget 下載文件

1 $ wget http://ftp.gnu.org/pub/gnu/wget/wget-1.10.2.tar.gz--16:02:29-- http://ftp.gnu.org/pub/gnu/wget/wget-1.10.2.tar.gz  => `wget-1.10.2.tar.gz'Resolving ftp.gnu.org... 199.232.41.7Connecting to ftp.gnu.org[199.232.41.7]:80... connected.HTTP request sent, awaiting response... 200 OKLength: 1,213,056 [application/x-tar]100%[=====================>] 1,213,056531.22K/s16:02:37 (529.57 KB/s) - `wget-1.10.2.tar.gz' saved [1213056/1213056]2 $ wget -q ftp://mirror.Linux.duke.edu/pub/centos/4.3/os /i386/RELEASE-NOTES-en.HTML3 $ cat url_list.txthttp://www.wikipedia.comhttp://valdez.barebones.com/pub/freeware/TextWrangler_2.1.3.dmg4 $ wget -i -nv url_list.txt16:06:00 URL:http://www.wikipedia.org/ [33606] -> "index.html" [1]16:06:41 URL:http://valdez.barebones.com/pub/freeware/ TextWrangler_2.1.3.dmg [9488296/9488296] -> "TextWrangler_2.1.3.dmg" [1]FINISHED --16:06:41--Downloaded: 9,521,902 bytes in 2 files5 $ lsRELEASE-NOTES-en.html  index.html wget-1.10.2.tar.gzTextWrangler_2.1.3.dmg url_list.txt

命令 1 通過 HTTP 從該項(xiàng)目的主頁下載最新的 wget 源代碼。在缺省情況下,wget 將向您報(bào)告下載的過程。您可以使用 -q(表示 quIEt 模式)選項(xiàng)來禁止所有的消息。命令 2 通過 FTP 獲取 CentOS 的發(fā)布說明,同樣也使用了 quiet 模式。

保持 URL 不變

提示:許多 HTTP URL 中包含一些在 Shell 中有特殊含義的字符。例如,許多 URL 中包含問號 (?),它用來將主機(jī)名和路徑從參數(shù)列表中分隔出來。然而,Shell 卻把問號解釋為通配符。

要阻止 Shell 對其進(jìn)行解釋,只需要將 URL 放在單引號中即可。要避免奇怪的和長文件名,可以使用 wget -o 對輸出文件進(jìn)行命名。這里有一個(gè)示例:

$ wget -o sharkey'http://www.example.com/download.cgi?proj=scIEnce&file=sharkey'

如果有很長的 URL 列表需要進(jìn)行下載,您不需要分別將每個(gè) URL 放到命令行中。相反,您可以創(chuàng)建(或生成)需要進(jìn)行下載的 URL 列表。命令 3 顯示了 url_list.txt 文件,簡單的文本目錄中包含了兩個(gè) URL;命令 4 則對這兩個(gè) URL 進(jìn)行下載。在提供下載列表時(shí),可以使用 -i 選項(xiàng)。-nv 選項(xiàng)(not verbose 的首字母縮寫)則提供更簡潔的消息。

除非您為下載的文件提供了相應(yīng)的文件名(使用 -o 選項(xiàng)),否則 wget 將創(chuàng)建一個(gè)與遠(yuǎn)程文件名稱相同的新的本地文件,而省略前面的 URL 部分。命令 5 顯示了在命令 1 到 3 中下載的 4 個(gè)文件。

wget 實(shí)用工具有許多選項(xiàng)和特性。它可以訪問 FTP 或 Web 站點(diǎn),并下載具有層次結(jié)構(gòu)的所有文件。您還可以為自動(dòng)下載設(shè)置相應(yīng)的配額、提供 cookies、并繼續(xù)進(jìn)行以前被中斷的下載任務(wù)。要了解關(guān)于使用該工具的技巧,請閱讀 wget 的 man 頁面。

進(jìn)行上傳

對于自動(dòng)的下載任務(wù),wget 實(shí)用工具非常有價(jià)值,但是它卻不能用來上傳文件。它也不能夠與安全 FTP、telnet 和大量其他的(更早的和更少使用的)Internet 協(xié)議進(jìn)行互操作。對于這些類型的傳輸工作,您必須使用“瑞士軍刀般銳利的網(wǎng)絡(luò)工具: curl。

curl 命令行實(shí)用工具可以獲取和上傳數(shù)據(jù),所以它非常適合于將本地文件傳輸?shù)竭h(yuǎn)程服務(wù)器。然而更有價(jià)值的是,curl 的基礎(chǔ)是 libcurl 庫,該庫提供了豐富的應(yīng)用程序編程接口 (API),允許您將各種 curl 特性集成到您自己的應(yīng)用程序中。C、C++、PHP 和 Perl,這是許多語言中能夠利用 libcurl 的 4 種編程語言。如果您的系統(tǒng)中沒有 curl 和 libcurl,您可以從 libcurl 主頁下載其源代碼。

因?yàn)?curl 可以將本地文件復(fù)制到遠(yuǎn)程服務(wù)器,所以它非常適合用于完成少量信息的備份工作。例如,清單 2 介紹了一個(gè) Shell 腳本,出于安全考慮,它可以用來將一個(gè)裝滿了數(shù)據(jù)庫轉(zhuǎn)儲(chǔ)信息的目錄復(fù)制到遠(yuǎn)程 FTP 服務(wù)器。

清單 2. 使用 curl 以遠(yuǎn)程的方式保存數(shù)據(jù)庫轉(zhuǎn)儲(chǔ)

foreach db (mydns mysql cms tv radio) /usr/bin/mysqldump --ppassWord --add-drop-table -Q --complete-insert $db > $db.sqlendfind dbs -mtime -1 -type f -name '*.sql' -print | foreach file (`xargs`) curl -n -T $file ftp://ftp1.archive.example.comend

curl -n 命令強(qiáng)制 curl 讀取您的 .netrc 文件。-T 選項(xiàng)告訴 curl 將指定的文件上傳到給定的 URL。如果您省略了目標(biāo)文件名,那么 curl 將簡單地重用上傳文件的名稱。

正如您可能猜測到的,curl 具有比 wget 更多的選項(xiàng)。您需要閱讀 curl 的 man 頁面,并將其記在心中。curl 項(xiàng)目還維護(hù)了一份使用列表,其中包括關(guān)于如何使用 HTTP POST 和 PUT 命令、如何提供登錄憑據(jù)、如何使用 SSL 證書、以及如何調(diào)試 curl 請求的說明。一個(gè)簡單的技巧:嘗試使用 curl -v --trace-ascii ... 來生成跟蹤信息。

六處需要說明的地方

現(xiàn)代計(jì)算任務(wù)的完成在很大程度上依賴于各種型號、規(guī)模和服務(wù)的計(jì)算機(jī)之間無數(shù)的互連。實(shí)際上,即使在一個(gè)小型的計(jì)算環(huán)境中,也可能有一臺(tái)計(jì)算機(jī)專門負(fù)責(zé)電子郵件,另一臺(tái)計(jì)算機(jī)負(fù)責(zé)提供 Web 頁面,而其他的計(jì)算機(jī)則用來執(zhí)行更專門的任務(wù)。在這種環(huán)境中(通常使用局域網(wǎng) (LAN)、WAN 或虛擬專用網(wǎng) (VPN) 進(jìn)行連接),每天都需要登錄到不同的計(jì)算機(jī)。系統(tǒng)管理員需要不停地從一臺(tái)計(jì)算機(jī)轉(zhuǎn)到另一臺(tái)計(jì)算機(jī),但是對于開發(fā)人員和其他的用戶來說,通常則需要登錄到不同的計(jì)算機(jī)以實(shí)現(xiàn)對關(guān)鍵的應(yīng)用程序的遠(yuǎn)程訪問。

X Window System 和現(xiàn)有的桌面軟件使得遠(yuǎn)程訪問變得相當(dāng)透明:窗口僅僅只是窗口,而基礎(chǔ)應(yīng)用程序可以運(yùn)行于任何計(jì)算機(jī)。這里再次說明,即使在這個(gè)以鼠標(biāo)為中心的環(huán)境中,命令行也還是有其一席之地的。例如,如何輕松地在多臺(tái)計(jì)算機(jī)上運(yùn)行相同的命令呢?或者,更簡單地說,如何在遠(yuǎn)程系統(tǒng)中啟動(dòng)一個(gè) xterm 窗口呢?

提供遠(yuǎn)程系統(tǒng)訪問正是 ssh 及其派生工具(scp 和 sftp)的任務(wù)。ssh 是 rsh 的安全版本,而 scp 和 sftp 則分別是 rcp 和 FTP 的安全替代。它為什么是安全的呢?ssh 及其變種提供了更強(qiáng)的身份驗(yàn)證機(jī)制,并使用您所選擇的幾個(gè)密碼對所有的通信內(nèi)容進(jìn)行加密。即使有人探查 您的網(wǎng)絡(luò),ssh 通信數(shù)據(jù)對他們來說也毫無意義。

ssh 最簡單的用法是 ssh hostname。該命令將連接到 hostname,并提示您輸入登錄名和密碼。在提供了正確的憑據(jù)之后,您就可以登錄到系統(tǒng)中:

(www.joe.com) $ ssh web.example.comLogin: arthurPassWord: ******( web.example.com) $ 

如果您只需要在遠(yuǎn)程系統(tǒng)中運(yùn)行一個(gè)命令,那么就不需要進(jìn)行登錄。只需將該命令作為 ssh 的參數(shù)即可。例如,清單 3 中所示的命令用于在遠(yuǎn)程計(jì)算機(jī)上運(yùn)行 hostname -a -v。

清單 3. 使用 ssh 在遠(yuǎn)程系統(tǒng)中運(yùn)行命令

(www.joe.com) $ ssh db.Linux-mag.com hostname -a -vLogin: vogonPassWord: ******dbgethostname()=`db.linux-mag.com'Resolving `db.linux-mag.com' ...Result: h_name=`db.linux-mag.com'Result: h_aliases=`db'Result: h_addr_list=`64.34.170.230'

ssh 建立到 db.linux-mag.com 的連接,然后將 hostname -a -v 參數(shù)傳遞到遠(yuǎn)程計(jì)算機(jī),該參數(shù)將運(yùn)行這個(gè)命令并將輸出返回到本地計(jì)算機(jī)。

ssh 還為將文件和整個(gè)目錄從一臺(tái)計(jì)算機(jī)復(fù)制到另一臺(tái)計(jì)算機(jī)提供了一種便捷的方法。scp 與 cp 一樣很容易使用。這里有一個(gè)示例:

(www.joe.com) $ scp -p -r ~/myproject web.example.com:

這個(gè)命令將 ~/myproject 目錄復(fù)制到 web.example.com。如果您省略了目標(biāo)路徑名,那么將把這些文件復(fù)制到 home 目錄。-p 選項(xiàng)保持所有文件的日期和時(shí)間戳,而 -r 則啟動(dòng)遞歸 模式,這樣一來,scp 將進(jìn)入并復(fù)制所有的子目錄。

順便提一下,前面的 scp 命令等價(jià)于:

(www.joe.com) $ tar czf - ~/myproject | ssh www.example.com tar xvzf -Login: deepthoughtPassword: ******

是的,您可以通過管道將本地命令的輸出傳遞給遠(yuǎn)程命令(反之亦然)。

您可能已經(jīng)厭倦了這些密碼輸入提示。同樣,這些反復(fù)出現(xiàn)的提示將降低工作效率并影響自動(dòng)化的實(shí)現(xiàn)。您也可能厭倦了一次又一次地輸入冗長的用戶名。幸運(yùn)的是,ssh 支持公鑰或私鑰身份驗(yàn)證和系統(tǒng)別名。

下面,讓我們使用 DSA 加密方案來設(shè)置公鑰或私鑰對。要完成這項(xiàng)工作,您必須生成密鑰對,將公鑰復(fù)制到遠(yuǎn)程系統(tǒng),并將它添加到已知密鑰列表中,然后對其進(jìn)行驗(yàn)證,如清單 4 所示。

清單 4. 創(chuàng)建并安裝公鑰或私鑰

1 $ cd ~2 $ mkdir .ssh3 $ chmod 700 .ssh4 $ cd .ssh5 $ ssh-keygen -t dsaGenerating public/private dsa key pair.Enter file in which to save the key (/home/mstreicher/.ssh/id_dsa): ./id_dsaEnter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in ./id_dsa.Your public key has been saved in ./id_dsa.pub.The key fingerprint is:40:6c:26:e7:53:df:d1:7b:c4:79:c5:a8:cd:6b:fe:8e mstreicher@db.Linux-mag.com6 $ lsid_dsa id_dsa.pub7 $ chmod 600 *8 $ scp id_dsa.pub www.example.com:Login: marvinPassWord: ******id_dsa 100% 668 0.7KB/s  00:00 9 $ ssh www.example.comLogin: marvinPassword: ******A $ mkdir .sshB $ chmod 700 .sshC $ cd .sshD $ cat ../id_dsa.pub >> authorized_keysE $ rm ../id_dsa.pubF $ chmod 600 *G $ logout10 $ ssh www.example.coma $ hostnamewww.example.comb $ logout

命令 1 到 3 在您的 home 目錄中創(chuàng)建了一個(gè)名為 .ssh 的私有本地目錄。這個(gè)目錄的模式必須為 700,否則 ssh 無法使用公鑰或私鑰身份驗(yàn)證。(您可以看到,步驟 A 到 C 對遠(yuǎn)程計(jì)算機(jī)運(yùn)行了相同的命令序列。)命令 5 使用 DSA 創(chuàng)建了密鑰對。接下來,保持其中的兩個(gè) Passphrase 為空。(它們提供了額外的安全級別,但卻添加了一項(xiàng)身份驗(yàn)證步驟。)ssh-keygen 生成兩個(gè)文件:id_dsa(私鑰)和 id_dsa.pub(公鑰)。步驟 6 顯示了這些文件,而步驟 7 則對這兩個(gè)密鑰進(jìn)行保護(hù)。您的密鑰的模式必須為 0600 或 0400。

標(biāo)簽: Unix系統(tǒng)
相關(guān)文章:
主站蜘蛛池模板: 毛片大全免费 | 国产成人精品免费视频大全五级 | 黄色性一级片 | 簧片视频在线观看 | 久久青草国产精品一区 | 日韩一区国产二区欧美三 | 国产一区亚洲二区三区毛片 | 草草福利视频 | 在线91精品亚洲网站精品成人 | 亚洲国产精品线播放 | 人人澡人人澡碰人人看软件 | 求免费黄色网址 | 日韩一级高清 | 一级免费看片 | 亚洲国产成人私人影院 | 成人资源在线 | 国产欧美日韩一区二区三区 | 欧美成人26uuu欧美毛片 | 日韩免费一级毛片欧美一级日韩片 | 青青操手机看 | 7m凹凸国产刺激在线视频 | 99久久99这里只有免费的精品 | 国产高清在线精品一区免费97 | 日韩国产三级 | 九草视频在线 | 成人久久伊人精品伊人 | 国产欧美在线视频 | 亚洲在线小视频 | 国产免费拍拍视频在线观看网站 | 日本一级毛片一级裸片 | 亚洲一区二区三区不卡视频 | 91福利视频免费 | 免费视频久久久 | 免费一级毛片不卡在线播放 | 国产h视频在线 | 一级二级黄色片 | 伊人色综合琪琪久久社区 | 亚洲国产日韩欧美高清片a 亚洲国产日韩欧美一区二区三区 | 日韩一级欧美一级在线观看 | 国产精品国内免费一区二区三区 | 真实国产精品视频国产网 |