elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Mensajes
Páginas: 1 ... 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [18]
171  Programación / Scripting / [bash] [Redireccion de descriptores de archivo] ¿Por que una linea funciona y la otra no? en: 1 Enero 2023, 18:16 pm
Feliz año nuevo,

Tengo una duda...

Si abro dos terminales, y en una ejecuto:

(cliente)
Código
  1. nc localhost 80 1>&0

y en la otra:

(servidor)
Código
  1. nc -lvp 80

y del lado del servidor escribo:

Código
  1. hola
  2.  

Del lado del cliente, nc no redirige stdout a stdin, y por lo tanto no veo de vuelta "hola" en la terminal del lado del servidor.

Sin embargo, si utilizo archivos para redirigir el i/o:

(cliente)
Código
  1. touch temp && tail -f temp | nc localhost 80 > temp && rm temp

(servidor)
Código
  1. nc -lvp 80

entonces, si envias "hola" desde el servidor, te lo devuelve como un espejo:

Código
  1. hola
  2. hola
  3.  

¿Por que el primer metodo no funciona y el segundo si?

Gracias...
172  Sistemas Operativos / GNU/Linux / kallsyms en kallsyms_lookup_name() en: 31 Diciembre 2022, 17:24 pm
Hola : )

La pregunta es simple. En la funcion kallsyms_lookup_name, ¿Que significa kallsyms?

Gracias.

Feliz casi año nuevo : D

PD: supongo que k de kernel, all de allocate, syms de symbols. Pero es que quiero estar seguro xd

PD2: Hay parches para que esta funcion no pueda ser exportada (mas bien para "desexportarla")... Entonces esta funcion no puede ser una syscall, ¿O si? ¿Pueden las syscalls ser "desexportadas" (Supongo que removiendolas de la IDT)?
173  Sistemas Operativos / GNU/Linux / Re: Redireccion de descriptores de archivo supuestamente ambigua (bash) en: 29 Diciembre 2022, 13:15 pm
Hola, gracias por contestar. : D

Pues parece que fue un mal entendido de como funciona bash. Tienes razon. Pensaba que /dev/tcp... te devolvia un descriptor de archivo, ahora veo que se trata de una sintaxis como tal de bash. La verdad creo que seria mas eficiente si te devolviera un fd. Igual me pierdo de algo. Muchas gracias.

(Y respecto a 2>, es que tambien pretendia redirigir stderr al socket).
174  Programación / Programación C/C++ / Re: Programa que detecte VPN en: 28 Diciembre 2022, 14:00 pm
Como dijo el compañero de arriba, estas poniendo el foco en el lugar equivocado. Tendras que desarrollar una solucion del lado del servidor mas robusta. Por ejemplo, una forma en que el juego no sea afectado por el delay. Se que suena sencillo y no lo es.

Suerte caballero.
175  Programación / Programación C/C++ / Linked lists. Una pequeña duda en: 28 Diciembre 2022, 13:56 pm
Hasta que me puse a experimentar con otras alternativas para codificar las listas, no me habia fijado en esto.

Si se implementa una funcion de insercion asi:

Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5. struct list
  6. {
  7. char data[512];
  8.  
  9. struct list *next;
  10. };
  11.  
  12. struct list *list_add(struct list **l, struct list element);
  13. //struct list *list_roam(struct list *l);
  14.  
  15. struct list *list_add(struct list **l, struct list element)
  16. {
  17. struct list **aux, *head;
  18. unsigned int count=0;
  19.  
  20. if(*l==NULL)
  21. {
  22. *l=(struct list *)malloc(sizeof(struct list));
  23. if(*l==NULL)
  24. {
  25. return *l;
  26. }
  27.  
  28. memcpy((struct list *) *l,
  29. (struct list *) &element,
  30. sizeof(struct list));
  31.  
  32. (*l)->next=NULL;
  33.  
  34. printf("1st element (addr %x) \n", *l);
  35.  
  36. return *l;
  37. }
  38.  
  39. aux=l;
  40. head=*l;
  41.  
  42. printf("head=%x \n", head);
  43.  
  44. printf("1: (*aux)=%x \n", (*aux));
  45. printf("1: (*aux)->data=%s \n", (*aux)->data);
  46.  
  47. while((*aux)!=NULL)
  48. {
  49. (*aux)=(*aux)->next;
  50. ++count;
  51. }
  52.  
  53. printf("2: (*aux)=%x \n", (*aux));
  54. printf("2: (*aux)->data=%s \n", (*aux)->data);
  55.  
  56. (*aux)=(struct list *)malloc(sizeof(struct list));
  57. if((*aux)==NULL)
  58. {
  59. *l=head;
  60. return *aux;
  61. }
  62.  
  63. memcpy((struct list *) (*aux),
  64. (struct list *) &element,
  65. sizeof(struct list));
  66.  
  67. (*aux)->next=NULL;
  68.  
  69. printf("3: (*aux)->data=%s \n", (*aux)->data);
  70.  
  71. printf("count=%d \n", count);
  72.  
  73. printf("head=%x \n", head);
  74.  
  75. *l=head;
  76. return *aux;
  77. }
  78.  
  79. int main(int argc, char **argv)
  80. {
  81. struct list *l=NULL;
  82. struct list data;
  83.  
  84. printf("linked list \n");
  85.  
  86. strcpy(data.data, "1");
  87. list_add(&l, data);
  88. strcpy(data.data, "2");
  89. list_add(&l, data);
  90. strcpy(data.data, "3");
  91. list_add(&l, data);
  92. strcpy(data.data, "4");
  93. list_add(&l, data);
  94. strcpy(data.data, "5");
  95. list_add(&l, data);
  96.  
  97.        return 0;
  98. }
  99.  

(notese que los prinft son para debugging)

Se como hacer una funcion de insercion funcional. Lo que no entiendo es por que esta forma de implementarla no funciona.

La funcion, segun lo que deduje, se comporta como si (*aux) no apuntara al siguiente nodo cuando la atraviesas, sino a algun otro lugar. No entiendo por que... ¿A donde va a apuntar? Si aux es un puntero, no la estructura. Ademas le especifique (aux=l) como se puede ver arriba.

Agradezco cualquier indicio. Un saludote.
176  Sistemas Operativos / GNU/Linux / Redireccion de descriptores de archivo supuestamente ambigua (bash) en: 25 Diciembre 2022, 17:05 pm
Buenas Navidades,

Es mi primer post en el foro. Sin enrollarme mucho me alegro (de volver) aqui y continuo con la pregunta:

Si ejecuto bash interactivo de la siguiente forma:

Código
  1. bash -i 1>& /dev/tcp/127.0.0.1/8080 0>&1 2>&1
  2.  

Puedo redirigir con exito stdout al socket, stdin a stdout (al socket) y stderr a stdout (").

El problema es que si hago lo siguente:

Código
  1. bash -i 0>& /dev/tcp/127.0.0.1/8080 1>&0 2>&0
  2.  

Obtengo el error:

Código
  1. bash: /dev/tcp/127.0.0.1/8080: ambiguous redirect
  2.  

Para entender por que no entiendo yo por que no funciona, yo me imagino la primera linea de comandos asi:

stdout -> socket
stdin <- socket

Lo unico que me imagino que cambia con la segunda, es que se convierte en:

stdin <- socket
stdout -> socket

¿Por que no funciona como deberia?

Gracias de antemano y feliz Navidad de nuevo. Jingle bells jingle bells jingle all the way :D
Páginas: 1 ... 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [18]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines