• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            jeromewen

            努力中
            隨筆 - 9, 文章 - 0, 評(píng)論 - 22, 引用 - 0
            數(shù)據(jù)加載中……

            Nids.h詳細(xì)注釋

            #ifndef _NIDS_NIDS_H

            #define _NIDS_NIDS_H

            #define NIDS_MAJOR 1???? /* 主版本號(hào) */

            #define NIDS_MINOR 20??? /* 次版本號(hào) */

            #include <sys/types.h>

            enum

            {

            ? NIDS_WARN_IP = 1,????? /* 表示 IP 數(shù)據(jù)包異常 */

            ? NIDS_WARN_TCP,???????? /* 表示 TCP 數(shù)據(jù)包異常 */

            ? NIDS_WARN_UDP,??????? /* 表示 UDP 數(shù)據(jù)包異常 */

            ? NIDS_WARN_SCAN ?????? /* 表示有掃描攻擊發(fā)生 */

            };

            ?

            enum

            {

            ? NIDS_WARN_UNDEFINED = 0,???? /* 表示未定義 */

            ? NIDS_WARN_IP_OVERSIZED,?????? /* 表示 IP 數(shù)據(jù)包超長(zhǎng) */

            ? NIDS_WARN_IP_INVLIST,????????????? /* 表示無(wú)效的碎片隊(duì)列 */

            ? NIDS_WARN_IP_OVERLAP,?????????? /* 表示發(fā)生重疊 */

            ? NIDS_WARN_IP_HDR,?????????? /* 表示無(wú)效 IP 首部 ,IP 數(shù)據(jù)包發(fā)生異常 */

            ? NIDS_WARN_IP_SRR,???????????? /* 表示源路由 IP 數(shù)據(jù)包 */

            ? NIDS_WARN_TCP_TOOMUCH,??? /* 表示 TCP 數(shù)據(jù)個(gè)數(shù)太多 , 因?yàn)樵?/span> Libnids 中在同一時(shí)刻捕獲的 TCP 個(gè)數(shù)最大值為 TCP 連接參數(shù)的哈西表長(zhǎng)度的 3/4*/

            ? NIDS_WARN_TCP_HDR,???????????????? /* 表示無(wú)效 TCP 首部 ,TCP 數(shù)據(jù)包發(fā)生異常 */

            ? NIDS_WARN_TCP_BIGQUEUE,???? /* 表示 TCP 接受的隊(duì)列數(shù)據(jù)過(guò)多 */

            ? NIDS_WARN_TCP_BADFLAGS ???? /* 表示錯(cuò)誤標(biāo)記 */

            };

            ?

            /*Libnids 狀態(tài)描述的是連接的邏輯狀態(tài) , 真正的 TCP 連接狀態(tài)有 11 .

            ?*TCP_ESTABLISHED?????? TCP 連接建立 , 開(kāi)始傳輸數(shù)據(jù)

            ?*TCP_SYN_SEND???????????? 主動(dòng)打開(kāi)

            ?*TCP_SYN_RECV???????????? 接受 SYN

            ?*TCP_FIN_WAIT1

            ?*TCP_FIN_WAIT2

            ?*TCP_TIME_WAIT

            ?*TCP_CLOSE

            ?*TCP_CLOSE_WAIT

            ?*TCP_LAST_ACK

            ?*TCP_LISTEN

            ?*TCP_CLOSING

            ?*/

            #define NIDS_JUST_EST 1?????????? /* 表示 TCP 連接建立 , 在此狀態(tài)下就可以決定是否對(duì)此 TCP 連接進(jìn)行數(shù)據(jù)分析 , 可以決定是否捕獲 TCP 客戶端接收的數(shù)據(jù) ,TCP 服務(wù)端接收的數(shù)據(jù) ,TCP 客戶端接收的緊急數(shù)據(jù)或者 TCP 客戶端接收的緊急數(shù)據(jù) */

            #define NIDS_DATA 2????????????????? /* 表示接收數(shù)據(jù)的狀態(tài) , 在這個(gè)狀態(tài)可以判斷是否有新的數(shù)據(jù)到達(dá) , 如果有就可以把數(shù)據(jù)存儲(chǔ)起來(lái) , 可以在這個(gè)狀態(tài)之中來(lái)分析 TCP 傳輸?shù)臄?shù)據(jù) , 此數(shù)據(jù)就存儲(chǔ)在 half_stream 數(shù)據(jù)接口的緩存之中 */

            #define NIDS_CLOSE 3???????????????? /* 表示 TCP 連接正常關(guān)閉 */

            #define NIDS_RESET 4???????????????? /* 表是 TCP 連接被重置關(guān)閉 */

            #define NIDS_TIMED_OUT 5???? /* 表示由于超時(shí) TCP 連接被關(guān)閉 */

            #define NIDS_EXITING?? 6?????? /* 表示 Libnids 正在退出 , 在這個(gè)狀態(tài)下可以最后一次使用存儲(chǔ)在 half_stream 數(shù)據(jù)結(jié)構(gòu)中的緩存數(shù)據(jù) */

            ?

            /* 校驗(yàn)和 */

            #define NIDS_DO_CHKSUM? 0????????? /* 表示告訴 Libnids 要計(jì)算校驗(yàn)和 */

            #define NIDS_DONT_CHKSUM 1?????? /* 表示告訴 Libnids 不要計(jì)算校驗(yàn)和 */

            ?

            struct tuple4???????????????? /* 描述一個(gè)地址端口對(duì) , 它表示發(fā)送發(fā) IP 和端口以及接收方 IP 和端口 , 適用 TCP,UDP*/

            {

            ? u_short source;???????? /* IP 地址的端口號(hào) */

            ? u_short dest;??????????? /* 目的 IP 地址的端口號(hào) */

            ? u_int saddr;????????????? /* IP 地址 */

            ? u_int daddr;????????????? /* 目的 IP 地址 */

            };

            ?

            struct half_stream??????? /* 描述在 TCP 連接中一端的所有信息 , 可以是客戶端 , 也可以是服務(wù)端 */

            {

            ? char state;???????????????? /* 表示套接字的狀態(tài) , 也就是 TCP 的狀態(tài) */

            ? char collect;????????????? /* 可以表示有數(shù)據(jù)到達(dá) , 此數(shù)據(jù)存放在 data 成員中 , 也可以表示不存儲(chǔ)此數(shù)據(jù)到 data , 此數(shù)據(jù)忽略 . 如果大于 0 就存儲(chǔ) , 否則就忽略 */

            ? char collect_urg;?????? /* 可以表示有緊急數(shù)據(jù)到達(dá) , 此數(shù)據(jù)就存放在 urgdata , 也可以表示不存儲(chǔ)此數(shù)據(jù)到 urgdata , 此速數(shù)據(jù)忽略 . 如果大于 0 就存儲(chǔ) , 否則就忽略 */

            ?

            ? char *data;??????????????? /* 用戶存儲(chǔ)正常接受到的數(shù)據(jù) */

            ? int offset;????????????????? /* 表示存儲(chǔ)在 data 中數(shù)據(jù)的第一個(gè)字節(jié)的偏移量 */

            ? int count;????????????????? /* 表示從 TCP 連接開(kāi)始已經(jīng)存儲(chǔ)到 data 中的數(shù)據(jù)的字節(jié)數(shù) */

            ? int count_new;???????? /* 有多少新的數(shù)據(jù)存儲(chǔ)到 data , 如果為 0, 則表示沒(méi)有新的數(shù)據(jù)到達(dá) */

            ? int bufsize;

            ? int rmem_alloc;

            ?

            ? int urg_count;? /* 用來(lái)存儲(chǔ)緊急數(shù)據(jù) */

            ? u_int acked;????

            ? u_int seq;

            ? u_int ack_seq;

            ? u_int first_data_seq;

            ? u_char urgdata;

            ? u_char count_new_urg;???? /* 表示有新的緊急數(shù)據(jù)到達(dá) , 如果為 0 表示沒(méi)有新的緊急數(shù)據(jù) */

            ? u_char urg_seen;??????

            ? u_int urg_ptr;

            ? u_short window;?????

            ? u_char ts_on;

            ? u_char wscale_on;

            ? u_int curr_ts;

            ? u_int wscale;

            ? struct skbuff *list;

            ? struct skbuff *listtail;

            };

            ?

            struct tcp_stream???????? /* 描述一個(gè) TCP 連接的所有信息 */

            {

            ? struct tuple4 addr;

            ? char nids_state;

            ? struct lurker_node *listeners;

            ? struct half_stream client;?? /* 表示客戶端信息 */

            ? struct half_stream server;? /* 表示服務(wù)端信息 */

            ? struct tcp_stream *next_node;

            ? struct tcp_stream *prev_node;

            ? int hash_index;

            ? struct tcp_stream *next_time;

            ? struct tcp_stream *prev_time;

            ? int read;

            ? struct tcp_stream *next_free;

            };

            ?

            struct nids_prm??????????? /* 描述了 Libnids 的一些全局參數(shù)信息 */

            {

            ? int n_tcp_streams;?? /* 表示哈西表大小 , 此哈西表用來(lái)存放 tcp_stream 數(shù)據(jù)結(jié)構(gòu) , 默認(rèn)值 1040. 在同一時(shí)刻 Libnids 捕獲的 TCP 數(shù)據(jù)包的最大個(gè)數(shù)必須是此參數(shù)值的 3/4*/

            ? int n_hosts;????????????? /* 表示哈西表的大小 , 此哈西表用來(lái)存儲(chǔ) IP 碎片信息的 , 默認(rèn)值為 256*/

            ? char *device;?? /* 表示網(wǎng)絡(luò)接口 ,Libnids 將在此網(wǎng)絡(luò)接口上捕獲數(shù)據(jù) , 默認(rèn)值為 NULL. 這樣 Libnids 將使用 pcap_lookupdev 來(lái)查找可以用的網(wǎng)絡(luò)接口 . 如果其值為 all, 表示捕獲所有網(wǎng)絡(luò)接口的數(shù)據(jù) */

            ? char *filename;???????? /* 表示用來(lái)存儲(chǔ)網(wǎng)絡(luò)數(shù)據(jù)的捕獲文件 , 此文件的類型必須與 Libpcap 類型一致 , 如果設(shè)置了文件 , 與此同時(shí)就應(yīng)該設(shè)置 device NULL, 默認(rèn)值為 NULL*/

            ? int sk_buff_size;????? /* 表示的是數(shù)據(jù)接口 sk_buff 的大小 .sk_buff Linux 內(nèi)核中一個(gè)重要的數(shù)據(jù)結(jié)構(gòu) , 是用來(lái)進(jìn)行數(shù)據(jù)包排隊(duì)操作的 , 默認(rèn)值為 168*/

            ? int dev_addon;????????? /* 表示在數(shù)據(jù)結(jié)構(gòu) sk_buff 中用于網(wǎng)絡(luò)接口上信息的字節(jié)數(shù) . 如果是 -1( 默認(rèn)值 ), 那么 Libnids 會(huì)根據(jù)不同的網(wǎng)絡(luò)接口進(jìn)行修正 */

            ? void (*syslog) ();????? /* 是一個(gè)函數(shù)指針 , 默認(rèn)值為 nids_syslog() 函數(shù) . syslog 函數(shù)中可以檢測(cè)入侵攻擊 , 如網(wǎng)絡(luò)掃描攻擊 , 也可以檢測(cè)一些異常情況 , 如無(wú)效 TCP 標(biāo)記 */

            ? int syslog_level;?????? /* 表示日志等級(jí) , 默認(rèn)值是 LOG_ALERT*/

            ? int scan_num_hosts;????????? /* 表示一個(gè)哈西表的大小 ,( 此哈西表用來(lái)存儲(chǔ)端口掃描信息 ) 表示 Libnids 將要檢測(cè)的同時(shí)掃描的端口數(shù)據(jù) . 如果其值為 0,Libnids 將不提供端口掃描功能 . 默認(rèn)值 256*/

            ? int scan_delay;???????? /* 表示在掃描檢測(cè)中 , 倆端口掃描的間隔時(shí)間 , 以毫秒來(lái)計(jì)算 , 缺省值為 3000*/

            ? int scan_num_ports;????????? /* 表示相同源地址必須掃描的 TCP 端口數(shù)目 , 默認(rèn)值為 10*/

            ? void (*no_mem) (char *);? /* 是一個(gè)函數(shù)指針 , 當(dāng) Libnids 發(fā)生內(nèi)存溢出時(shí)被調(diào)用 */

            ? int (*ip_filter) ();????? /* 是一個(gè)函數(shù)指針 , 此函數(shù)可以用來(lái)分析 IP 數(shù)據(jù)包 , 當(dāng)有 IP 數(shù)據(jù)包到達(dá)時(shí) , 此函數(shù)就被調(diào)用 . 如果此函數(shù)返回非零值 , 此數(shù)據(jù)包就被處理 ; 如果返回零 , IP 數(shù)據(jù)包就被丟棄 . 默認(rèn)值為 nids_ip_filter 函數(shù) , 總是返回 1.*/

            ? char *pcap_filter;???? /* 表示過(guò)濾規(guī)則 , Libpcap 的過(guò)濾規(guī)則 , 默認(rèn)值為 NULL, 表示捕獲所有數(shù)據(jù)包 . 可以在此設(shè)置過(guò)濾規(guī)則 , 只捕獲感興趣的開(kāi)發(fā)包 */

            ? int promisc;????????????? /* 表示網(wǎng)卡模式 , 如果是非零 , 就把此網(wǎng)卡設(shè)置為混雜模式 ; 否則 , 設(shè)為非混雜模式 . 默認(rèn)值為 1*/

            ? int one_loop_less;??? /* 初始值為 0*/

            ? int pcap_timeout;???? /* 表示捕獲數(shù)據(jù)返回的時(shí)間 , 以毫秒計(jì)算 . 實(shí)際上它表示的就是 Libpcap 函數(shù)中的 pcap_open_live 函數(shù)的 timeout 參數(shù) , 默認(rèn)值 1024*/

            };

            ?

            /*

            ?* 返回值 : 調(diào)用成功返回 1, 失敗返回 0

            ?* ? 數(shù) : 無(wú)

            ?* ? : 對(duì) Libnids 初始化 , 這是所有設(shè)計(jì)基于 Libnids 的程序最開(kāi)始調(diào)用的函數(shù) . 它的主要內(nèi)容包括打開(kāi)網(wǎng)絡(luò)接口 , 打開(kāi)文件 , 編譯過(guò)濾規(guī)則 ,

            ?*???? 判斷網(wǎng)絡(luò)鏈路層類型 , 進(jìn)行必要的初始化工作

            ?*/

            int nids_init (void);

            /*

            ?* 返回值 : 無(wú)

            ?* ? 數(shù) : 回調(diào)函數(shù)名字

            ?* ? : 注冊(cè)一個(gè)能夠檢測(cè)所有 IP 數(shù)據(jù)包的回調(diào)函數(shù) , 包括 IP 碎片 .e.g

            ? ?????? nids_register_ip_frag(ip_frag_function);

            ? ?????? void ip_frag_function(struct ip * a_packet,int len)

            ? ?????? a_packet 表示接收的 IP 數(shù)據(jù)包 len 表示接收的數(shù)據(jù)包長(zhǎng)度

            ? ?????? 此回調(diào)函數(shù)可以檢測(cè)所有的 IP 數(shù)據(jù)包 , 包括 IP 碎片

            ?*/

            void nids_register_ip_frag (void (*));????? /**/

            /*

            ?* 返回值 : 無(wú)

            ?* ? 數(shù) : 回調(diào)函數(shù)名字

            ?* ? : 注冊(cè)一個(gè)回調(diào)函數(shù) , 此回調(diào)函數(shù)可以接收正常的 IP 數(shù)據(jù)包 .e.g

            ? ?????? nids_register_ip_frag(ip_frag_function);

            ? ?????? void ip_frag_function(struct ip * a_packet)

            ? ?????? a_packet 表示接收的 IP 數(shù)據(jù)包

            ? ?????? 此回調(diào)函數(shù)可以接收正常的 IP 數(shù)據(jù)包 , 并在此函數(shù)中對(duì)捕獲數(shù)到的 IP 數(shù)據(jù)包進(jìn)行分析 .

            ?*/

            void nids_register_ip (void (*));???? /**/

            /*

            ?* 返回值 : 無(wú)

            ?* ? 數(shù) : 回調(diào)函數(shù)

            ?* ? : 注冊(cè)一個(gè) TCP 連接的回調(diào)函數(shù) . 回調(diào)函數(shù)的類型定義如下 :

            ? ?????? ?void tcp_callback(struct tcp_stream * ns,void ** param)

            ? ?????? ?ns 表示一個(gè) TCP 連接的所有信息 , param 表示要傳遞的參數(shù)信息 , 可以指向一個(gè) TCP 連接的私有數(shù)據(jù)

            ? ?????? ? 此回調(diào)函數(shù)接收的 TCP 數(shù)據(jù)存放在 half_stream 的緩存中 , 應(yīng)該馬上取出來(lái) , 一旦此回調(diào)函數(shù)返回 , 此數(shù)據(jù)緩存中存儲(chǔ)的數(shù)據(jù)就不存在

            ? ?????? ? .half_stream 成員 offset 描述了被丟棄的數(shù)據(jù)字節(jié)數(shù) . 如果不想馬上取出來(lái) , 而是等到存儲(chǔ)一定數(shù)量的數(shù)據(jù)之后再取出來(lái) , 那么可

            ? ?????? ? 以使用函數(shù) nids_discard(struct tcp_stream * ns, int num_bytes) 來(lái)處理 . 這樣回調(diào)函數(shù)返回時(shí) ,Libnids 將丟棄緩存數(shù)據(jù)之前

            ? ?????? ? num_bytes 字節(jié)的數(shù)據(jù) . 如果不調(diào)用 nids_discard() 函數(shù) , 那么緩存數(shù)據(jù)的字節(jié)應(yīng)該為 count_new 字節(jié) . 一般情況下 , 緩存中的數(shù)據(jù)

            ? ?????? ? 應(yīng)該是 count-offset 字節(jié)

            ?*/

            void nids_register_tcp (void (*));

            /*

            ?* 返回值 : 無(wú)

            ?* ? 數(shù) : 回調(diào)函數(shù)

            ?* ? : 注冊(cè)一個(gè)分析 UDP 協(xié)議的回調(diào)函數(shù) , 回調(diào)函數(shù)的類型定義如下 :

            ? ?????? ?void udp_callback(struct tuple4 * addr,char *buf,int len,struct ip *iph)

            ? ?????? ?addr 表示地址端口信息 buf 表示 UDP 協(xié)議負(fù)載的數(shù)據(jù)內(nèi)容 len 表是 UDP 負(fù)載數(shù)據(jù)的長(zhǎng)度 iph 表示一個(gè) IP 數(shù)據(jù)包 , 包括 IP 首部 ,UDP 首部以及 UDP 負(fù)載內(nèi)容

            ?*/

            void nids_register_udp (void (*));

            /*

            ?* 返回值 : 無(wú)

            ?* ? 數(shù) : 表示一個(gè) TCP 連接

            ?* ? : 終止 TCP 連接 . 它實(shí)際上是調(diào)用 Libnet 的函數(shù)進(jìn)行構(gòu)造數(shù)據(jù)包 , 然后發(fā)送出去

            ?*/

            void nids_killtcp (struct tcp_stream *);

            /*

            ?* 返回值 : 無(wú)

            ?* ? 數(shù) : 參數(shù) 1 一個(gè) TCP 連接 參數(shù) 2 個(gè)數(shù)

            ?* ? : 丟棄參數(shù) 2 字節(jié) TCP 數(shù)據(jù) , 用于存儲(chǔ)更多的數(shù)據(jù)

            ?*/

            void nids_discard (struct tcp_stream *, int);

            /*

            ?* 返回值 : 無(wú)

            ?* ? 數(shù) : 無(wú)

            ?* ? : 運(yùn)行 Libnids, 進(jìn)入循環(huán)捕獲數(shù)據(jù)包狀態(tài) . 它實(shí)際上是調(diào)用 Libpcap 函數(shù) pcap_loop() 來(lái)循環(huán)捕獲數(shù)據(jù)包

            ?*/

            void nids_run (void);

            /*

            ?* 返回值 : 調(diào)用成功返回文件描述符 , 失敗返回 -1

            ?* ? 數(shù) : 無(wú)

            ?* ? : 獲得文件描述符號(hào)

            ?*/

            int nids_getfd (void);

            /*

            ?* 返回值 : 調(diào)用成功返回個(gè)數(shù) , 失敗返回負(fù)數(shù)

            ?* ? 數(shù) : 表示捕獲數(shù)據(jù)包的個(gè)數(shù)

            ?* ? : 調(diào)用 Libpcap 中的捕獲數(shù)據(jù)包函數(shù) pcap_dispatch()

            ?*/

            int nids_dispatch (int);

            /*

            ?* 返回值 : 調(diào)用成功返回 1, 失敗返回 0

            ?* ? 數(shù) : 無(wú)

            ?* ? : 調(diào)用 Libpcap 中的捕獲數(shù)據(jù)包函數(shù) pcap_next()

            ?*/

            int nids_next (void);

            ?

            extern struct nids_prm nids_params;?????? /*libnids.c 定以了一個(gè)全部變量 , 其定義和初始值在 nids_params*/

            extern char *nids_warnings[];????????

            extern char nids_errbuf[];

            extern struct pcap_pkthdr *nids_last_pcap_header;

            ?

            struct nids_chksum_ctl {????? /* 描述的是計(jì)算校驗(yàn)和 , 用于決定是否計(jì)算校驗(yàn)和 */

            ???????? u_int netaddr;?????????????? /* 表示地址 */

            ???????? u_int mask;?????????????????? /* 表示掩碼 */

            ???????? u_int action;???????????????? /* 表示動(dòng)作 , 如果是 NIDS_DO_CHKSUM, 表示計(jì)算校驗(yàn)和 ; 如果是 NIDS_DONT_CHKSUM, 表示不計(jì)算校驗(yàn)和 */

            ???????? u_int reserved;????????????? /* 保留未用 */

            };

            /*

            ?* 返回值 : 無(wú)

            ?* ? 數(shù) : 參數(shù) 1 表示 nids_chksum_ctl 列表 參數(shù) 2 表示列表中的個(gè)數(shù)

            ?* ? : 決定是否計(jì)算校驗(yàn)和 . 它是根據(jù)數(shù)據(jù)結(jié)構(gòu) nids_chksum_ctl 中的 action 進(jìn)行決定的 , 如果所要計(jì)算的對(duì)象不在列表中 , 則必須都要計(jì)算校驗(yàn)和

            ?*/

            extern void nids_register_chksum_ctl(struct nids_chksum_ctl *, int);

            ?

            #endif /* _NIDS_NIDS_H */

            posted on 2006-09-29 12:31 JeromeWen 閱讀(3378) 評(píng)論(4)  編輯 收藏 引用 所屬分類: C++

            評(píng)論

            # re: Nids.h詳細(xì)注釋   回復(fù)  更多評(píng)論   

            不錯(cuò),存下先。謝了~~
            2006-10-05 16:04 | Jerin

            # re: Nids.h詳細(xì)注釋   回復(fù)  更多評(píng)論   

            下載lib源碼后編譯會(huì)有dll,lib文件生成
            2007-03-07 02:33 | JeromeWen

            # re: Nids.h詳細(xì)注釋 [未登錄](méi)  回復(fù)  更多評(píng)論   

            好! 不錯(cuò)!
            2008-01-06 12:36 | 我的家

            # re: Nids.h詳細(xì)注釋   回復(fù)  更多評(píng)論   

            不錯(cuò)啊!
            2011-12-16 16:46 | 等等
            亚洲一区二区三区日本久久九| 久久经典免费视频| 久久精品国产精品亚洲| 亚洲精品国产自在久久| 久久精品水蜜桃av综合天堂| 7国产欧美日韩综合天堂中文久久久久 | 久久无码人妻精品一区二区三区| 久久强奷乱码老熟女网站| 国产一区二区三区久久| 久久青青草原精品国产软件| 久久精品aⅴ无码中文字字幕重口 久久精品a亚洲国产v高清不卡 | 精品久久人妻av中文字幕| 久久精品国产99久久久香蕉| 亚洲精品无码成人片久久| 久久www免费人成看国产片| 中文字幕日本人妻久久久免费 | 色婷婷狠狠久久综合五月| 久久精品国产精品亚洲毛片| 日批日出水久久亚洲精品tv| 国产91色综合久久免费| 人妻无码精品久久亚瑟影视| 丰满少妇人妻久久久久久4| 亚洲AV乱码久久精品蜜桃| 久久不见久久见免费影院www日本| 性做久久久久久久| 亚洲另类欧美综合久久图片区| 久久精品国产免费一区| 亚洲色欲久久久综合网| 天堂无码久久综合东京热| 色综合久久综精品| 国内精品久久久久久久97牛牛| 国产一区二区久久久| 狠狠色综合网站久久久久久久| 久久久精品2019免费观看| 无码八A片人妻少妇久久| 久久久久亚洲av毛片大| 成人a毛片久久免费播放| 97久久超碰国产精品旧版| 蜜臀av性久久久久蜜臀aⅴ麻豆 | 国产成人综合久久综合| 乱亲女H秽乱长久久久|