[eside-ghost] Cambiar IP desde programa C o C++
zgor
zgor en int80h.net
Sab Nov 5 10:41:17 CET 2005
Aupi tu!
>
> Como puedo hacer para desconectar el ordenador de internet, cambiar la
> direccion IP y despues volverme a conectar con otra IP nueva desde un
> programa? hecho en C o C++ por ejemplo y todo desde linux claro jejeje.
>
> E
algo asi como:
/---------------___ copy and paste billy ! ------------------
*int* *ztuntap_setIP*(*char* *ip_str)
{
*struct* in_addr ipaddr;
*struct* ifreq ir;
*struct* sockaddr_in *sin = (*void* *) &ir.ifr_ifru.ifru_addr;
*int* ctrl_sock;
debug(3,*"Trying to set ip: %s"*,ip_str);
*if* (!inet_aton(ip_str,&ipaddr) )
{
debug_error(*"Invalid IP Address"*);
*return* -1;
}
debug(4,*"TUNTAP SET IP addr = %08x\n\n"*,ipaddr.s_addr);
ctrl_sock = socket(PF_INET, SOCK_DGRAM, 0);
*if*(ctrl_sock < 0 )
{
debug_error(*"Cannot Allocate Socket"*);
*return* -1;
}
memset(&ir, 0, *sizeof*(ir));
strcpy(ir.ifr_ifrn.ifrn_name, iface_name);
sin->sin_family = AF_INET;
sin->sin_addr.s_addr = ipaddr.s_addr;
sin->sin_port = 0;
*if* ( ioctl(ctrl_sock,SIOCSIFADDR,&ir) < 0 )
{
debug_error(*"Failed to Assign IP Address"*);
*return* -1;
}
close(ctrl_sock);
*return* 0;
}
------------- END THE COPY Wox -------------
iwal hay alguna burrada, cuando lo hice medio copie pegue por ahi al
garete XDD
para el netmask, broadcast, ... es iwal, pero en el IOCTL haz una llamada a:
SIOIFNETMASK por ejemplo en vez de SIOCSIFADDR
enga tio ! suerte !
ueueue
Más información sobre la lista de distribución eside-ghost