Simple scanner de ports

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 869 fois - Téléchargée 18 fois

Contenu du snippet

Juste un scanner de ports pour linux . Mais je crois qu'il doit fonctionner sous windows apres quelques petites modifications :)
Sinon sous linux pour accéder aux ports < 1025 il faut être un super utilisateur.

Source / Exemple :


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

int main( int argc,char** argv){
  struct sockaddr_in localaddr;/*local add redéfinie pour tcp/ip*/
  if(getuid()!=0){
    printf("Relancer en mode SU\n");
    exit(-1);}
  int i;
  for(i=1;i<65535;i++){
    int my_socket;
    if((my_socket=socket(PF_INET,SOCK_STREAM,0))==-1){
      perror("Erreur de création du socket");
      exit(-1);
    }
    localaddr.sin_family=AF_INET;/*Protocol*/
    localaddr.sin_addr.s_addr=inet_addr("127.0.0.1");/*Adresse ip*/
    localaddr.sin_port=htons(i);
    if(bind(my_socket,(struct sockaddr*)&localaddr,sizeof(struct sockaddr_in))==-1){
      printf("Port : %d ouvert\n",i);
    }
    close(my_socket);
  }
  return 0;
}

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.