elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
06 Septiembre 2008, 01:11  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderador: ®®)
| | |-+  Conexion telefonica
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Conexion telefonica  (Leído 430 veces)
macamba

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Conexion telefonica
« en: 03 Septiembre 2007, 10:02 »

Hola a todos

Mi problema es q quiero conectar a internet pero no consigo q haga nada este codigo

-------------------------------------------------------------------------------
#include <windows.h>
#include <win32\ras.h>

int main()
{
RASDIALPARAMSA ras;
HANDLE handle;

strcpy(ras.szPhoneNumber,"908250250");
strcpy(ras.szUserName,"tu@eresmas");
strcpy(ras.szPassword,"gratis");
strcpy(ras.szEntryName,"Eresmas");

RasDialA(NULL,NULL,&ras,NULL,NULL,&handle);
}
-------------------------------------------------------------------------------

De momento lo q quiero es hacer la conexion y despues conseguir la ip q me asigna lo cual veo bastante chungo ya q no soy capaz ni de hacer la conexion

Gracias y un saludo
En línea
macamba

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: Conexion telefonica
« Respuesta #1 en: 22 Febrero 2008, 01:37 »

Bueno me autocontesto fue algo q deje olvidado pero que he topado con el codigo correcto por si a alguien le interesa realizar una conecxion por poden atraves de c++:

-------------------------------------------------
#include <windows.h>
#include <ras.h>
#include <stdio.h>

bool DialUp(char EntryName[],char UserName[],char Password[]);

int main(int argc, char* argv[])
{
if (argv[1] != NULL && argv[2] != NULL && argv[3] != NULL )
 {
 if(DialUp(argv[1],argv[2],argv[3]) == true)
  exit(0);
 else
  exit(1);
 }
else
 {
 puts("Error Parameters");
 exit(1);
 }
}

bool DialUp(char EntryName[],char UserName[],char Password[])
{
    // Fill RASDIALPARAMS structure
    RASDIALPARAMS rdParams;
    rdParams.dwSize = sizeof(RASDIALPARAMS);
    rdParams.szEntryName[0] = '\0';
  //  lstrcpy(rdParams.szPhoneNumber, szPhoneNumberToDial);
    rdParams.szCallbackNumber[0] = '\0';
    lstrcpy( rdParams.szEntryName, EntryName );
    lstrcpy( rdParams.szUserName, UserName );
    lstrcpy( rdParams.szPassword, Password );
    rdParams.szDomain[0] = '\0';

    HRASCONN hRasConn = NULL;
    DWORD dwRet = RasDial( NULL, NULL, &rdParams, 0L, NULL, &hRasConn );

    // Everything OK?
    if (dwRet == 0) 
        return true;

    // Error occurred - get error description and alert user
    char  szBuf[256];
    if (RasGetErrorString( (UINT)dwRet, (LPSTR)szBuf, 256 ) != 0 )
        wsprintf( (LPSTR)szBuf, "Undefined RAS Dial Error (%ld).", dwRet );
    RasHangUp( hRasConn );
    printf("Error: %s",szBuf);

    return false;
}
---------------------------------------------------------


Hay q pasarle 3 parametros que son => Nombre de la entrada, nombre de usuario y password

Un saludo
En línea
macamba

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: Conexion telefonica
« Respuesta #2 en: 24 Febrero 2008, 15:23 »

#include <windows.h>
#include <ras.h>
#include <stdio.h>

bool DialUp(char EntryName[],char UserName[],char Password[]);
bool DialDown(char EntryName[]);
bool DialExist(char EntryName[]);
bool IP_Entrada(char *IP,char EntryName[]);
void route(char IP[],char Rango[],char Mask[]);

int main(int argc, char* argv[])
{
if (argv[1] != NULL && argv[2] != NULL && argc == 3)
 {
 if(strcmpi(argv[1],"-d") == 0)
  {
  if(DialDown(argv[2]) == 0)
   {
   printf("Desconexion de %s con exito\n",argv[2]);
   exit(0);
   }
  else
   {
   printf("%s no esta activa\n",argv[2]);
   exit(1);
   }
  }
 else
  {
  printf("Error Parametros\n");
  exit(1);
  }
 }
if (argv[1] != NULL && argv[2] != NULL && argv[3] != NULL && argv[4] != NULL && argv[5] != NULL)
 {
 if(DialExist(argv[1]) == 1)
  {
  if(DialUp(argv[1],argv[2],argv[3]) == true)
   {
   printf("Conexion a %s ralizada con exito\n",argv[1]);
   char ip[16];
   if(IP_Entrada(ip,argv[1]) == 0)
    {
    route(ip,argv[4],argv[5]);
    printf("Fin del comando con exito\n");
    exit(0);
    }
   printf("No ha sido posible obtener la IP de %s\n",argv[1]);
   exit(1);
   }
  exit(1);
  }
 printf("Conexion %s ya existe\n",argv[1]);
 char ip[16];
 if(IP_Entrada(ip,argv[1]) == 0)
  {
  route(ip,argv[4],argv[5]);
  printf("Fin del comando con exito\n");
  exit(0);
  }
  printf("No ha sido posible obtener la IP de %s\n",argv[1]);
 exit(1);
 }
else
 {
 printf("Error Parametros\n");
 exit(1);
 }
}


