Exemplo n.º 1
0
int main ( int argc, char **argv )
{
    struct timeval tvafter, tvpre;
    struct timezone tz;
    gettimeofday ( &tvpre , &tz );

    unsigned char mac[7];
    unsigned char ip[5];
    char dest[16] = {0};
    unsigned char broad_mac[7] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00};

    memset ( mac, 0, sizeof ( mac ) );
    memset ( ip, 0, sizeof ( ip ) );
    if ( GetLocalMac ( "eth0", mac, ip ) == -1 )
        return ( -1 );

    printf ( "Local Mac=[%s] Ip=[%s]\n", mac_ntoa ( mac ), inet_ntoa ( * ( struct in_addr * ) ip ) );

    //if ( argc==1 ) return ( -1 );
    int i = 0;
    for(i=1;i<256;i++)
    {
        sprintf ( dest,"172.16.0.%d",i );
        //sprintf ( dest, "255.255.255.255", i );
        sendpkg ( mac, broad_mac, ip, dest );
    }
    gettimeofday ( &tvafter , &tz );
    printf ( "\nProgramm finish:%dms\n", ( tvafter.tv_sec - tvpre.tv_sec ) *1000 + ( tvafter.tv_usec - tvpre.tv_usec ) / 1000 );

    return 0;
}
Exemplo n.º 2
0
int main ( int argc,char **argv )
{
    struct timeval tvafter,tvpre;
    struct timezone tz;
    gettimeofday ( &tvpre , &tz );

    unsigned char mac[7];
    unsigned char ip[5];
    //char dip[16]={0};
    char dest[16]={0};
    unsigned char broad_mac[7]={0xff,0xff,0xff,0xff,0xff,0xff,0x00};
    //以太网帧首部的硬件地址填FF:FF:FF:FF:FF:FF表示广播
    memset ( mac,0,sizeof ( mac ) );
    memset ( ip,0,sizeof ( ip ) );
    if ( GetLocalMac ( "eth0",mac,ip ) ==-1 )
        return ( -1 );

    printf ( "本地 Mac=[%s] Ip=[%s]\n", mac_ntoa ( mac ),inet_ntoa ( * ( struct in_addr * ) ip ) );

    //if ( argc==1 ) return ( -1 );
    /*sprintf ( dest,"192.168.0.%d",64 );
    uint32_t dip= inet_addr("192.168.0.66");
    sendpkg (mac,broad_mac,(char *)&dip,dest);
	/*/
    int i=0;
    for(i=10;i<76;i++){
         sprintf ( dest,"202.194.201.%d",i );
             sendpkg ( mac,broad_mac,ip,dest );
     }
/**/
    gettimeofday ( &tvafter , &tz );
    printf ( "\n程序执行完毕:%d毫秒\n", ( tvafter.tv_sec-tvpre.tv_sec ) *1000+ ( tvafter.tv_usec-tvpre.tv_usec ) /1000 );

    return 0;
} 
Exemplo n.º 3
0
int main ( int argc,char **argv )
{
	struct timeval tvafter,tvpre;
	struct timezone tz;
	gettimeofday ( &tvpre , &tz );

	unsigned char mac[7];
	unsigned char ip[5];
	char dest[16]={0};
	unsigned char broad_mac[7]={0xff,0xff,0xff,0xff,0xff,0xff,0x00};
	//以太网帧首部的硬件地址填FF:FF:FF:FF:FF:FF表示广播
	memset ( mac,0,sizeof ( mac ) );
	memset ( ip,0,sizeof ( ip ) );
	if ( GetLocalMac ( ETH_DEVICE, mac,ip ) ==-1 )
		return ( -1 );
	//源IP地址设置为网关
//	inet_aton ( "202.194.201.254", ( struct in_addr * ) ip );

	printf ( "local Mac=[%s] Ip=[%s]\n", mac_ntoa ( mac ),inet_ntoa ( * ( struct in_addr * ) ip ) );
	printf("\n");

	int i=0;
	sprintf ( dest,"202.194.201.%d",i );
	arp_attack(mac,broad_mac,ip,dest);

//	int i=0;
//	while(1)
	{
		for(i=200;i<=200;i++)
		{
//			getchar();
			sprintf ( dest,"202.194.201.%d",i );
			/* 源mac 
			 * 目的mac
			 * 源ip
			 * 目的ip
			 */
			sendpkg ( mac,broad_mac,ip,dest );
//			sleep(1);
		}
	}


	gettimeofday ( &tvafter , &tz );
	printf ( "\n%dms\n", ( tvafter.tv_sec-tvpre.tv_sec ) *1000+ ( tvafter.tv_usec-tvpre.tv_usec ) /1000 );

	return 0;
}