>3. para comunicar del servidor al cliente hago uso de esta
>linea: write(Conexion, mensaje, sizeof(mensaje)); //la madre q funciona

Funciona porque está enviando el "0" de final de cadena también.

> intente hacer esto:
>     char *ex[3];
>     ex[0]="/bin/sh";
>     ex[1]="sh";
>     ex[2]=NULL;
>    write(Conexion, &ex, sizeof(ex)); //pero NO sirve pq solo apuntara a la
> primera posicion ex[0] y al llegar al cliente me permite escribir, pero no
> en el //servidor sino en el limbo

Ahí está intentando enviar enviando 3 punteros por red. Creo que sizeof(ex)
debería ser equivalente a sizeof(char*) * 3,y creo que no es eso lo que
realmente quiere. De hecho, no está enviando los 3 punteros. Creo que hay
un "&" de más en la línea write(Conexion, &ex, sizeof(ex));

Tal vez acá lo que quiere hacer es:

ex[0]="/bin/sh";
ex[1]="sh";
ex[2]=""; /* cadena vacía en lugar de nulo, convertir en el otro lado */

for (i = 0; i < 3; ++ i)
  write(Conexion, ex[i], strlen(ex[i]) + 1);

Nota: no he probado nada de lo que dice acá.

Por si no la ha visto, hay una guía de sockets buena en:

http://beej.us/guide/bgnet/
Con una traducción al español algo vieja.

Atte,
N.-

-- 
http://arhuaco.org

_______________________________________________
Lista de correo de Colibri 
Colibri@listas.el-directorio.org
http://listas.el-directorio.org/cgi-bin/mailman/listinfo/colibri

El Directorio, el sitio del Software Libre  en Colombia:
http://www.el-directorio.org

Reply via email to