//Funciones;
//Funcion DialUp: Realiza una conexion usando los siguientes parametros;
//Nonbre de entrada de conecxiones, Usuario y Password
bool DialUp(char EntryName[],char UserName[],char Password[])
{
// Fill RASDIALPARAMS structure
RASDIALPARAMS rdParams;
rdParams.dwSize = sizeof(RASDIALPARAMS);
rdParams.szEntryName[0] = '\0';
//lstrcpy(rdParams.szPhoneNumber,szPhoneNumberToDial);
rdParams.szCallbackNumber[0] = '\0';
lstrcpy(rdParams.szEntryName,EntryName);
lstrcpy(rdParams.szUserName,UserName);
lstrcpy(rdParams.szPassword,Password);
rdParams.szDomain[0] = '\0';
HRASCONN hRasConn = NULL;
printf("Conectando con %s...\n",EntryName);
DWORD dwRet = RasDial(NULL,NULL,&rdParams,0L,NULL,&hRasConn);
// Everything OK?
if(dwRet == 0)
 return true;
// Error occurred - get error description and alert user
char szBuf[256];
if(RasGetErrorString((UINT)dwRet,(LPSTR)szBuf,256) != 0)
 wsprintf((LPSTR)szBuf,"Error: (%ld) Desconocido", dwRet );
RasHangUp(hRasConn);
printf("Error: %s",szBuf);
return false;
}

//Funcion DialDown: Se encarga de desconectar una entrda pasada por parametro
bool DialDown(char EntryName[])
{
RASCONN ras[20];
DWORD dSize,dNumber;
ras[0].dwSize = sizeof(RASCONN);
dSize = sizeof(ras);
if(RasEnumConnections(ras,&dSize,&dNumber) == 0)
 {
 DWORD x;
 for(x=0;x<dNumber;x++)
  {
  if(strcmpi(ras
  • .szEntryName,EntryName) == 0)
   {
   if(RasHangUp(ras
  • .hrasconn) == 0)
    return(0);
   else
    return(1);
   }
  }
 return(1);
 }
else
 return 1;
}

//Funcion DialExist: Comprueba si esta activa la entrada pasada por parametro
bool DialExist(char EntryName[])
{
RASCONN ras[20];
DWORD dSize,dNumber;
ras[0].dwSize = sizeof(RASCONN);
dSize = sizeof(ras);
if(RasEnumConnections(ras,&dSize,&dNumber) == 0)
 {
 DWORD x;
 for(x=0;x<dNumber;x++)
  {
  if(strcmpi(ras
  • .szEntryName,EntryName) == 0)
   return(0);
  }
 }
return 1;
}

//Funcion IP_Entrada: Devuelve la IP que ha asignado a la entrada
bool IP_Entrada(char *IP,char EntryName[])
{
RASCONN ras[20];
DWORD dSize,dNumber;
ras[0].dwSize = sizeof(RASCONN);
dSize = sizeof(ras);
if(RasEnumConnections(ras,&dSize,&dNumber) == 0)
 {
 DWORD x;
 for(x=0;x<dNumber;x++)
  {
  if(strcmpi(ras
  • .szEntryName,EntryName) == 0)
   {
   RASPPPIP rip;
   rip.dwSize = sizeof(RASPPPIP);
   DWORD cb = sizeof(rip);
   if (!RasGetProjectionInfo(ras
  • .hrasconn,RASP_PppIp,(LPVOID)&rip,&cb))
    strcpy(IP,rip.szIpAddress);//printf("IP asignada %s\n",rip.szIpAddress);
   return 0;
   }
  }
 }
return 1;
}

//Funcion route: Enruta un rango de IP con su respectiva mascara por la IP que le hemos pasado
void route(char IP[],char Rango[],char Mask[])
{
char route[360]="Route add ";
strcat(route,Rango);
strcat(route," MASK ");
strcat(route,Mask);
strcat(route," ");
strcat(route,IP);
puts(route);
system(route);
}

---------------------------
Los
  • equivalen [ x ]
« Última modificación: 24 Febrero 2008, 15:47 por macamba » En línea
Páginas: [1] Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC