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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Temas
Páginas: [1]
1  Programación / Java / SOCKETS UDP Ayuda!! en: 15 Mayo 2022, 14:21 pm
Buenas, estoy haciendo un programa en java Cliente y Servidor con sockets UDP. El cliente y el servidor se deben de enviar mutuamente ( intercambiando mensajes ) la hora actual en el momento de ejecucion, y tambien deben de imprimir el número segundos transcurridos en el intercambio de mensajes(ESTO ULTIMO NO TENGO NI IDEA DE COMO LO PUEDO HACER). He hecho el codigo del intercambio de hora pero me da error. Si alguien porfavor me pudiese ayudar a saber donde esta el fallo y tambien si me puede ayudar a saber como puedo hallar los segundos transcurridos, estaría muy agradecida.

Codigo Cliente:

Código:
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class ClienteUDPHora {

public static void main(String[] args) {

try {
DatagramSocket socketUDP = new DatagramSocket();
byte[] mensaje = args[0].getBytes();
InetAddress hostServidor = InetAddress.getByName(args[1]);
int puertoServidor = 5000;

//Construimos un datagrama para enviar el mensaje al Servidor
DatagramPacket peticion =
new DatagramPacket(mensaje, args[0].length(),
hostServidor, puertoServidor);
//Enviamos el datagrama
            SimpleDateFormat dateFormat=new SimpleDateFormat("[yyyy-MM-dd HH:mm:ss]");// Establecer el formato de fecha
            System.out.println("Fecha y hora enviadas al servidor: "+dateFormat.format(new Date()));

socketUDP.send(peticion);


//Construimos el datagrama que contendra la respuesta
byte[] buffer = new byte[1000];
DatagramPacket respuesta = new DatagramPacket(buffer, buffer.length);

socketUDP.receive(respuesta);

//Enviamos la respuesta del servidor a la salida estandar
System.out.println("Respuesta: "+ new String(respuesta.getData()));


//Cerramos el soccket
socketUDP.close();


} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}


Codigo Servidor:

Código:
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class ServidorUDPHora {

public static void main(String[] args) {

try {
@SuppressWarnings("resource")
DatagramSocket socketUDP = new DatagramSocket(5000);
byte[] buffer = new byte[1000];

while(true) {
//Construimos el DatagramPacket para recibir peticiones
DatagramPacket peticion = new DatagramPacket(buffer, buffer.length);

//Leemos una peticion del DatagramSocket
socketUDP.receive(peticion);

System.out.println("Datagrama recibido del host: "+ peticion.getAddress());
System.out.println(" desde el puerto remoto: "+ peticion.getPort());

//Construimos el DatagramPacket para enviar la respuesta
DatagramPacket respuesta = new DatagramPacket(peticion.getData(), peticion.getLength(),
peticion.getAddress(), peticion.getPort());
           
SimpleDateFormat dateFormat=new SimpleDateFormat("[yyyy-MM-dd HH:mm:ss]");// Establecer el formato de fecha
            System.out.println("Fecha y hora enviadas al cliente: "+dateFormat.format(new Date()));

//Enviamos la respuesta, que es un eco
socketUDP.send(respuesta);
}

} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

2  Programación / Java / SOCKETS AYUDA URGENTE PORFAVOR!!!! en: 8 Mayo 2022, 20:23 pm
Buenas, tengo un problema y es que no sé como puedo poner el tiempo transcurrrido (tanto en Cliente como en Servidor) antes de que se imprima la fecha-hora en formato legible por humanos. Apunte: entre cliente y Servidor se intercambian la fecha actual en su tiempo de ejecución. Agradeceria muchiisimo si alguien me pudiese ayudar
A continuacion el codigo de Cliente y Servidor:

Cliente:
Código:
public class ClienteHora {

public static void main(String[] args) throws IOException {

   final String HOST="127.0.0.1"; //INDICO A QUIEN ME VOY A CONECTAR
   final int PUERTO=5000;//Pongo el puerto que puse en el servidor
  //Clases necesarias
  DataInputStream in;
  DataOutputStream out;
 
  //Cuando el cliente conecta exitosamente al servidor:
  //Cliente TCP conectado a <nombre host> en el puerto <número puerto>
 
  Socket sc = new Socket(HOST, PUERTO); //A esta clase socket le pasamos el HOST y el PUERTO
  System.out.println("Cliente TCP conectado a: "+HOST+" en el puerto: "+PUERTO);
 
  //Creamos puentes de comunicacion
  in = new DataInputStream(sc.getInputStream()); //inputStream(LEE): cliente -> servidor
  out = new DataOutputStream(sc.getOutputStream());
 
  String mensaje = in.readUTF(); //leemos el mensaje
  System.out.println(mensaje);
 


 
  //Esto me servirá para contar los caracteres, los espacios
  String mayus="";
  String minus="";
  String numeros="";
  String letras="";
 
  int n_mayus=0;
  int n_minus=0;
  int n_numeros=0;
  int n_letras=0;
  int n_espacios=0;
 
  for(int i=0; i<mensaje.length();i++) {
   if(Character.isLetter(mensaje.charAt(i))) {
    n_letras++;
    letras+=mensaje.charAt(i)+" * ";
   }
   if(Character.isUpperCase(mensaje.charAt(i))) {
    n_mayus++;
    mayus+=mensaje.charAt(i)+" * ";
   }
   if(Character.isLowerCase(mensaje.charAt(i))) {
    n_minus++;
    minus+=mensaje.charAt(i)+" * ";
   }
   if(Character.isDigit(mensaje.charAt(i))) {
    n_numeros++;
    numeros+=mensaje.charAt(i)+" * ";
   }
   if(Character.isSpaceChar(mensaje.charAt(i))) {
    n_espacios++;
   }
  }
 
 
  System.out.println("Mensaje recibido: "+mensaje);
  System.out.println("Se han recibido: "+"\n -El número de caracteres: "+n_letras+"\n -Mayusculas: "+n_mayus+"\n -Minusculas: "+n_minus+
  "\n -El número de espacios: "+n_espacios+"\n -La cantidad de datos numéricos: "+n_numeros);
 
 
  Date fechaHoraActuales = new Date();
  out.writeUTF("fecha y hora enviadas al Servidor: "+ fechaHoraActuales);
/*
  long startTime = System.currentTimeMillis(); // Run some code;
  long stopTime = System.currentTimeMillis();
  System.out.println("El tiempo transcurrido fue: " + (stopTime - startTime) + " miliseconds.");
*/
 
 
 
  sc.close();
 
}

}



Servidor
Código:
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;

public class ServidorHora {

public static void main(String[] args) throws IOException {
ServerSocket servidor = null;
Socket sc = null;
final int PUERTO = 5000;
final String HOST = "127.0.0.1";

DataInputStream in;
DataOutputStream out;

servidor = new ServerSocket(PUERTO);
System.out.println("El servidor de DayTime ha arrancado: ServerSocket [direccion="+HOST+", localport="+PUERTO+"]" ); //El servidor siempre estará atento a escuchas peticiones de los clientes

while(true) {
sc = servidor.accept();
System.out.println("Cliente conectado");

in = new DataInputStream(sc.getInputStream());
out = new DataOutputStream(sc.getOutputStream());


Date fechaHoraActuales = new Date();
out.writeUTF("fecha y hora enviadas al Cliente: "+ fechaHoraActuales);


String mensajeN = in.readUTF();
System.out.println(mensajeN);

/*
long startTime = System.currentTimeMillis(); // Run some code;
long stopTime = System.currentTimeMillis();
System.out.println("El tiempo transcurrido fue: " + (stopTime - startTime) + " miliseconds.");
*/


System.out.println("Cliente desconectado: "+ sc);
sc.close();
}


}

}

3  Programación / Java / SOCKETS SERVIDOR AYUDA PORFAVOR!! en: 3 Mayo 2022, 12:55 pm
Buenas tengo una duda y es que en un ejercicio a realizar con Sockets se me pide que el Servidor le envíe al Cliente la fecha y la hora actuales, lo he hecho pero me da fallos a la hora de ejecutar el servidor y no se porque, a continuacion paso el codigo del servidor y del cliente(es el que recibe la fecha y hora del servidor y debe de mostrar la siguiente informacion: Se han recibido <número de caracteres, incluidos espacios y saltos de línea> bytes
<Fecha y hora recibidas tal cual se recibieron del servidor de hora>. Yo para ello he hecho un bucle for que analice el  mensaje recibido del servidor para poder contar el numero de caracteres, los espacios y mostrarlos por pantalla), es la primera vez que trato con sockets y muchas veces no se si lo estoy haciendo bien o no :(.

SERVIDOR:
Código:
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;

public class ServidorDiaHora {

@SuppressWarnings({ "resource", "unused" })
public static void main(String[] args) throws IOException {
ServerSocket servidor = null;
Socket sc = null;
final int PUERTO = 5000;
final String HOST="127.0.0.1"; //INDICO A QUIEN ME VOY A CONECTAR

DataInputStream in;
DataOutputStream out;
servidor = new ServerSocket(PUERTO);
//- Cuando se inicia el Socket Servidor:
//El servidor de DayTime ha arrancado: ServerSocket[ addr=<dirección>,localport=<número puerto local>]
System.out.println("El servidor de DayTime ha arrancado" ); //El servidor siempre estará atento a escuchas peticiones de los clientes
while(true) {
sc = servidor.accept();
//Cliente conectado desde <host> al puerto <número puerto local> desde el puerto <número puerto
//cliente>
System.out.println("Cliente conectado");//Aviso cliente conectado

//Creamos puentes de comunicacion
in = new DataInputStream(sc.getInputStream()); //inputStream(LEE): cliente -> servidor
out= new DataOutputStream(sc.getOutputStream()); //outputStream(ESCRIBE): servidor -> cliente

//Esto me servirá para enviar la fecha y la hora
Date fechaHoraActuales = new Date();
out.writeUTF("Fecha y Hora enviadas: "+ fechaHoraActuales); //Yo le escribo un mensaje


sc.close();//Cerramos el cliente.
System.out.println("Cliente desconectado");//Aviso de que esta desconectado






}

}

}



CLIENTE:
Código:
import java.io.DataInputStream;
import java.io.IOException;
import java.net.Socket;

public class CienteDiaHora {

public static void main(String[] args) throws IOException {
final String HOST="127.0.0.1"; //INDICO A QUIEN ME VOY A CONECTAR
final int PUERTO=5000;//Pongo el puerto que puse en el servidor
//Clases necesarias
DataInputStream in;

//Cuando el cliente conecta exitosamente al servidor:
//Cliente TCP conectado a <nombre host> en el puerto <número puerto>

Socket sc = new Socket(HOST, PUERTO); //A esta clase socket le pasamos el HOST y el PUERTO
System.out.println("Cliente TCP conectado a: "+HOST+" en el puerto: "+PUERTO);

//Creamos puentes de comunicacion
in = new DataInputStream(sc.getInputStream()); //inputStream(LEE): cliente -> servidor

String mensaje = in.readUTF(); //leemos el mensaje
System.out.println(mensaje);


//Esto me servirá para contar los caracteres, los espacios
String mayus="";
String minus="";
String numeros="";
String letras="";

int n_mayus=0;
int n_minus=0;
int n_numeros=0;
int n_letras=0;
int n_espacios=0;

for(int i=0; i<mensaje.length();i++) {
if(Character.isLetter(mensaje.charAt(i))) {
n_letras++;
letras+=mensaje.charAt(i)+" * ";
}
if(Character.isUpperCase(mensaje.charAt(i))) {
n_mayus++;
mayus+=mensaje.charAt(i)+" * ";
}
if(Character.isLowerCase(mensaje.charAt(i))) {
n_minus++;
minus+=mensaje.charAt(i)+" * ";
}
if(Character.isDigit(mensaje.charAt(i))) {
n_numeros++;
numeros+=mensaje.charAt(i)+" * ";
}
if(Character.isSpaceChar(mensaje.charAt(i))) {
n_espacios++;
}
}


System.out.println("Mensaje recibido: "+mensaje);
System.out.println("Mayusculas("+n_mayus+"): "+mayus);
System.out.println("Minusculas("+n_minus+"): "+minus);
System.out.println("Numeros("+n_numeros+"): "+numeros);
System.out.println("Letras("+n_letras+"): "+letras);
System.out.println("Espacios: "+n_espacios);
//- Una vez ha recibido la información del servidor:
//Se han recibido <número de caracteres, incluidos espacios y saltos de línea> bytes
//<Fecha y hora recibidas tal cual se recibieron del servidor de hora>

sc.close();

}

}

4  Programación / Bases de Datos / CONSULTA en: 29 Abril 2022, 12:02 pm
No sé como sería la siguiente consulta, tengo que pasarla a SQL, para un proyecto de Base de datos


CONSULTA: Lista de ganadoras de todas la ediciones disputadas
5  Programación / Java / AYUDA CON Inversiones de 1 en: 27 Abril 2022, 18:41 pm
Buenas, he hecho el codigo en java pero no se como modificar el codigo para que haga las inversiones de 1. Se trata de un codigo divide y venceras donde se me proporciona un .txt  o un .dat con un conjunto de numeros de entre los cuales se proporciona el numero uno y aparece en la lista de numeros una sola vez. Y tengo que hallar las inversiones de 1, sé que el resultado correcto que me debe de dar la modificacion es de: 545
A continuacion el fichero de inversiones de uno y el codigo


Código:
package default_package;

import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.Scanner;

/**
 * The Class Inversiones.
 * Clase que calcula el número de inversiones que hay en un array para ordenarlo
 *
 * @author Pitagoras
 * @version 20.03.2022
 */
public class Inversiones {

/**
* The main method.
*
* @param args the arguments
* @throws IOException Signals that an I/O exception has occurred.
*/
public static void main(String[] args) throws IOException {
Scanner leer = new Scanner(new File("C:\\Ruta\\InversionsTest.dat"));
int nCases = leer.nextInt();

double a[] = new double[nCases];
for(int i=0; i<nCases; i++) {
a[i]= leer.nextInt();
}

System.out.println("El número de inversiones que tiene el array dado es: " +ordenar(a, 0, a.length-1));
}
/**
* Merge. Método valido para ordenar el array.
*
* @param a2 array que queremos ordenar
* @param a numero de la izquierda
* @param middle la mitad entre el límite inferior y superior
* @param b numero de la derecha
* @return el número de inversiones que hay durante el recorrido del método
*/
private static int merge (double[] a2, int a, int middle, int b) {
int cont=0;
int i=0, j=0, k=a;

double[] left = Arrays.copyOfRange(a2, a, middle+1);
double [] right = Arrays.copyOfRange(a2, middle+1, b+1);

while(i<left.length && j<right.length) {
if(left[i] <= right[j]) {
a2[k++]=left[i++];
}else {
a2[k++]=right[j++];
cont += (middle+1)-(a+i);
}
}

while(i<left.length) {
a2[k++] = left[i++];
}
    while (j < right.length) {
        a2[k++] = right[j++];
}
return cont;
}

/**
* Método para ordenar el array, recursivo. Parecido a MergeSort.
*
* @param a2 array a ordenar
* @param min, limite inferior del array que queremos ordenar - referido a posiciones dentro del array
* @param max, limite superior del array que queremos ordenar - referido a posiciones dentro del array
* @return numero de inversiones necesarias para ordenar el array
*/
private static int ordenar(double[] a2, int min, int max) {
int cont=0;
int middle = (min+max)/2;
if(min<max) {
cont = ordenar (a2, min, middle);
cont = cont + ordenar (a2, middle + 1, max);
cont = cont + merge (a2, min, middle, max);
}
return cont;
}


}




ES LO UNICO QUE ME FALTA PARA TERMINARLO, PORFAVOR SI ALGUIEN ME PUDIESE AYUDAR

.txt de las inversiones de uno:
    1000
    54044
    14108
    79294
    29649
    25260
    60660
    2995
    53777
    49689
    9083
    16122
    90436
    4615
    40660
    25675
    58943
    92904
    9900
    95588
    46120
    29390
    91323
    85363
    45738
    80717
    57415
    7637
    8540
    6336
    45434
    65895
    61811
    8959
    9139
    31027
    87662
    2484
    65550
    23260
    15616
    3490
    49568
    5979
    44737
    52808
    72122
    37957
    34826
    21419
    73531
    94323
    52910
    84496
    71799
    50162
    1692
    1565
    59279
    56864
    20141
    13893
    63942
    6055
    33424
    44771
    25678
    33639
    27793
    41268
    1857
    63388
    32976
    46195
    61291
    61740
    61680
    45264
    76361
    49243
    73250
    67432
    29124
    15198
    30626
    18950
    13857
    32569
    45179
    47696
    21283
    77169
    26357
    97885
    54741
    57246
    61929
    25997
    45859
    3353
    32204
    97451
    60550
    49516
    38558
    57674
    36443
    666
    32486
    54910
    24666
    45119
    40779
    3441
    83779
    60645
    63003
    59616
    7364
    69058
    41651
    12201
    13234
    19717
    11536
    70350
    15611
    74484
    96153
    4127
    60035
    19418
    58613
    28590
    32917
    97780
    17644
    15836
    88046
    26489
    38410
    54618
    16967
    81604
    60064
    5833
    80689
    43137
    57274
    8002
    4445
    42933
    75378
    15130
    10689
    98579
    42780
    38379
    76394
    66337
    15126
    59535
    53639
    43182
    88220
    5506
    21939
    26719
    32919
    78383
    62297
    30677
    15301
    35277
    2240
    37292
    11269
    92554
    12813
    63131
    25964
    15618
    11318
    72799
    43976
    4698
    32984
    5
    56322
    30793
    46586
    36082
    25956
    61243
    44613
    59907
    13187
    43815
    52408
    63547
    86233
    7901
    50572
    29212
    10912
    54449
    373
    69509
    3580
    31479
    66601
    35427
    49309
    50428
    76859
    19840
    95749
    76993
    45747
    67663
    85229
    26778
    72164
    73627
    31869
    22208
    17759
    29409
    20625
    27533
    3911
    28506
    13185
    72229
    2975
    96029
    66725
    67778
    77399
    90300
    16005
    39433
    33342
    98536
    66330
    41629
    79932
    64508
    80437
    58093
    7690
    34357
    87977
    78134
    6271
    72856
    43004
    81631
    4654
    94363
    37138
    62061
    18913
    42432
    11926
    9778
    23507
    52921
    12302
    61620
    89415
    52561
    8564
    80333
    62937
    17680
    49024
    37850
    54127
    92136
    65865
    19416
    86651
    81030
    12473
    37840
    36215
    88329
    23844
    38832
    1807
    1726
    84720
    10551
    12770
    33510
    23806
    6831
    41122
    36046
    2410
    11380
    8861
    18964
    37605
    2021
    59504
    57029
    64121
    85107
    64293
    64821
    72694
    32390
    55767
    3884
    74771
    393
    21050
    70556
    39830
    42172
    5615
    47643
    48677
    5093
    38547
    4808
    74607
    71200
    88387
    94071
    45031
    83426
    83246
    96061
    91471
    37207
    57815
    30779
    45176
    70833
    29490
    27760
    74104
    21444
    73173
    10086
    56241
    48369
    73755
    93275
    66791
    2437
    18827
    61990
    3213
    43007
    46942
    47386
    98002
    80099
    90898
    28860
    53348
    3790
    54478
    50789
    53673
    81845
    76946
    31398
    15539
    43923
    68172
    43943
    11674
    5147
    49577
    7639
    2902
    56983
    51372
    87907
    65260
    46019
    69134
    65982
    35068
    81730
    76650
    67535
    65607
    86101
    4387
    9658
    56971
    38760
    90175
    26434
    22509
    10166
    19048
    3135
    28671
    63621
    90284
    56798
    82077
    15749
    77755
    45814
    51006
    26305
    31977
    48619
    18712
    90691
    8001
    32067
    70357
    38111
    41552
    74876
    81391
    40492
    24784
    22370
    39440
    57089
    73160
    45027
    53617
    35969
    46450
    40871
    71843
    12703
    17953
    52853
    69725
    67213
    62722
    73693
    91338
    14128
    12506
    75060
    56344
    31645
    23821
    2907
    2229
    7702
    54151
    49626
    34757
    19073
    1923
    11433
    4156
    34993
    47527
    28810
    55157
    69505
    65503
    64854
    23249
    79143
    9697
    35584
    42411
    13695
    7789
    66572
    60321
    54166
    71208
    76781
    69793
    42022
    52118
    62723
    2774
    17563
    10157
    73884
    64476
    44243
    84801
    83448
    68584
    56296
    77751
    95159
    23154
    24632
    8184
    39214
    52344
    46545
    33325
    85650
    14755
    92211
    34714
    41604
    90705
    97995
    76462
    85611
    76657
    58480
    7258
    91761
    17400
    74630
    8191
    83012
    85542
    71016
    35146
    50365
    37585
    62220
    2323
    23949
    50093
    8154
    66092
    75562
    15603
    49424
    19639
    37679
    18186
    78875
    40160
    63991
    10977
    53885
    83218
    34001
    3723
    63889
    1
    40515
    36743
    42770
    32026
    24502
    52208
    17897
    78882
    26409
    74817
    50557
    4129
    97514
    67021
    28240
    45301
    98467
    53298
    94746
    59508
    4533
    28812
    79175
    57458
    71279
    14985
    61081
    72641
    50192
    24833
    10559
    3359
    31540
    74717
    6619
    34886
    22723
    62826
    4364
    44080
    4087
    31292
    76363
    98421
    92175
    71837
    88423
    84188
    63345
    30108
    18021
    38992
    73015
    6978
    19730
    77314
    20601
    73041
    40457
    43550
    33086
    86253
    71896
    24236
    1291
    9491
    16822
    91587
    98602
    26555
    30077
    10302
    24493
    2985
    39469
    90347
    30520
    42477
    56481
    5914
    38961
    10218
    16024
    93342
    92630
    7566
    74142
    54657
    81366
    88386
    85815
    4565
    5439
    1104
    2673
    65606
    83445
    70854
    9537
    73222
    2544
    31425
    63015
    81452
    90318
    75062
    83615
    19052
    92492
    48714
    85098
    15267
    31282
    91826
    92471
    43067
    73944
    47591
    71457
    79798
    90235
    60824
    53372
    53812
    27261
    49099
    19917
    76978
    99670
    58487
    33747
    16944
    30719
    18716
    76276
    93076
    70826
    63639
    85111
    98441
    21908
    35279
    33927
    33433
    77583
    95025
    31616
    25321
    37617
    93145
    11286
    15024
    6719
    64723
    4077
    78584
    30370
    98798
    67730
    21048
    1287
    87867
    44930
    4798
    37691
    61593
    86819
    50990
    9059
    57590
    71412
    14209
    43285
    79232
    43891
    290
    36110
    69671
    88539
    59260
    88464
    54759
    40328
    37037
    85253
    94603
    18976
    89833
    74448
    90717
    20688
    18961
    46537
    53603
    42627
    39150
    8087
    37842
    80079
    33426
    48812
    47406
    10748
    44375
    61932
    80967
    63310
    7592
    70797
    1452
    3192
    30692
    27239
    31166
    77857
    51830
    22097
    68817
    55733
    33720
    78069
    51195
    32571
    12279
    28924
    66443
    51929
    95208
    55440
    17321
    82411
    38022
    61143
    50625
    2213
    8447
    95005
    15634
    39956
    99281
    88705
    97294
    67363
    47231
    17704
    69554
    19093
    38744
    709
    50363
    21233
    75916
    53339
    97687
    88562
    35763
    85496
    96919
    60369
    9870
    11363
    9941
    6401
    38441
    91650
    9102
    62077
    19340
    10745
    42333
    66689
    39672
    6473
    15741
    61335
    31890
    16099
    15865
    6445
    81665
    85352
    8749
    65186
    11147
    62916
    33332
    84931
    39050
    34043
    79368
    16678
    85675
    17812
    29439
    26532
    82653
    65587
    57526
    21148
    29904
    27408
    7756
    23943
    33633
    49278
    28774
    72872
    9540
    53171
    64267
    52998
    4098
    29864
    36202
    47534
    50455
    82772
    12347
    34049
    78222
    90264
    10215
    84769
    42361
    13264
    13181
    66773
    26246
    74122
    84239
    9743
    33012
    32183
    2602
    70562
    20340
    62909
    73842
    5968
    44347
    60842
    3905
    54985
    57584
    10738
    39266
    70711
    60420
    41807
    10619
    27691
    28387
    47429
    65781
    49825
    1752
    27004
    79338
    6714
    19519
    22796
    4086
    66695
    82806
    81923
    70029
    78043
    17813
    74517
    1511
    25527
    20419
    26266
    90542
    27647
    56104
    17055
    62523
    64731
    65832
    49687
    46803
    69704
    50396
    2311
    87194
    92658
    70094
    91902
    29154
    2953
    14475
    21086
    26777
    6337
    6024
    43316
    75225
    96054
    41957
    8842
    39904
    43313
    33834
    37062
    51515
    23681
    73489
    81967
    93066
    76128
    48996
    55462
    10655
    3320
    32287
    13924
    32838
    4013
    85822
    33106
    15586
    62938
    67492
    18225
    7109
    72726
    93494
    97566
    24625
    6993
    46189
    13906
    70171
    92259
    21202
    68892
    96783
    62823
    62087
    70942
    92548
    64324
    42702
    47758
    39682
    68866
    50780
    90020
    12259
    15487
    28282
    73821
    13175

6  Seguridad Informática / Hacking / AYUDA PORFAVOR CON Prueba de testing con Selenium en: 21 Marzo 2022, 10:48 am
Prueba de testing con Selenium

En kali linux tengo que hacer un testing con Selenium pero no se como utilizarla
para automatizar alguna busqueda de alguna pagina web con la que pueda testear el funcionamiento
de dicha web, el problema es que no se como hacerlo y que comandos debo de usar en la shell de kali
para testear un sitio web. Si alguien me puediese ayudar porfavor.

Este es el sitio web del Selenium: https://www.selenium.dev/
7  Seguridad Informática / Análisis y Diseño de Malware / NO ENTIENDO! en: 20 Marzo 2022, 18:28 pm
Tengo una duda, estoy haciendo una practica acerca de los keylogger y este es el que me tengo que descargar: https://github.com/GiacomoLaw/Keylogger. Tengo que utilizar Kali Linux.
Ya me le he descargado pero ahora no se que pasos debo seguir para instalarlo, para que capture y guarde en un archivo todas las letras tecleadas por el usuario.

Saludos
8  Programación / Programación C/C++ / No se como empezar!! en: 27 Diciembre 2021, 14:49 pm
Buenas tardes tengo un PROBLEMA!! y es que no sé como empezar el codigo del siguiente enunciado:
Crear en C un programa Padre que cree tantos procesos hijos como argumentos
restantes tenga en la linea de ordenes el proceso padre.

saludos
9  Programación / Programación C/C++ / Buenas, necesito ayuda URGENTE!! en un ejercicio, y es que siempre me da Violacion de segmento en: 3 Diciembre 2021, 16:19 pm
Buenas, necesito ayuda URGENTE!! en un ejercicio, y es que siempre me da Violacion de segmento y ya no se que mas hacer. Si alguien me pudiese ayudar se lo agradeceria de todo corazón.

Código
  1.  
  2. #include <stdio.h>
  3. #include <ctype.h>
  4. #include <string.h>
  5. #include <stdlib.h>
  6. #include <sys/types.h>
  7. #include <sys/stat.h>
  8. #include <unistd.h>
  9. #include <dirent.h>
  10.  
  11. #define NORMAL  "\x1B[0m"
  12. #define GREEN  "\x1B[32m"
  13. #define BLUE  "\x1B[34m"
  14. #define RED  "\x1b[32m"
  15.  
  16. /* Función que procesa la lectura un archivo */
  17. void procesoArchivo(char *archivo);
  18.  
  19. void mostrarContenido(char * path);
  20.  
  21. int main(char **argv, int argc){
  22.  
  23. int opcion=0;
  24. char *path; //Es para la ruta
  25. char *type;
  26. char *name;
  27. int size;
  28. int maxdepth;
  29. int niveles;
  30. unsigned num;
  31.  
  32. // Con ello evitamos fallos de violacion de segmentacion. Se le asigna un espacio en memoria.
  33. type = malloc(1024);
  34. path = malloc(1024);
  35. name = malloc(1024);
  36.  
  37. for(int i; i<argc; i++){
  38. if(strcmp(argv[i], "-maxdepth") == 0){ //Si la cadena que tengo en la posicion i es igual a " "
  39. //Devolverá 0 en caso de ser iguales caracter a caracter
  40. if( i == argc){ //Si contador es igual al ultimo numero de parametros muestra error
  41. fprintf(stderr, "Error. Modo de empleo: mifind [camino] [opciones]\n");
  42. exit(EXIT_FAILURE);
  43. }
  44. opcion=1;
  45.  
  46. } else if(strcmp(argv[i], "-type") == 0){
  47. if( i == argc){
  48. fprintf(stderr, "Error. Modo de empleo: mifind [camino] [opciones]\n");
  49. exit(EXIT_FAILURE);
  50. }
  51. opcion=2;
  52.  
  53. } else if(strcmp(argv[i], "-name") == 0){
  54. if( i == argc){
  55. fprintf(stderr, "Error. Modo de empleo: mifind [camino] [opciones]\n");
  56. exit(EXIT_FAILURE);
  57. }
  58. opcion=3;
  59.  
  60. } else if(strcmp(argv[i], "-size") == 0){
  61. if( i == argc){
  62. fprintf(stderr, "Error. Modo de empleo: mifind [camino] [opciones]\n");
  63. exit(EXIT_FAILURE);
  64. }
  65. opcion=4;
  66. }else{
  67. switch(opcion){
  68. case 0: //Ruta
  69. if(i != 1){  ///DUDA si va i o argv[i]
  70. fprintf(stderr, "Error. Modo de empleo: mifind [camino] [opciones]\n");
  71. exit(EXIT_FAILURE);
  72. }
  73. path=argv[i];
  74. break;
  75.  
  76. case 1: //Maxdepth
  77. maxdepth <- atoi(argv[i]); //Convierte una cadena a un entero
  78. niveles = maxdepth;
  79.  
  80. if(! niveles){ //Si niveles es vacio if(niveles != NULL)
  81. fprintf(stderr, "Error. Modo de empleo: mifind [camino] [opciones]\n");
  82. exit(EXIT_FAILURE);
  83. }
  84. if(niveles < 0){ //Si niveles es menor que 0
  85. fprintf(stderr, "Error. Modo de empleo: mifind [camino] [opciones]\n");
  86. exit(EXIT_FAILURE);
  87. }
  88.  
  89. break;
  90.  
  91. case 2: //type
  92. //Si la cadena que haya en la posicion i es distinta a la mencionada da un error
  93. if(strcmp(argv[i], "d") != 0){
  94. fprintf(stderr, "Error. Modo de empleo: mifind [camino] [opciones]\n");
  95. exit(EXIT_FAILURE);
  96. }
  97. if(strcmp(argv[i], "f") != 0){
  98. fprintf(stderr, "Error. Modo de empleo: mifind [camino] [opciones]\n");
  99. exit(EXIT_FAILURE);
  100. }
  101. //opcion = 3;
  102. type=argv[i];
  103. break;
  104.  
  105. case 3: //name
  106.  
  107.  
  108. name=argv[i];
  109. break;
  110.  
  111. case 4: //size
  112.  
  113.  
  114. break;
  115. }
  116. }
  117.  
  118.  
  119. }
  120.  
  121. /* Con un puntero a DIR abriremos el directorio */
  122. //Cuando solo tengo la ruta
  123. DIR *dir;
  124.  
  125. if (argv[1] != NULL){
  126.  
  127. dir = opendir (argv[1]);
  128.  
  129. if (dir == NULL){
  130. printf("\nDirectorio ""%s"" No valido!\n\n",argv[1] );
  131. closedir (dir);
  132. return 0;
  133. }
  134.  
  135. else {
  136. dir = opendir (argv[1]);
  137. path = argv[1];
  138. }
  139. }
  140. else {
  141.  
  142. dir = opendir (".");
  143. }
  144. /* en *ent almacena información sobre el archivo que se esta "obteniendo" a cada momento */
  145. struct dirent *ent;
  146.  
  147.  
  148. /* Leyendo uno a uno todos los archivos que hay */
  149. while ((ent = readdir (dir)) != NULL)
  150. {
  151. /* Nos devolvera el directorio actual (.) y el anterior (..) */
  152. if ( (strcmp(ent->d_name, ".")!=0 ) && (strcmp(ent->d_name, "..")!=0 ))
  153. {
  154. /* Una vez tenemos el archivo, lo pasamos a una funcion para procesarlo. */
  155. procesoArchivo(ent->d_name);
  156. }
  157. }
  158. closedir (dir);
  159.  
  160. return EXIT_SUCCESS;
  161.  
  162. //mostrarFiltrado(path, name, type, size, maxdepth);
  163. mostrarFiltrado(path);
  164. }
  165.  
  166.  
  167. void procesoArchivo(char *archivo)
  168. {
  169. /* Para "procesar", o al menos, hacer algo con el archivo, vamos a decir su tamaño en bytes */
  170. /* */
  171. FILE *fich;
  172. long ftam;
  173.  
  174. fich=fopen(archivo, "r");
  175. if (fich)
  176. {
  177. fseek(fich, 0L, SEEK_END);
  178. ftam=ftell(fich);
  179. fclose(fich);
  180. /* Si todo va bien, decimos el tamaño */
  181. printf ("%30s (%ld bytes)\n", archivo, ftam);
  182. }
  183. else
  184. /* Si ha pasado algo, solo decimos el nombre */
  185. printf ("%30s\n", archivo);
  186. }
  187.  
  188. //void mostrarFiltrado(char *path, char *name, char *type, int size, int maxdepth){
  189. //}
  190.  
  191. /* Mostrar Contenido Recursivo */
  192. void mostrarFiltrado(char * path)
  193. {
  194. DIR * d = opendir(path);
  195. if(d==NULL) return;
  196. struct dirent * dir;
  197. while ((dir = readdir(d)) != NULL)
  198. {
  199. if(dir-> d_type != DT_DIR)
  200. printf("%s%s\n",BLUE, dir->d_name);
  201. else
  202. if(dir -> d_type == DT_DIR && strcmp(dir->d_name,".")!=0 && strcmp(dir->d_name,"..")!=0 )
  203. {
  204. printf("%s%s\n",GREEN, dir->d_name);
  205. char d_path[255];
  206. sprintf(d_path, "%s/%s", path, dir->d_name);
  207. mostrarFiltrado(d_path);
  208. }
  209. //if(strcmp(argv[2], "-type") == 0){
  210. // Funcion_type(dir, type);
  211. //}
  212. }
  213. closedir(d);
  214. }

MOD: Corregidas etiquetas de Código GeSHi
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines