Bienvenido: ( Identificarse | Registrarse )      
Foros de Trucos Windows
 
Closed TopicStart new topicStart Poll

Outline · [ Estándar ] · Lineal+

> Scanear puertos, Scanear puertos

analauris
post Apr 22 2005, 02:43 AM
Publicado: #1


Newbie
*

Grupo: Members
Mensajes: 4
Registrado: 16-April 05
Miembro nº: 113.401



HOLA A TODOS, POR FA SI ALGUIEN SABE COMO SCANEAR PUERTOS EN C DE LINUX, Y SI TIENEN EL CODIGO SE LOS AGRADECERIA MUCHO.
SALUDOS.

bye1.gif


User is offlineProfile CardPM
Go to the top of the page
+Quote Post
bres
post Apr 22 2005, 09:54 AM
Publicado: #2


I si m'equivoco torno a començar
Group Icon

Grupo: Supervisor Global
Mensajes: 810
Registrado: 22-July 03
Desde: Barcelona - Catalunya - España
Miembro nº: 3



Primero de todo, por favor, no escribas en mayúsculas, lo pone en las normas del foro. Ahora:

Tengo un código que hice hace tiempo. No es un scanner que te diga que servidor hay en cada puerto, pero para empezar a trabajar sobre él te puede servir.
Este lo que va haciendo es probar de conectarse a los puertos de un rango que te pide antes por teclado.
Los strings estan en catalan y me ha dado pereza traducirlos. Lo primero que te pide es el nombre de host (o ip) a escanear, luego el puerto mínimo y el puerto máximo. Cuando hay conexion te muestra el número de puerto y te dice que ha habido conexion.
CODE

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <errno.h>
#include <netdb.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>


int main(int argc, char* argv[]){
struct hostent *host;
struct sockaddr_in dest_addr;
int sockd, portm,portM;
char hostname[200];
printf("Introdueix el nom de host: ");
scanf("%s",&hostname);
if((host = gethostbyname(hostname))==NULL){//consultem el nom amb el DNS
 printf("Error al resoldre DNS\n");
 exit(1);//si no es pot resoldre ,sortim
}
printf("Host name: %s\n",host->h_name);//mostrem el nom d'host i la IP
printf("IP: %s\n", inet_ntoa(*((struct in_addr *)host->h_addr)));
printf("Socket creat correctament\n\n");
printf("Introdueix el port mínim: ");
scanf("%d",&portm);
printf("Introdueix el port màxim: ");
scanf("%d",&portM);
dest_addr.sin_family=AF_INET;//familia d'adreces d'internet
dest_addr.sin_addr=*((struct in_addr *)host->h_addr);//adreça a la que ens conectarem,
memset(&(dest_addr.sin_zero),'\0',8);//omplim de zeros la resta de l'estructura
for(;portm<=portM;portm++){
 if((sockd = socket(AF_INET,SOCK_STREAM,0))==-1){//creem un socket
  printf("Error al obrir el socket\n");
  exit(1);//si no es pot obrir sortim
 }
 dest_addr.sin_port=htons(portm);//port al que ens connectarem
 if(-1==connect(sockd,(struct sockaddr*)&dest_addr,sizeof(struct sockaddr))){
 }else{
  printf("%d - hi ha connexió\n",portm);
 }
 close(sockd);
}
printf("Connexió tancada\n");
exit(0);
}



User is offlineProfile CardPM
Go to the top of the page
+Quote Post
analauris
post Apr 24 2005, 03:42 AM
Publicado: #3


Newbie
*

Grupo: Members
Mensajes: 4
Registrado: 16-April 05
Miembro nº: 113.401



o.que. ¿así, en minúsculas?
bueno, gracias, voy a checar el código biggrin.gif


User is offlineProfile CardPM
Go to the top of the page
+Quote Post

 
Closed TopicTopic OptionsStart new topic

Collapse

> Topicos similares

puertos de juego martin martin 237 11 Oct 9 2008, 08:48 AM
By: RedPhoenix
mirar puertos proxy oscaritz 216 5 Oct 5 2008, 11:25 AM
By: Kbite
puertos que se nesecitan abrir para que en utor ... javese 284 1 Oct 1 2008, 02:36 PM
By: Sonic999
como puedo abrir los puertos del router inalamb ... juancho_pucela 541 2 Sep 23 2008, 02:45 PM
By: Kbite
como puedo abrir los puertos del router inalamb ... juancho_pucela 0 0 Sep 23 2008, 02:45 PM
By: Kbite