亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 編程 > Perl > 正文

通過(guò)perl實(shí)現(xiàn)一個(gè)簡(jiǎn)單的NIDS

2020-10-31 15:18:39
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

隨著對(duì)網(wǎng)絡(luò)安全需求的深入開(kāi)發(fā),基于網(wǎng)絡(luò)的入侵檢測(cè)技術(shù)已經(jīng)成為一個(gè)重要且有意思的研究方向。想學(xué)習(xí)NIDS技術(shù)除了去讀一些現(xiàn)成的資料和一些開(kāi)源系統(tǒng)的源碼,最好的辦法莫過(guò)于自己去寫一個(gè)NIDS程序,只有那樣才能真正體會(huì)到一些NIDS的實(shí)現(xiàn)需求和設(shè)計(jì)妙處。

本質(zhì)上說(shuō)NIDS只是一種網(wǎng)絡(luò)流量的分析工具,通過(guò)對(duì)網(wǎng)絡(luò)流量的分析識(shí)別出一些已知或未知的攻擊行為,一個(gè)最簡(jiǎn)單的NIDS完成的主要工作也就是抓包->協(xié)議解碼->匹配,眾所周知PERL是極其強(qiáng)大的腳本語(yǔ)言,尤其是它的字符串處理能力可以方便地實(shí)現(xiàn)對(duì)于網(wǎng)絡(luò)流量中惡意特征進(jìn)行匹配。當(dāng)然PERL畢竟只是腳本語(yǔ)言,它的執(zhí)行效率不允許用于真正大流量生產(chǎn)性環(huán)境,但PERL的簡(jiǎn)單易學(xué)及強(qiáng)大功能對(duì)于實(shí)現(xiàn)一個(gè)簡(jiǎn)單的NIDS達(dá)到學(xué)習(xí)的目的無(wú)疑是非常好的,下面我介紹一個(gè)用PERL實(shí)現(xiàn)的簡(jiǎn)單NIDS框架,我們將在Linux下實(shí)現(xiàn)它,在其他操作系統(tǒng)上類似。

PERL的一個(gè)強(qiáng)大特性就在于它海量的CPAN模塊庫(kù),很多你想實(shí)現(xiàn)的功能都可以找到現(xiàn)成的模塊,你所要做的只是安裝上那些模塊即可,關(guān)于PERL的模塊及面向?qū)ο筇匦缘墓芾砗褪褂迷谶@就不介紹了,請(qǐng)參看相關(guān)資料,比如O'REILLY出版的《高級(jí)Perl編程》。在用PERL編寫網(wǎng)絡(luò)流量分析腳本之前,需要安裝一些底層的抓包及基本的數(shù)據(jù)包解碼模塊,包括如下這些:
http://www.tcpdump.org/release/libpcap-0.8.1.tar.gz
底層基本的抓包庫(kù)。

http://www.cpan.org/authors/id/T/TI/TIMPOTTER/Net-Pcap-0.04.tar.gz
libpcap的PERL接口。

http://www.cpan.org/authors/id/T/TI/TIMPOTTER/Net-PcapUtils-0.01.tar.gz
Net-Pcap模塊的wrapper,包裝Net-Pcap的函數(shù),可以更方便地在PERL里調(diào)用抓包。

http://www.cpan.org/authors/id/T/TI/TIMPOTTER/NetPacket-0.03.tar.gz
用于基本的IP/TCP/UDP等包解碼的模塊,剝除各種協(xié)議頭,抽取各個(gè)字段。

下面的代碼演示了一個(gè)帶有基本SMB和FTP協(xié)議解碼模塊的最簡(jiǎn)單NIDS框架,此程序?qū)崿F(xiàn)最簡(jiǎn)單的NIDS功能,面向單包,不關(guān)心包的狀態(tài),不具備高級(jí)的商業(yè)NIDS產(chǎn)品諸如流重組,包狀態(tài)及應(yīng)用層協(xié)議的跟蹤等功能。為了提高檢測(cè)的準(zhǔn)確性,與Snort直接匹配數(shù)據(jù)區(qū)不同的是,這個(gè)腳本實(shí)現(xiàn)了兩個(gè)應(yīng)用層協(xié)議:SMB、FTP的簡(jiǎn)單解碼,解碼完全是面向NIDS的需要,代碼也沒(méi)有經(jīng)過(guò)仔細(xì)的測(cè)試可能存在問(wèn)題。

