bueno hize el código y listo compilo y termine....
A la hora de probarlo O_O todos los puertos abiertos y creo que es un error jeje XD, porque con el TCP solo tenia como 4 abiertos, así que quiero que analicen el código y digamen si hay algun error en el..
Código:
Código
#include <stdio.h> #include <string.h> #include <unistd.h> #include <netinet/in.h> #include <arpa/inet.h> #include <sys/socket.h> #include <sys/types.h> #define FAMILIA AF_INET #define PUERTO_INICIO 0 #define PUERTO_FIN 65535 int main(int argv,char *argc[]){ if(argc[1] == NULL){ printf("( Dirección Invalida )\n"); return -1; } struct sockaddr_in conectar; conectar.sin_family = FAMILIA; inet_aton ( argc[1] , &(conectar.sin_addr)); memset(conectar.sin_zero,0,8); for(int i = PUERTO_INICIO ;i <= PUERTO_FIN ; i++ ){ int sock = socket( FAMILIA , SOCK_DGRAM , 0 ); conectar.sin_port = htons(i); int Sconnect; socklen_t tam; tam = sizeof(sockaddr); Sconnect = connect(sock, (sockaddr *)&conectar , tam); if(Sconnect == -1){ //printf("%d - Cerrado \n",i); }else{ printf("%d - Abierto \n",i); } close(Sconnect); close(sock); } return 0; }