/* Rhaft.c  
 * Netcraft Imitation tool.
 * 
 * Digit-Labs Information Security
 *
 *
 * by grazer
 * grazer@digit-labs.org
 *
 * greetings to HWA and HIT2000
 */

#include<stdio.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<netdb.h>

main(int argc, char *argv[])
{
 int sock;
 struct in_addr addr;
 struct sockaddr_in sin;
 struct hostent *he;
 char digit[1024];

 if (argc<2)
   {
   printf("\n usage : %s <system> | grep Server: \n",argv[0]);
   exit(0);
   }

 if ((he=gethostbyname(argv[1])) == NULL)
   {
   herror("gethostbyname");
   exit(0);
   }

   sock=socket(AF_INET, SOCK_STREAM, 0);
   bcopy(he->h_addr, (char *)&sin.sin_addr, he->h_length);
   sin.sin_family=AF_INET;
   sin.sin_port=htons(80);

  if (connect(sock, (struct sockaddr*)&sin, sizeof(sin))!=0)
     {
     perror("connect");
     }
 
   send(sock, "HEAD / HTTP/1.0\n\n",17,0);
   recv(sock, digit, sizeof(digit),0);
   printf("%s", digit);
   close(sock); 
}
 