(一)perl-ids.pl 實(shí)現(xiàn)抓包及檢測(cè)分析的主程序。

復(fù)制代碼 代碼如下:

#!/usr/bin/perl
#
# Comments/suggestions to stardust at xfocus dot org
#
#
# $Id: perl-ids.pl,v 1.16 2004/03/04 21:51:12 stardust Exp $
#
# 引用所有相關(guān)的模塊
use Net::PcapUtils;
use NetPacket::Ethernet qw(:strip);
use NetPacket::TCP;
use NetPacket::IP qw(:protos);
use NetPacket::SMB;
use NetPacket::FTP;
# 定義日志文件名
$workingdir = "./";
$attacklog = "attack.log";
$monitorlog = "monitor.log";
# 以后臺(tái)進(jìn)程方式運(yùn)行
daemon ();
sub daemon {
unless (fork) {
SniffLoop ();
exit 0;
}
exit 1;
}
# 抓包循環(huán)
sub SniffLoop {
# 進(jìn)入工作目錄
chdir ("$workingdir");
# 打開(kāi)日志文件
open (ATTACKLOG,">> $attacklog");
open (MONITORLOG,">> $monitorlog");
# 設(shè)置文件讀寫為非緩沖模式
select(ATTACKLOG); $ ++; select(MONITORLOG); $ ++; select(STDOUT); $ ++;
# 設(shè)置信號(hào)處理函數(shù),因?yàn)槌绦蜻\(yùn)行于后臺(tái),退出時(shí)需要利用信號(hào)處理函數(shù)做些清理工作
$SIG{"INT"} = 'HandleINT';
$SIG{"TERM"} = 'HandleTERM';
# 進(jìn)入抓包回調(diào)函數(shù)
Net::PcapUtils::loop(&sniffit, SNAPLEN => 1800, Promisc => 1, FILTER => 'tcp or udp', DEV => 'eth0');
}
sub sniffit {
my ($args,$header,$packet) = @_;
# 解碼IP包
$ip = NetPacket::IP->decode(eth_strip($packet));
# TCP協(xié)議
if ($ip->{proto} == IP_PROTO_TCP) {
# 解碼TCP包
$tcp = NetPacket::TCP->decode($ip->{data});
# 檢查來(lái)自SMB客戶端的包
if (($tcp->{dest_port} == 139)    ($tcp->{dest_port} == 445)) {
# 如果目的端口是139或445,認(rèn)為是SMB協(xié)議包,做相應(yīng)的檢查
SmbClientCheck ($ip->{src_ip},$tcp->{src_port},$ip->{dest_ip},$tcp->{dest_port},$tcp->{data});
} elsif ($tcp->{dest_port} == 21) {
# 如果目的端口是21,認(rèn)為是FTP協(xié)議,做相應(yīng)的檢查
FtpClientCheck ($ip->{src_ip},$tcp->{src_port},$ip->{dest_ip},$tcp->{dest_port},$tcp->{data});
} else {}
# UDP協(xié)議
} elsif ($ip->{proto} == IP_PROTO_UDP) {
} else {}
}
sub SmbClientCheck {
my ($src_ip,$src_port,$dest_ip,$dst_port,$data) = @_;
# 調(diào)用SMB解碼模塊解碼
$smb = NetPacket::SMB->decode($data);
# 如果解碼成功
if ($smb->{valid}) {
# 示例檢測(cè)新近公布eeye的那個(gè)ASN.1解碼錯(cuò)誤導(dǎo)致的堆破壞漏洞
# BID:9633,9635 CVEID:CAN-2003-0818 NSFOCUSID:6000
# 如果SMB命令是Session Setup AndX
if ($smb->{cmd} == 0x73) {
# 如果設(shè)置了Extended Security Negotiation位,表示有包里有Security Blob
if ($smb->{flags2} & F2_EXTSECURINEG) {
# 用正則表達(dá)式匹配通常會(huì)在攻擊包里出現(xiàn)的OID及引發(fā)錯(cuò)誤的畸形數(shù)據(jù)串
# 由于不是從原理上檢測(cè)加之ASN.1編碼的靈活性,這樣的檢測(cè)會(huì)導(dǎo)致漏報(bào)
if (($smb->{bytecount} > 0) && ($smb->{bytes} =~ m/x06x06x2bx06x01x05x05x02.*[xa1x05x23x03x03x01x07 x84xffxffxff]/)) {
# 記入日志文件
LogAlert ($src_ip,$src_port,$dest_ip,$dst_port,"ASN.1 malform encode attack!");
}
}
}
}
}
sub FtpClientCheck {
my ($src_ip,$src_port,$dest_ip,$dst_port,$data) = @_;
# 調(diào)用FTP解碼模塊解碼
$ftp = NetPacket::FTP->decode($data);
# 如果解碼成功
if ($ftp->{valid}) {
# 示例檢測(cè)新近公布的Serv-U < 5.0.0.4版FTP服務(wù)器MDTM命令溢出攻擊
# BID:9751 NSFOCUSID:6078
# 遍歷從數(shù)據(jù)包里解碼出來(lái)的FTP命令及其參數(shù)
for (my $i = 1;$i <= $ftp->{cmdcount};$i++) {
my $cmd = "cmd"."$i";
my $para = "para"."$i";
# 如果FTP命令是MDTM
if (uc($ftp->{$cmd}) eq "MDTM") {
# 用正則表達(dá)式匹配引發(fā)溢出的參數(shù)串,這里體現(xiàn)了正則
# 表達(dá)式的強(qiáng)大,用此匹配可以從原理上檢測(cè)到畸形參數(shù)串
if ($ftp->{$para} =~ m/d{14}[+ -]S{5,}s+S{1,}/) {
LogAlert ($src_ip,$src_port,$dest_ip,$dst_port,"Serv-U < v5.0.0.4 MDTM command long timezone string overflow attack!");
}
}
}
}
}
# 記錄攻擊告警
sub LogAlert {
my ($src_ip,$src_port,$dest_ip,$dst_port,$message) = @_;
my $nowtime = localtime;
printf ATTACKLOG ("%s %s:%s -> %s:%s %s ",$nowtime,$src_ip,$src_port,$dest_ip,$dst_port,$message);
printf ("%s %s:%s -> %s:%s %s ",$nowtime,$src_ip,$src_port,$dest_ip,$dst_port,$message);
}
# 記錄監(jiān)控信息
sub LogMonitor {
my ($src_ip,$src_port,$dest_ip,$dst_port,$message) = @_;
my $nowtime = localtime;
printf MONITORLOG ("%s %s:%s -> %s:%s %s ",$nowtime,$src_ip,$src_port,$dest_ip,$dst_port,$message);
printf ("%s %s:%s -> %s:%s %s ",$nowtime,$src_ip,$src_port,$dest_ip,$dst_port,$message);
}
# INT信號(hào)處理例程
sub HandleINT {
CleanUp ();
exit (0);
}
# TERM信號(hào)處理例程
sub HandleTERM {
CleanUp ();
exit (0);
}
# 清理,主要工作是關(guān)閉文件句柄
sub CleanUp {
close (ATTACKLOG); close (MONITORLOG);
}

