Proyecto Final Introducción a los Lenguajes de programación Instituto IACC 20 de marzo de 2018
Actividad
Usted trabaja para una agencia gubernamental de seguridad y ha notado ataques informáticos a sus servidores. El archivo de logs de su cor tafuego tiene líneas de este estilo:
Desde 111.222.333.444-Conexión hacia 1.1.1.1-Web Desde 123.123.123.123-Conexión hacia 2.2.2.2-FTP Desde 5.111.123.11-Conexión hacia 1.2.1.2-SSH
Usted desea saber quiénes y a qué máquinas están atacando. Para ello, se le solicita que desarrolle los siguientes pasos:
Ya tiene desarrollada la función que le permite identificar, dada una línea del archivo de logs, la IP desde donde le están hacie ndo el ataque, la cual puede ver a continuación:
?php function conocerIpOrigenAtaque ($cadena) { $ipOrigen =' '; $primerBlanco = stripos($cadena,' '); $primerGuion = stripos($cadena,'-'); $ipOrigen = substr($cadena, $primerBlanco, ($primerGuion - $primerBlanco)); echo 'La IP desde donde se hace el ataque es: ' . $ipOrigen . ''; } ?> Para hacer la prueba con la primera línea del archivo de logs se ejecuta luego de la función la siguiente instrucción:
conocerIpOrigenAtaque("Desde 5.111.123.11-Conexión hacia 1.2.1.2-SSH");
Y se obtiene el siguiente resultado:
La IP desde donde se hace el ataque es: 5.111.123.11
Tomando como base la función anteriormente descrita, escriba las siguientes funciones en PHP o pseudocódigo: o
Función que identifique la IP que recibe el at aque
o
Función que devuelva el servicio que está siendo atacado
Explique brevemente las instrucciones necesarias para trabajar con el archivo que guarda la información de ataques informáticos.
Si se quisiera conocer las IP que más han intentado atacarlo, ¿Cómo podría llevarse a cabo esto? ¿Qué estructuras de datos de las vistas (arreglos, pilas, colas) utilizaría? ¿Será necesario emplear alguno de los ciclos de iteración vistos en la asignatura (for, while, dowhile)? Justifique sus respuestas (se sugiere que se apoye en pseudocódigo o código en PHP) y tome en cuenta que se busca obtener algo como lo que se detalla a continuación: 123.123.123.123 ha realizado 13 ataques. 5.111.123.11 ha realizado 8 ataques. 111.222.333.44 ha realizado 5 ataques.
Declare las clases que serían necesarias en caso que se quisiera trabajar en PHP pero con Programación Orientada a Objetos (POO). Explique el porqué de las declaraciones que realiza.
Desarrollo
A continuación se escribirá la función que identifique la IP que recibe el ataque tomando en cuenta la función anteriormente descrita
Para declarar las clases que serían necesarias en el caso que quisiera trabajar con PHP pero con PPO (Programación Orientada a Objetos), utilizaríamos el siguiente código:
Thank you for interesting in our services. We are a non-profit group that run this website to share documents. We need your help to maintenance this website.