Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Risketo

#1
Hola, estoy intentando aceptar paquetes tcp desde el puerto 4445 solo desde una ip de mi red local. El problema es que los acepta de toda la red local.
El código que utilizo es el siguiente:

iptables -A INPUT -s 192.168.1.11/24 -d 192.168.1.10 -p tcp -m tcp --dport 4445 -j ACCEPT

Pero cuando listo las reglas de iptables con iptables -L -n esa linea es la siguiente:

ACCEPT     tcp  --  192.168.1.0/24       192.168.1.10         tcp dpt:4445

Cambia el 11 por un 0, por lo que todos los dispositivos conectados a mi red interna tienen acceso...
Qué se puede hacer para que solo acepte trafico del puerto 4445 desde una sola ip?
Muchas gracias.
#2
Programación C/C++ / Valor de system()
15 Octubre 2012, 23:31 PM
Hola que tal, estaba haciendo un programa que hace una llamada a al sistema operativo y me devuelve un valor, hasta ahí todo bien pero después no se como usar el valor que me devuelve.

El código es el siguiente:

int main(){

char core0[]="sensors | grep Core\\ 0 | cut -c 18-19";
system(core0);

return 0;
}


Y me devuelve la temperatura del procesador del pc.
52

La pregunta es: como pasar lo que me devuelve system() a int para poder operar con ese valor?
Lo he intentado haciendo:
int x;
x=system(core0);

if ( x == 50 ) {printf ("cincuenta");}
if ( x == 51 ) {printf ("cincuenta y uno");}


Pero nada...

Muchas gracias de antemano.
#3
Programación C/C++ / Incrementando en fichero
19 Agosto 2012, 01:44 AM
Aquí vengo con otra duda, bueno mas que duda un problema que no se solucionar...
Creo un fichero en el cual escribo lo que quiera, pero, quiero que cada vez que se ejecute el programa y se escriba se ponga un identificador en dicho texto y que empiece desde el numero 1 y se vaya incrementando cada vez que se escribe, para cuando abra el fichero ponga 1 y la frase, 2 y la otra frase etc. Lo traté de hacer con fread pero pasa del 1 al 3 al 7 etc... La verdad es que no se donde estará el error, ni si es un error tonto o una payasada.


#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(){
FILE *fichero;
unsigned int ultimo=1;
unsigned int *ptr;
char texto[50];

if ((fichero = fopen ("fread.lst","rt")) != NULL){

fread (&ptr, sizeof (ultimo),1,fichero);

while (! feof(fichero)){
ptr=&ultimo;
fread (&ptr, sizeof (ultimo),1,fichero);

ultimo++;
}
}

fichero = fopen ("fread.lst","a+");
fprintf (fichero,"%d",ultimo);
fgets (texto,49,stdin);
fprintf(fichero,"\n%s", texto);

fclose (fichero);

return 0;
}


Muchas gracias por vuestro tiempo.
#4
Programación C/C++ / Poner contraseña
25 Julio 2012, 02:05 AM
Buenas, estudiando c quería hacer un programa que pidiese contraseña y simplemente termine cuando se ponga la contraseña correcta.

#include <stdio.h>
#include <string.h>

int main()
{
char passwd[]="xD", texto[3]; 

do {
printf ("Introduce la contrasena: ");
fgets(texto,3,stdin);

if (strcmp(passwd, texto)==0){
printf ("Contrasena correcta");
}
else {
printf ("Contrasena incorrecta\n");
}
}
while (strcmp(passwd, texto)!=0);

return 0;
}



El código compila sin errores y funciona al poner la contraseña correcta, pero cuando pongo una incorrecta me devuelve lo siguiente:



Introduce la contraseña: sfsd
Contraseña incorrecta
Introduce la contraseña: Contraseña incorrecta
Introduce la contraseña: Contraseña incorrecta
Introduce la contraseña:



Y si introduzco la contraseña seguido de algo mas la da por valida, por ejemplo:



Introduce la contraseña: xDasf
Contraseña correcta


Muchas gracias de antemano.