(二)FTP.pm FTP協(xié)議解碼模塊,抽取數(shù)據(jù)包里的FTP命令及相應(yīng)的參數(shù),此文件需要拷貝到NetPacket系列模塊所在的目錄,通常是在/usr/lib/perl5/site_perl/5.x.x/NetPacket/

復(fù)制代碼 代碼如下:

#
# NetPacket::FTP - Decode FTP packets
#
# Comments/suggestions to stardust at xfocus dot org
#
#
# $Id: FTP.pm,v 1.16 2004/03/03 l1:16:20 stardust Exp $
#
package NetPacket::FTP;
use strict;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
use NetPacket;
my $myclass;
BEGIN {
$myclass = __PACKAGE__;
$VERSION = "0.01";
}
sub Version () { "$myclass v$VERSION" }
BEGIN {
@ISA = qw(Exporter NetPacket);
# Items to export into callers namespace by default
# (move infrequently used names to @EXPORT_OK below)
@EXPORT = qw(
);
# Other items we are prepared to export if requested
@EXPORT_OK = qw(
);
# Tags:
%EXPORT_TAGS = (
ALL => [@EXPORT, @EXPORT_OK],
);
}
#
# Decode the packet
#
# FTP協(xié)議文本參看RFC959,http://www.ietf.org/rfc/rfc0959.txt
# 常見(jiàn)的FTP命令
my @ftp_cmds = qw(ABOR ACCT ALLO APPE CDUP CWD DELE HELP LIST MKD MODE NLST
NOOP PASS PASV PORT PWD QUIT REIN REST RETR RMD RNFR RNTO
SITE SMNT STAT STOR STOU STRU SYST TYPE USER XCUP XCWD XMKD
XPWD XRMD LPRT LPSV ADAT AUTH CCC CONF ENC MIC PBSZ PROT
FEAT OPTS EPRT EPSV LANG MDTM MLSD MLST SIZE DIGT CLNT MACB
);
sub decode {
my $class = shift;
my($data) = @_;
my $self = {};
my $cmdhead = 0;
my $cmdtail = 0;
my @parts = ();
my $cmdcount = 0;
my $returnindex = 0;
my $data_len = length($data);
# 如果數(shù)據(jù)長(zhǎng)度過(guò)短則不處理
if ($data_len >= 4) {
# 一個(gè)包里的FTP命令個(gè)數(shù)
$self->{cmdcount} = 0;
# 搜索回車,之前認(rèn)為是一個(gè)命令行,需要注意的是一個(gè)包里可能包含多個(gè)FTP命令
while ( (($returnindex = index ($data,"x0a",$cmdhead)) >=0)    (($returnindex < 0) && (($data_len - $cmdhead) >= 4))) {
# 調(diào)整一個(gè)命令行串尾指針
if ($returnindex < 0) {
$cmdtail = $data_len -1;
} else {
$cmdtail = $returnindex;
}
if ((my $cmdlen = ($cmdtail - $cmdhead + 1)) >= 4) {
# 取出命令行串
my $cmdline = substr($data,$cmdhead,$cmdlen);
# 從命令行里拆分出命令名和它的參數(shù)串
if (splitcmd($cmdline,@parts)) {
$self->{cmdcount}++;
my $cmdindex = "cmd"."$self->{cmdcount}";
my $paraindex = "para"."$self->{cmdcount}";
# 記錄到要返回到主程序的對(duì)象
$self->{$cmdindex} = $parts[0];
$self->{$paraindex} = $parts[1];
}
}
# 調(diào)整命令行串頭指針
$cmdhead = $cmdtail + 1;
}
# 如果命令個(gè)數(shù)大于0,則說(shuō)明解碼是有效的
if ($self->{cmdcount} == 0) {
$self->{valid} = 0;
} else {
$self->{valid} = 1;
}
} else {
$self->{valid} = 0;
}
# 返回對(duì)象
bless($self, $class);
return $self;
}
sub splitcmd {
my ($cmdline,$parts) = @_;
# 去除行尾的回車
chomp($cmdline);
# 用正則表達(dá)式抽取出命令名字和參數(shù),既然效率不是考慮的主要問(wèn)題就“毫無(wú)顧忌”地使用正則表達(dá)式,因?yàn)榉奖?BR>if ($cmdline =~ m/^s*([a-zA-Z]{3,4})s+(.*)/) {
my $valid_cmd = 0;
# 檢查抽出來(lái)的命令名字是否是一個(gè)已知的合法FTP命令
for (my $i=0;$i<@ftp_cmds;$i++) {
if ($ftp_cmds[$i] eq uc($1)) {
$valid_cmd = 1;
last;
}
}
# 如果是合法的命令則返回給調(diào)用函數(shù)
if ($valid_cmd) {
${$parts}[0] = $1;
${$parts}[1] = $2;
return 1;
} else {
return 0;
}
} else {
return 0;
}
}
#
# Module initialisation
#
1;
# autoloaded methods go after the END token (&& pod) below
__END__

