• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于編碼知識(shí)的關(guān)鍵字搜索在電子數(shù)據(jù)取證中的應(yīng)用

      2020-02-14 05:58:28程琳
      計(jì)算機(jī)時(shí)代 2020年1期

      程琳

      摘 ?要: 隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,電子數(shù)據(jù)在證明案件事實(shí)、擴(kuò)展偵查線索等方面起著越來越重要的作用。電子數(shù)據(jù)取證過程中,往往要對(duì)存儲(chǔ)介質(zhì)底層數(shù)據(jù)進(jìn)行分析,而字符編碼分析、基于編碼知識(shí)的關(guān)鍵字搜索查詢則是其中的重要工作之一。本文結(jié)合常見編碼特點(diǎn)和文件系統(tǒng)存儲(chǔ)原理,從文件名搜索、文件內(nèi)容搜索、郵件內(nèi)容搜索三個(gè)方面對(duì)搜索方法進(jìn)行分析總結(jié)?;诰幋a知識(shí)的關(guān)鍵字搜索能夠有效的解決電子數(shù)據(jù)取證工作中目標(biāo)區(qū)域關(guān)鍵字的存在性問題,提高取證工作的效率。

      關(guān)鍵詞: 電子數(shù)據(jù)取證; 編碼知識(shí); 文件名搜索; 文件內(nèi)容搜索; 郵件內(nèi)容搜索

      中圖分類號(hào):TP391 ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A ? ?文章編號(hào):1006-8228(2020)01-43-04

      Abstract: With the rapid development of computer technology and network technology, digital data plays an increasingly important role in proving the authenticity of cases and expanding investigation clues. The underlying data of storage medium often needs to be analyzed in the process of digital forensics, while character coding analysis and keyword search based on coding knowledge are one of the important things. Combining with the common coding characteristics and file system storage principle, this paper analyzes and summarizes the search methods from three aspects: file name search, file content search and mail content search. The coding knowledge based keyword search can effectively solve the problem of keyword existence in the target area of digital forensics and improve the efficiency of the digital forensics work.

      Key words: digital forensics; coding knowledge; file name search; file content search; email content search

      隨著信息技術(shù)的不斷發(fā)展和法律制度的不斷完善,電子數(shù)據(jù)取證在各類案件中的重要性日益凸顯[1]。電子數(shù)據(jù)取證與鑒定在司法實(shí)踐中的應(yīng)用越來越多,涉及到的行業(yè)領(lǐng)域也越來越廣[2]。在電子數(shù)據(jù)取證過程中,結(jié)合取證工具,靈活運(yùn)用相關(guān)知識(shí),對(duì)取證介質(zhì)進(jìn)行底層的數(shù)據(jù)分析具有非常重要的意義。

      編碼是不同國(guó)家的語(yǔ)言在計(jì)算機(jī)中的一種存儲(chǔ)和解釋規(guī)范。用戶可以在不知道編碼的原則及方法的情況下使用計(jì)算機(jī),但對(duì)于電子數(shù)據(jù)取證從業(yè)人員來講,學(xué)習(xí)和掌握編碼知識(shí)是至關(guān)重要的,字符編碼、文件存儲(chǔ)原理等知識(shí)的不足有可能造成對(duì)電子數(shù)據(jù)分析不夠全面透徹,也有可能錯(cuò)失一些線索。在電子數(shù)據(jù)取證過程中,關(guān)鍵字搜索查詢是一項(xiàng)重要的常規(guī)工作,只有理解和掌握相關(guān)知識(shí),熟悉字符集的各項(xiàng)標(biāo)準(zhǔn),理解大小端字節(jié)順序,理解文件系統(tǒng)存儲(chǔ)原理,確定正確的搜索和解析方案,才能從數(shù)據(jù)底層進(jìn)行分析判斷,從而發(fā)現(xiàn)線索,解決相關(guān)問題。

      1 編碼基礎(chǔ)知識(shí)

      1.1 常見字符編碼

      ASCII碼即美國(guó)信息交換標(biāo)準(zhǔn)碼,是使用最廣泛的編碼之一,適用于所有的拉丁文字字母。ASCII碼可以表示128個(gè)字符,其中包括數(shù)字0-9、大小寫英文字母、標(biāo)點(diǎn)符號(hào)、運(yùn)算符和控制碼等。

      我國(guó)于1980年制定了國(guó)家標(biāo)準(zhǔn)GB2312-80《信息交換用漢字編碼字符集·基本集》。GB2312收錄了絕大部分常用漢字,得到了最廣泛的支持,但是它并不包含人名、古漢語(yǔ)等方面出現(xiàn)的罕用字。

      GBK是雙字節(jié)表示的漢字內(nèi)碼擴(kuò)展規(guī)范,它的收錄范圍包括GB2312中的全部符號(hào)、BIG5中的全部漢字、與ISO 10646相對(duì)應(yīng)的國(guó)家標(biāo)準(zhǔn)GB13000中的其它CJK漢字等。

      GB18030可以看成GBK的超集,它的收錄范圍擴(kuò)展到國(guó)內(nèi)少數(shù)民族的文字、繁體漢字以及日韓漢字,編碼空間龐大。從ASCII、GB2312、GBK到GB18030,這些編碼方法是向下兼容的。

      Unicode是國(guó)際組織制定的字符編碼方案,能夠使計(jì)算機(jī)實(shí)現(xiàn)跨語(yǔ)言、跨平臺(tái)的文本轉(zhuǎn)換及處理。UTF-8是在互聯(lián)網(wǎng)上使用最廣泛的一種Unicode實(shí)現(xiàn)方式,它由Unicode編碼變形而來。Unicode對(duì)應(yīng)UTF-8編碼方式如表1所示。

      1.2 郵件編碼

      早期的一些郵件傳輸協(xié)議不允許在郵件消息中使用ASCII碼字符集以外的字符。MIME(Multipurpose Internet Mail Extensions)擴(kuò)展了電子郵件標(biāo)準(zhǔn),使其能夠支持非ASCII字符文本、非文本格式的附件等多種格式的郵件消息。Base64與QP(Quoted-Printable)是兩種基本的MIME內(nèi)容傳輸編碼。

      Base64的原理是將一組連續(xù)的字節(jié)數(shù)據(jù)按6個(gè)bit位進(jìn)行分組,每組數(shù)據(jù)用一個(gè)ASCII字符來表示。具體實(shí)現(xiàn)時(shí)使用64個(gè)ASCII字符來對(duì)應(yīng)這64個(gè)數(shù)值,這64個(gè)ASCII字符為:

      ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/,這樣將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成可打印的ASCII字符。

      QP編碼的原理與Base64不同,它對(duì)ASCII字符不進(jìn)行轉(zhuǎn)換,只對(duì)非ASCII字符的數(shù)據(jù)進(jìn)行編碼轉(zhuǎn)換,每個(gè)非ASCII字符的字節(jié)數(shù)據(jù),都被轉(zhuǎn)換成一個(gè)“=”號(hào)后跟這個(gè)字節(jié)的十六進(jìn)制數(shù)據(jù)。

      1.3 字節(jié)順序

      字節(jié)順序是指內(nèi)存中字節(jié)的排列,操作系統(tǒng)并不負(fù)責(zé)指定字節(jié)順序,字節(jié)順序是基于CPU技術(shù)的[3]。通常有小端、大端兩種字節(jié)順序。在小端字節(jié)序中,高字節(jié)數(shù)據(jù)存放在內(nèi)存高地址處,低字節(jié)數(shù)據(jù)存放在內(nèi)存低地址處,而大端字節(jié)序正好相反。例如編碼“6C49”,對(duì)應(yīng)的大端存儲(chǔ)順序?yàn)椤?C49”,而小端存儲(chǔ)順序則是“496C”,大端和我們從左到右的習(xí)慣是一致的,小端則不同。在取證分析中要搞清楚數(shù)據(jù)是以什么樣的字節(jié)順序存儲(chǔ)的,讀取時(shí)要按照相應(yīng)的字節(jié)順序讀取,這樣才能保證解析出來的數(shù)據(jù)準(zhǔn)確無誤。

      2 文件名關(guān)鍵字搜索

      文件名關(guān)鍵字搜索是介質(zhì)取證中非常重要的一部分內(nèi)容,對(duì)于系統(tǒng)中不能正常顯示或打開的文件,以及徹底刪除的文件,在存儲(chǔ)介質(zhì)的底層數(shù)據(jù)中利用字符編碼知識(shí)及文件系統(tǒng)存儲(chǔ)原理查找文件名的存儲(chǔ)管理項(xiàng)目,從而找到文件的存儲(chǔ)位置,在沒有被新的數(shù)據(jù)覆蓋之前可以提取文件內(nèi)容。

      2.1 FAT32文件系統(tǒng)文件名搜索

      FAT32文件系統(tǒng)中,每個(gè)文件或目錄都分配有一個(gè)大小為32字節(jié)的短文件名目錄項(xiàng),即文件目錄表FDT,用以描述文件或目錄的屬性。短文件名目錄項(xiàng)具體的記錄方式如圖1,它記錄著文件的文件名、擴(kuò)展名、起始存儲(chǔ)單元、文件的屬性、文件的大小、創(chuàng)建時(shí)間等信息。

      短文件名目錄項(xiàng)的偏移0-7字節(jié)記錄文件的主文件名,8-A字節(jié)記錄文件的擴(kuò)展名,取GBK碼值。主文件名與擴(kuò)展名之間的“.”不予記錄,主文件名不足8個(gè)字符、擴(kuò)展名不足3個(gè)字符均以空白字符20H填充。文件刪除后,短文件名目錄項(xiàng)0偏移處的值變?yōu)镋5H。

      當(dāng)文件名超過8個(gè)字符,系統(tǒng)取前6個(gè)加上“~1”形成短文件名,擴(kuò)展名不變,同時(shí)在短文件名目錄項(xiàng)的前方創(chuàng)建相對(duì)應(yīng)的長(zhǎng)文件名目錄項(xiàng)。長(zhǎng)文件名目錄項(xiàng)采用Unicode編碼記錄完整的文件名。一個(gè)長(zhǎng)文件名目錄項(xiàng)能記錄13個(gè)Unicode字符,若超過13個(gè),系統(tǒng)會(huì)在此目錄項(xiàng)的前方再增加一個(gè)兩行的長(zhǎng)文件名目錄項(xiàng),如果還不夠則繼續(xù)增加,直到能夠存儲(chǔ)下文件的完整文件名為止。多個(gè)長(zhǎng)文件名目錄項(xiàng)代表同一個(gè)文件,它們之間就會(huì)存在一個(gè)校驗(yàn)和,通過這個(gè)校驗(yàn)和,可以將其與對(duì)應(yīng)的短文件名目錄項(xiàng)關(guān)聯(lián)起來[4]。長(zhǎng)文件名記錄格式如圖2所示。

      2.1.1 短文件名關(guān)鍵字搜索方法

      根據(jù)短文件名目錄項(xiàng)存儲(chǔ)原理,短文件名在存儲(chǔ)時(shí)采用的是GBK編碼,如果文件名中含有英文字符,不論用戶設(shè)置的是大寫還是小寫,在短文件名目錄項(xiàng)中存儲(chǔ)的都是大寫,搜索時(shí)應(yīng)先將短文件名中的英文字母轉(zhuǎn)化為大寫,再獲取短文件名的GBK編碼,文件已刪除則將第一個(gè)字節(jié)改為E5。例如硬盤上原來存儲(chǔ)有某公司的財(cái)務(wù)報(bào)表,對(duì)應(yīng)名稱為“恒勝科技公司第一季度財(cái)務(wù)報(bào)表.xlsx”,已被刪除,可以采用短文件名搜索,短文件名存儲(chǔ)取前三個(gè)漢字,后面加上“~1”,同時(shí)英文字符轉(zhuǎn)化為大寫,即為“恒勝科~1.XLS”,刪除后文件目錄項(xiàng)首字節(jié)變?yōu)镋5H,因此在搜索時(shí)應(yīng)將搜索條件設(shè)為“E5E3CAA4BFC67E31584C53”。根據(jù)此搜索條件找到已刪除文件的目錄項(xiàng),同時(shí)結(jié)合文件分配表即可找到文件的存儲(chǔ)簇鏈,在此位置如果沒有寫入新的數(shù)據(jù),則可以提取被刪文件的內(nèi)容。

      2.1.2 長(zhǎng)文件名關(guān)鍵字搜索方法

      根據(jù)長(zhǎng)文件名目錄項(xiàng)的記錄規(guī)則,1個(gè)長(zhǎng)文件名目錄項(xiàng)存儲(chǔ)13個(gè)文件名字符,并采用Unicode編碼[5]。需注意在長(zhǎng)文件名目錄項(xiàng)的兩行數(shù)據(jù)中記錄的文件字符位置不完全連在一起。在搜索過程中,可以根據(jù)規(guī)則來構(gòu)建長(zhǎng)文件名目錄項(xiàng)。

      若有某公司四個(gè)季度的財(cái)務(wù)報(bào)表,名稱分別為“恒勝科技公司第一季度財(cái)務(wù)報(bào)表.xlsx、恒勝科技公司第二季度財(cái)務(wù)報(bào)表.xlsx、恒勝科技公司第三季度財(cái)務(wù)報(bào)表.xlsx、恒勝科技公司第四季度財(cái)務(wù)報(bào)表.xlsx”,四個(gè)文件已被刪除。欲搜索“恒勝科技公司第三季度財(cái)務(wù)報(bào)表.xlsx”,可采用如下策略進(jìn)行長(zhǎng)文件名搜索,首先獲取文件名的Unicode編碼“5260DC80D 17980626C51F8532C7B094E635BA65E228DA152A56268882E0078006C0073007800”,接著構(gòu)建它的長(zhǎng)文件名項(xiàng)目,將文件名的第1-5、6-11、12-13個(gè)字符的編碼復(fù)制到對(duì)應(yīng)位置,文件若已刪除,第0字節(jié)改為E5,其余地方填充3F,最后搜索的十六進(jìn)制數(shù)值為“E55260DC80D17980626C513F3F3FF8532C7B094E635BA65E228D3F3FA152A562”,3F在搜索時(shí)作為通配符出現(xiàn)。找到長(zhǎng)文件名目錄之后,緊挨著的下方是短文件名目錄項(xiàng),真正有價(jià)值的是短文件名目錄項(xiàng)中文件存儲(chǔ)的起始位置,同理,結(jié)合文件分配表可以提取文件數(shù)據(jù)內(nèi)容。

      以上搜索時(shí)需要注意的是,如果在不同目錄下存在同名文件,則要首先搜索父目錄的文件名,找到對(duì)應(yīng)存儲(chǔ)簇號(hào),再轉(zhuǎn)到相應(yīng)的簇,在此簇中搜索已刪除的文件名。理解短文件名、長(zhǎng)文件名所采用的編碼及存儲(chǔ)原理后,可以根據(jù)情況靈活設(shè)置搜索條件,找到所需要的數(shù)據(jù)。

      2.2 NTFS文件系統(tǒng)文件名搜索

      NTFS分區(qū)中設(shè)置了一個(gè)文件管理機(jī)構(gòu),即主控文件表MFT,所有的文件相關(guān)的信息都保存在MFT中。NTFS文件系統(tǒng)視每個(gè)文件為一個(gè)文件屬性的集合,文件名、文件大小、文件的父目錄、文件時(shí)間標(biāo)記等都是文件的屬性。MFT是一個(gè)與文件相對(duì)應(yīng)的文件屬性數(shù)據(jù)庫(kù),它記錄了除文件數(shù)據(jù)信息以外的屬性,甚至當(dāng)文件內(nèi)容很短時(shí),其內(nèi)容直接在MFT的數(shù)據(jù)屬性中存放[6]。

      在NTFS文件系統(tǒng)定義的主要文件屬性中,30H屬性用于存儲(chǔ)文件名,80H屬性存儲(chǔ)文件數(shù)據(jù)相關(guān)信息。30H屬性結(jié)構(gòu)如圖3所示。通過搜索文件名找到30H屬性位置,緊挨著下方可以找到80H屬性中的文件數(shù)據(jù)或數(shù)據(jù)存儲(chǔ)索引。

      例如搜索已經(jīng)刪除的文件“恒勝科技公司第三季度財(cái)務(wù)報(bào)表.xlsx”,可以先定位到$MFT的位置,再查找文件名對(duì)應(yīng)的Unicode編碼“5260DC80D 17980626C51F8532C7B094E635BA65E228DA152A56268882E0078006C0073007800”,定位到要找的文件記錄位置,再通過其80H屬性找到數(shù)據(jù)運(yùn)行,最后確定文件存儲(chǔ)的簇號(hào)索引。在搜尋一個(gè)文件記錄項(xiàng)的時(shí)候,除了判斷是否是合法的文件記錄項(xiàng)外,還要判斷搜尋的文件所處的文件夾位置是否正確??梢韵扔浵滤褜の募母改夸浢?,然后搜尋到父目錄的文件記錄項(xiàng),記下MFT編號(hào),再搜尋文件的MFT記錄項(xiàng),查看30H屬性中父目錄的編號(hào)是否和記下的一致,如果一致則說明找到的文件正確。

      3 文件內(nèi)容搜索

      文件內(nèi)容搜索是存儲(chǔ)介質(zhì)目標(biāo)區(qū)域取證的一項(xiàng)常規(guī)工作,很多時(shí)候我們需要搜索存儲(chǔ)介質(zhì)中底層的文件內(nèi)容,根據(jù)常用的編碼特點(diǎn)和相關(guān)知識(shí)可以構(gòu)造一個(gè)查詢字典,以提高查詢的成功率。例如,我們需要查詢一個(gè)硬盤的文件內(nèi)容中是否存在關(guān)鍵字“望江西路559號(hào)”,可采用如下方法進(jìn)行搜索:

      使用“望江西路559號(hào)”GBK編碼的16進(jìn)制值:CDFBBDADCEF7C2B7353539BAC5;

      使用“望江西路559號(hào)”Unicode編碼的16進(jìn)制值:671B6C5F897F8DEF00350035003953F7;

      使用“望江西路559號(hào)”UTF-8編碼的16進(jìn)制值:E69C9BE6B19FE8A5BFE8B7AF353539E58FB7。

      數(shù)字和英文字符如果采用的是全角字符,則要采用以下編碼:

      使用“望江西路559號(hào)”GBK編碼的16進(jìn)制值:CDFBBDADCEF7C2B7A3B5A3B5A3B9BAC5;

      使用“望江西路559號(hào)”Unicode編碼的16進(jìn)制值:671B6C5F897F8DEFFF15FF15FF1953F7;

      使用“望江西路559號(hào)”UTF-8編碼的16進(jìn)制值:E69C9BE6B19FE8A5BFE8B7AFEFBC95EFBC95EFBC99E58FB7。

      具體搜索過程中,字符編碼應(yīng)靈活設(shè)置,同時(shí)考慮多種因素,如各種編碼特點(diǎn)、全半角字符、大小端字節(jié)序、空格等。

      4 郵件內(nèi)容搜索

      在Internet電子郵件標(biāo)準(zhǔn)MIME中,主要有兩種編碼方式:Base64與QP編碼。例如,我們需要查詢郵件中是否存在關(guān)鍵字“望江西路559號(hào)”,可將編碼分成常見的這兩類來查詢。

      4.1 Base64編碼

      Base64編碼原理是將3個(gè)8位字節(jié)的數(shù)據(jù)轉(zhuǎn)化為4個(gè)6位字節(jié)的數(shù)據(jù),如果8位字節(jié)數(shù)據(jù)的字節(jié)個(gè)數(shù)不能被3整除,在最后添加幾個(gè)為0的bit位來湊成6個(gè)bit位;如果編碼后文本的字符個(gè)數(shù)不是4的整數(shù)倍,則需在最后填充“=”字符來湊成4的倍數(shù)。

      將關(guān)鍵字“望江西路559號(hào)”轉(zhuǎn)換為GBK編碼,CDFBBDADCEF7C2B7353539BAC5,根據(jù)此GBK編碼我們可以生成三個(gè)特征編碼。若從開始部分到此關(guān)鍵字的字節(jié)數(shù)剛好為3的整數(shù)倍,將它轉(zhuǎn)換為編碼zfu9rc73wrc1NTm6xQ==,因?yàn)椴恢狸P(guān)鍵字后面的字符,最后的Q有可能會(huì)參與下一個(gè)字節(jié)的編碼,所以我們?nèi)サ簟癚==”,最后采用的第一個(gè)特征編碼為:zfu9rc73wrc1NTm6x;若從開始部分到此關(guān)鍵字的字節(jié)數(shù)除以3余數(shù)為1時(shí),“望”與前面的字符構(gòu)成一組三字節(jié)并進(jìn)行編碼,直接取“江西路559號(hào)”對(duì)應(yīng)的Base64編碼va3O98K3NTU5usU=,同理取第二個(gè)特征編碼va3O98K3NTU5us;若從開始部分到此關(guān)鍵字的字節(jié)數(shù)除以3余數(shù)為2時(shí),“望”的高位字節(jié)與前面的字符構(gòu)成一組三字節(jié)并進(jìn)行編碼,則使用第三個(gè)特征編碼+72tzvfCtzU1ObrF。

      4.2 QP編碼

      QP編碼原理相對(duì)簡(jiǎn)單,對(duì)ASCII字符不進(jìn)行轉(zhuǎn)換,非ASCII字符的字節(jié)數(shù)據(jù)轉(zhuǎn)換成“=”號(hào)后跟這個(gè)字節(jié)的十六進(jìn)制數(shù)據(jù)。根據(jù)它的編碼原理,關(guān)鍵字“望江西路559號(hào)”使用GBK編碼轉(zhuǎn)換成QP編碼,為“=CD=FB=BD=AD=CE=F7=C2=B7559=BA=C5”,使用UTF-8編碼轉(zhuǎn)換成QP編碼,則是“=E6=9C=9B=E6=B1=9F=E8=A5=BF=E8=B7=AF559=E5=8F=B7”。

      5 結(jié)束語(yǔ)

      基于不同編碼方式的關(guān)鍵字搜索查詢是電子數(shù)據(jù)取證中底層數(shù)據(jù)分析的重要部分,不同的編碼方式、不同的存儲(chǔ)原理對(duì)應(yīng)不同的搜索方法。本文在常見編碼特點(diǎn)和文件存儲(chǔ)原理的基礎(chǔ)上,對(duì)文件名搜索、文件內(nèi)容搜索、郵件內(nèi)容搜索進(jìn)行了分析總結(jié),本文不可能分析所有編碼,而是為相應(yīng)的搜索方法提供了思路。當(dāng)有新的編碼方式,必須深入研究編碼方式和對(duì)應(yīng)的存儲(chǔ)原理,找到對(duì)應(yīng)的搜索方法,才能夠提高查詢的準(zhǔn)確度和成功率。

      參考文獻(xiàn)(References):

      [1] 劉金波,郝萬里,麥永浩.電子數(shù)據(jù)取證的復(fù)雜度研究[J].計(jì)算機(jī)科學(xué),2016.(B12):127-129

      [2] 金波,楊濤,吳松洋等. 電子數(shù)據(jù)取證與鑒定發(fā)展概述[J]. 中國(guó)司法鑒定,2016.1:62-74

      [3] 劉浩陽(yáng).字節(jié)順序在計(jì)算機(jī)取證中的應(yīng)用[J].警察技術(shù),2012.2:43-45

      [4] 劉偉.數(shù)據(jù)恢復(fù)技術(shù)深度揭秘(第二版)[M].北京:電子工業(yè)出版社,2016.

      [5] 黃步根,趙兵.關(guān)鍵詞搜索漏判研究[J].信息網(wǎng)絡(luò)安全,2013.4:70-71

      [6] 高洪濤,李孟林,趙璇元.基于NTFS文件系統(tǒng)的數(shù)據(jù)恢復(fù)編程技術(shù)[J].信息安全與技術(shù),2015.6:33-36

      日土县| 呼和浩特市| 重庆市| 策勒县| 时尚| 古浪县| 长春市| 观塘区| 石林| 宿松县| 中宁县| 沽源县| 靖江市| 宁强县| 湖州市| 黄大仙区| 云阳县| 巴林左旗| 大余县| 孝感市| 汾阳市| 前郭尔| 贵港市| 西畴县| 郧西县| 福安市| 桑日县| 集贤县| 肥西县| 文安县| 稻城县| 台南市| 长子县| 湟源县| 建始县| 贡山| 万州区| 阳朔县| 易门县| 定西市| 犍为县|