Captura de Banners dos Serviços

Publicado por Anderson L Tamborim 26/06/2004

[ Hits: 7.679 ]

Homepage: http://y2h4ck.wordpress.com

Download mini-scan.c




Script simples que captura o banner dos serviços que estao rodando nas portas at ivas, sendmail, ssh, ftp etc.

  



Esconder código-fonte

/*
*  Exemplo simples de um mini script que captura os serviços
* ativos na porta do sistema alvo por meio de banners.
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <netdb.h>
#include <errno.h>
#include <unistd.h>
#include <sys/socket.h>

 int main(int argc, char *argv[])
 {
         char grab[911];
         int port,sock;
         struct hostent *aap;
         struct sockaddr_in addr;
    if(argc<2) { fprintf(stderr,"%s <host> <port>\n",argv[0]);
                 exit(1); }
         if(argc>2) { port=atoi(argv[2]); }
         if((aap=(struct hostent *)gethostbyname(argv[1]))==NULL) {
                 perror("gethostbyname()");
                 exit(1); }
         if((sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP))<0)  {
                 perror("socket()");
                 exit(1); }             addr.sin_family=AF_INET;
                                        addr.sin_port=htons(port);
         
                 memcpy((char *)&addr.sin_addr,(char *)aap->h_addr,aap->h_lengt$
                 if(connect(sock,(struct sockaddr *)&addr,sizeof(addr))!=0) {
                 perror("connect()");
                 exit(0); }                     fflush(stdin);
                                                read(sock,&grab,910);
                                                printf("%s",grab);
                                                return(0);
  }
       

Scripts recomendados

Cifra de Vigenère

Cálculo da chave secreta do protocolo Diffie-Hellmann

[C] Criptografia por Inversão de bits

Criptografia

Esse código pode ser considerado um vírus?


  

Comentários
[1] Comentário enviado por container em 19/06/2006 - 10:43h

Tentei compilar no GCC mas não deu certo!!! como faço???

[2] Comentário enviado por tatototino em 06/08/2006 - 02:06h

Ai Anderson tem um pequeno erro no seu programinha

a linha arrumada

memcpy((char *)&addr.sin_addr,(char *)aap->h_addr,aap->h_length);

Basico, muito bom para iniciantes!

[3] Comentário enviado por s0l1d_k3rn3l em 08/01/2010 - 05:20h

aew

muito bom!

flw


Contribuir com comentário