(三)SMB.pm 對(duì)SMB包頭結(jié)構(gòu)的簡(jiǎn)單解碼模塊,此文件需要拷貝到NetPacket系列模塊所在的目錄,通常是在/usr/lib/perl5/site_perl/5.x.x/NetPacket/

復(fù)制代碼 代碼如下:

#
# NetPacket::SMB - Decode SMB packets
#
# Comments/suggestions to stardust at xfocus dot org
#
#
# $Id: SMB.pm,v 1.16 2004/02/23 12:25:17 stardust Exp $
#
package NetPacket::SMB;
use strict;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
use NetPacket;
my $myclass;
# SMB flags
use constant F2_LONGNAMEALLW => 0x0001;
use constant F2_EXTATTRIBUTE => 0x0002;
use constant F2_SECURITYSIGN => 0x0004;
use constant F2_LONGNAMEUSED => 0x0040;
use constant F2_EXTSECURINEG => 0x0800;
use constant F2_DONTRESOLDFS => 0x1000;
use constant F2_EXECONLYREAD => 0x2000;
use constant F2_ERRORCODTYPE => 0x4000;
use constant F2_UNICODSTRING => 0x8000;
use constant F_LOCKANDREAD => 0x01;
use constant F_RCVBUFFPOST => 0x02;
use constant F_CASESENSITV => 0x08;
use constant F_CANONICPATH => 0x10;
use constant F_OPLOCKSREQU => 0x20;
use constant F_NOTIFYONOPN => 0x40;
use constant F_REQUERESPON => 0x80;
BEGIN {
$myclass = __PACKAGE__;
$VERSION = "0.01";
}
sub Version () { "$myclass v$VERSION" }
BEGIN {
@ISA = qw(Exporter NetPacket);
# Items to export into callers namespace by default
# (move infrequently used names to @EXPORT_OK below)
@EXPORT = qw(F2_LONGNAMEALLW F2_EXTATTRIBUTE F2_SECURITYSIGN
F2_LONGNAMEUSED F2_EXTSECURINEG F2_DONTRESOLDFS
F2_EXECONLYREAD F2_ERRORCODTYPE F2_UNICODSTRING
F_LOCKANDREAD F_RCVBUFFPOST F_CASESENSITV
F_CANONICPATH F_OPLOCKSREQU F_NOTIFYONOPN
F_REQUERESPON
);
# Other items we are prepared to export if requested
@EXPORT_OK = qw(smb_strip
);
# Tags:
%EXPORT_TAGS = (
ALL => [@EXPORT, @EXPORT_OK],
strip => [qw(smb_strip)],
);
}
#
# Strip header from packet and return the data contained in it
#
undef &smb_strip;
*smb_strip = &strip;
# 剝除SMB頭的函數(shù)
sub strip {
my ($data) = @_;
my $smb_obj = NetPacket::SMB->decode($data);
return $smb_obj->{data};
}
#
# Decode the packet
#
sub decode {
my $class = shift;
my($data) = @_;
my $self = {};
my $data_len = 0;
my $temp = "";
$data_len = length ($data);
# 如果數(shù)據(jù)區(qū)長(zhǎng)度小于39字節(jié)(4+32+3),則認(rèn)為不是一個(gè)可解碼的SMB包
if ($data_len < 39) {
$self->{valid} = 0;
} else {
# 取SMB的標(biāo)志串
my $smb_mark = substr ($data,4,4);
# 是否符合標(biāo)志串
if ($smb_mark ne "xffx53x4dx42") {
$self->{valid} = 0;
} else {
$self->{valid} = 1;
# Decode SMB packet
if (defined($data)) {
# 用PERL的unpack函數(shù)解碼32字節(jié)長(zhǎng)的SMB頭結(jié)構(gòu),頭結(jié)構(gòu)可
# 參考 http://www.cs.uml.edu/~bill/cs592/cifs.chm
# 感謝小四(scz at nsfocus dot com)對(duì)于SMB頭結(jié)構(gòu)中字段字節(jié)序的提醒
($self->{nbt_type}, $self->{nbt_flag}, $self->{nbt_len},
$self->{mark}, $self->{cmd}, $self->{status},
$self->{flags}, $self->{flags2}, $self->{ext},
$self->{ext2}, $self->{ext3}, $self->{tid},
$self->{pid}, $self->{uid}, $self->{mid},
$self->{data}) = unpack("CCna4CVCvVVVvvvva*", $data);
($self->{wordcount},$temp) = unpack("Ca*",$self->{data});
if ((36 + 1 + $self->{wordcount} * 2) <= ($data_len - 2)) {
# 解碼SMB結(jié)構(gòu)下的wordcount字節(jié)及bytecount字節(jié)數(shù)據(jù)
my $wordbytes = $self->{wordcount} * 2;
($self->{wordcount},$self->{words},$self->{bytecount},$self->{bytes}) = unpack("C"."a"."$wordbytes"."va*",$self->{data});
} else {
($self->{wordcount},$self->{words}) = unpack("Ca*",$self->{data});
$self->{bytecount} = -1; $self->{bytes} = "";
}
}
}
}
# 返回對(duì)象
bless($self, $class);
return $self;
}
#
# Module initialisation
#
1;
# autoloaded methods go after the END token (&& pod) below
__END__

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
xvideos亚洲人网站| 日韩影片在线播放| 国产精品99re| 国产三级电影在线观看| 美国黄色一级毛片| 国产精品伦理一区二区| 精品国产精品| 亚洲av毛片在线观看| 欧美激情精品久久久久久大尺度| 国产欧美视频一区二区| 99中文字幕一区| 久久国产一区二区| 午夜精品一区二区三区在线播放| jizz日本18| 欧美性猛交99久久久久99按摩| 激情综合五月| 最新亚洲视频| 麻豆传媒一区二区三区| 老妇喷水一区二区三区| 欧美日韩国产黄| 欧美性bbwbbwbbwhd| 91久久国产综合久久91猫猫| 亚洲日本中文字幕在线| 亚洲精品国产品国语在线| 在线看三级电影| 69av一区二区三区| 中文字幕在线影院| 亚洲一区网站| 成人性生活免费看| 密臀av在线| 欧美日韩国产一级片| 偷偷看偷偷操| 免费看污片的软件| 天天视频天天爽| 久久人人爽人人爽人人片av高清| 青青青爽久久午夜综合久久午夜| 秋霞国产午夜精品免费视频| 久久精品国产亚洲blacked| 久久不见久久见国语| 欧美激情论坛| 久久天堂电影网| 一级全黄裸体免费视频| 精品国产美女a久久9999| 成年人在线观看视频免费| 欧美日韩经典丝袜| eeuss性xxxxxx电影| 国产高清欧美| 国产精品69精品一区二区三区| 色综合咪咪久久| 日韩一级欧洲| 成 年 人 黄 色 大 片大 全| 亚洲综合av一区| av免费在线免费观看| 麻豆精品一区二区综合av| 自由日本语亚洲人高潮| 自拍亚洲国产| 91午夜视频在线观看| 在线免费看污| 亚洲欧美国产毛片在线| 欧美日韩一区二区三区在线观看免| 成人免费乱码大片a毛片软件| 国产精品久久看| 浮力国产第一页| 亚洲精品乱码久久久久久金桔影视| 天天成人综合网| 天堂网av2014| 韩国v欧美v亚洲v日本v| 在线不卡中文字幕| 国产区欧美区日韩区| 欧美一级一级性生活免费录像| 白白色免费视频| 2022国产精品视频| 老司机av福利| 国产在视频线精品视频www666| 18aaaa精品欧美大片h| 免费无码一区二区三区| 国产福利在线导航| 日韩电影大片中文字幕| 欧美午夜性生活| 欧美影视一区在线| 色哟哟中文字幕| 97在线观看免费观看高清| 亚洲精品国产高清久久伦理二区| 亚洲成人7777| 中文字幕一区在线观看| 日本少妇在线观看| 欧美高清在线观看| 牛牛视频精品一区二区不卡| 欧美日韩五码| 久久资源在线| 日韩精品视频在线观看一区二区三区| 一区免费观看| 国产一级淫片a视频免费观看| 欧美激情免费| 精品免费视频一卡2卡三卡4卡不卡| 五月国产精品| 日韩毛片在线观看| 97**国产露脸精品国产| 久久99精品久久久| 国产精品久久久久久久久免费桃花| 色综合色综合色综合色综合色综合| 中文字幕在线观看免费视频| 色欲av无码一区二区人妻| 7777精品伊人久久久大香线蕉超级流畅| 日韩电影一区| 777视频在线| 欧美一级大片| 欧美多人乱p欧美4p久久| 成人v精品蜜桃久久一区| 国产精品免费一区二区三区四区| 三上悠亚激情av一区二区三区| 你懂的视频在线一区二区| 亚洲永久免费观看| 国产精品区免费视频| 欧美午夜精品久久久久久人妖| 2021天堂中文幕一二区在线观| eeuss影院www免费影院| 日韩国产欧美精品一区二区三区| 日韩大陆毛片av| 国产又粗又长| 热re91久久精品国99热蜜臀| 成人三级视频在线观看一区二区| 国产高潮失禁喷水爽到抽搐| 动漫精品一区一码二码三码四码| 午夜精品久久久久久久蜜桃app| 欧洲视频一区二区三区| 做爰高潮hd色即是空| 蜜臀av国内免费精品久久久夜夜| 狠狠综合久久av一区二区| 欧美激情20| 国产女主播在线一区二区| 精品午夜久久| 日韩毛片在线免费观看| 国产成+人+综合+亚洲欧洲| 亚洲一区二区三区网站| 国产激情999| 国产农村妇女精品一区| 波多野结衣理论片| 无码人妻精品一区二区三区99v| 亚洲成人第一网站| 中文字幕免费精品一区| 国产免费久久精品| 成人无码精品1区2区3区免费看| 国产精品久久久久久久免费大片| 亚洲色图狠狠干| 欧美激情黑白配| 韩国中文免费在线视频| 香港三日本8a三级少妇三级99| 密臀av一区二区三区| 国产剧情一区在线| av中文字幕在线看| 国产精品精品视频一区二区三区| 爱情岛论坛vip永久入口| 思思99精品视频在线观看| 亚洲欧洲在线一区| 日本人成精品视频在线| 91麻豆天美传媒在线| 亚洲欧美天堂网| 我不卡影院28| 亚洲熟女乱色一区二区三区| 毛片.com| 无圣光视频在线观看| 国产极品嫩模在线视频一区| 久久影视中文粉嫩av| 91香蕉国产在线观看| 一区二区三区四区欧美| 三级全黄的视频在线观看| 国产1区在线观看| 亚洲图色在线| 国产成人亚洲综合无码| 最近中文字幕在线观看视频| 妺妺窝人体色www在线下载| jizz大全欧美jizzcom| 99视频在线观看视频| 99视频都是精品热在线播放| 欧美老人xxxx18| 成人精品一区二区三区四区| 久久综合色一本| 国产网红主播福利一区二区| 国产91沈先生在线播放| 亚洲女爱视频在线| 日韩毛片视频在线看| 91最新国产视频| 丁香六月久久综合狠狠色| 国产麻豆视频一区| 97久久久久久| 女人让男人操自己视频在线观看| 日韩免费高清av| 日韩中文字幕二区| 在线观看亚洲天堂| 亚洲av无码一区二区三区网址| 久久久999精品| 午夜精品国产更新| 亚洲精品ww久久久久久p站| 久久久精品在线视频| 亚洲天堂在线视频观看| 精品国产av无码| 免费人成视频在线| 精品成人无码一区二区三区| 亚洲电影视频在线| 高清毛片aaaaaaaa**| 亚洲精品永久免费精品| 青娱乐自拍偷拍| 国产91欧美| 亚洲精品88| 日本美女xxx| 久久精品国产v日韩v亚洲| 韩国国内大量揄拍精品视频| 色先锋影音岛国av资源| 高清亚洲高清| 欧美日韩中文| 精品成人免费视频| 日本私人影院在线观看| 少妇激情一区二区三区| 国产成人福利视频| 国产精品成人免费精品自在线观看| 亚洲欧美小说色综合小说一区| 色综合久久久久综合体桃花网| 国产羞羞视频在线观看| 国产成人手机高清在线观看网站| 国产精品精品视频一区二区三区| 欧美一区二三区| 国产精品视频免费观看www| 成人免费毛片xxx| 国产精品毛片在线看| caopeng视频| 久久国产精品久久精品国产| 成人精品免费在线观看| 亚洲高清不卡av| 精品一区二区三区蜜桃| 国产精品伦一区二区| 日韩毛片在线观看| 欧美激情精品久久久久久久变态| 亚洲国产欧美另类丝袜| 97色婷婷成人综合在线观看| a级网站在线播放| sihu成人| 1314成人网| 欧美xxxx日本和非洲| 国产亚洲高清在线观看| 99精品在线免费视频| 电影在线观看一区| 午夜日韩影院| 国产91精品一区二区麻豆网站| a在线观看视频| 国产成人精品免费看| 欧美一区二区在线视频观看| 国产精品免费网站在线观看| 综合欧美精品| 蜜桃免费在线视频| 成人18网站| 高端美女服务在线视频播放| 精品三级在线看| 国语对白永久免费| 五月婷婷之综合激情| 欧美在线激情视频| 国产精品一区专区| 国产成人自拍一区| 成人av电影在线播放| 国内精品久久久久久久97牛牛| 亚洲色欲色欲www| 亚洲国产激情| 韩国av一区二区| 一区二区在线视频观看| 欧美激情一区二区三区蜜桃视频| 一区二区三区黄色片| 日韩毛片无码永久免费看| 亚洲欧美在线视频免费| 欧美成人精品一区二区| 一区二区三区四区五区精品| 国产成人一区二区三区免费看| 亚洲第一精品电影| 先锋影音资源综合在线播放av| 嫩草影院官网| 国内精品99| 九色porn蝌蚪| 免费美女久久99| 国产又粗又大又爽的视频| 在线电影欧美日韩一区二区私密| 一区二区电影网| 欧美视频xxx| 欧美日韩精品中文字幕| 97精品国产91久久久久久| 久久午夜鲁丝片| 强迫凌虐淫辱の牝奴在线观看| 在线视频你懂得一区二区三区| 性一交一乱一透一a级| 国产1区在线| 人妻无码视频一区二区三区| 精品午夜久久福利影院| 国产97在线视频| 亚洲精品中文字幕乱码无线| 亚久久调教视频| 日韩在线中文字幕视频| 自拍偷拍亚洲| 尤物yw午夜国产精品视频明星| 日韩在线免费| 成人精品国产| 欧美猛男性生活免费| 亚洲国产精品福利| 成人精品在线| 久热re这里精品视频在线6| 欧美极品视频一区二区三区| 极品尤物一区二区三区| 在线亚洲成人| 午夜剧场免费在线观看| 91麻豆精品在线观看| 久久精品国产99久久6| 国产精品一二三视频| 中文字幕精品一区日韩| 9.1成人看片免费版| 国产精品国产三级国产aⅴ中文| 亚洲国产美女精品久久久久∴| 国产乱人伦真实精品视频| 国产爆乳无码一区二区麻豆| 午夜精品久久久久久久91蜜桃| 夜夜未满十八勿进的爽爽影视| 欧美亚洲在线日韩| 手机看片福利永久| 蜜臀视频在线观看| 欧美在线影院在线视频| 成人日韩在线电影| 一区二区久久久| 涩多多在线观看| 性做爰过程免费播放| 三上悠亚一区二区| 亚洲黄色免费| 国产精品亚洲人在线观看|