Lenguaje De Programacion-proyecto Final.docx

  • Uploaded by: Paola Quezada
  • 0
  • 0
  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Lenguaje De Programacion-proyecto Final.docx as PDF for free.

More details

  • Words: 1,022
  • Pages: 8
PROYECTO FINAL INTRODUCCION A LOS LENGUAJES DE PROGRAMACION

IACC 31 DE DICIEMBRE 2018

*Usted trabaja para una agencia gubernamental de seguridad y ha notado ataques informáticos a sus servidores. El archivo de logs de su cortafuego 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 solicita que desarrolle los siguientes pasos: ?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: *Función que identifique la IP que recibe el ataque *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 has 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 PROYECTO FINAL 1- Función que identifique la IP que recibe el ataque La IP Atacada es:

' . $IpAtacada . '
'; } IpReceptoraAtaque('123.123.123.123-Conexión hacia 2.2.2.2-FTP');

2-Función que devuelva el servicio que está siendo atacado La IP es:

'. $serv; echo '

El Servicio Atacado es: WEB

'; } if($serv =='123.123.123.123') { echo '
La IP es:
'. $serv; echo '

El Servicio Atacado es: FTP

'; } if($serv =='5.111.123.11') { echo '
La IP es:
'. $serv; echo '

El Servicio Atacado es: SHH

'; return $serv; } } servicioAtacado('123.123.123.123');

3-explique brevemente las instrucciones necesarias para trabajar con el archivo que guarda la información de ataques informáticos. METODO CONSTRUCTORES: Su misión es inicializar un objeto de una clase. Además en este método se pueden se asignar los valores iniciales del nuevo objeto. METODO PUBLICO: los atributos o métodos públicos, podrán ser leídos o llamados en cualquier parte del código, ya sea de la misma clase o también fuera de esta, significa también podrá ser alterado sin restricciones, para evitar esto es recomendable que se declaren como privados salvo casos excepcionales. METODO PROTEGIDO: Principalmente es utilizada para acceder desde la misma clase o de clases heredadas. DECLARACIÓN DE LA VARIABLE: Se declara la variable, es donde se encuentran los datos que serán mostrados. DEFINICION DE VARIABLES: Se declara la o las variables con las que se trabajaran. 4-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) En este caso se utilizó un arreglo que incluye sentencias condicionales con “if” esta tiene como objetivo reconocer las ip atacadas en los servidores. $ip[0]= '111.222.333.444'; $ip[1]= '123.123.123.123'; $ip[2]= '5.111.123.11'; for ($i=0; $i<1; $i++) { if ($ip[0]=='111.222.333.444') { echo 'La IP: ' . $ip[0] . ' ,ha Realizado 13 Ataques' . '
'; } if ($ip[1]=='123.123.123.123') { echo 'La IP: ' . $ip[1] . ' ,ha Realizado 8 Ataques' . '
'; } if ($ip[2]=='5.111.123.11') { echo 'La IP: ' . $ip[2] . ' ,ha Realizado 5 Ataques' . '
'; } } ?>

5-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 setVar(); $this->getVar(); } protected function getVar() { echo $this->var; } public function setVar() { $this->var = 'La IP mas Atacada es: 123.123.123.123' . '
'; } } class Servicio extends Ip { function __construct() { $this->setVar(); $this->getVar(); } public function setVar() { $this->var = 'El Servicio mas Atacado es: FTP' . '
'; } } class Ataque extends Ip { function __construct() { $this->var = 'La IP: 123.123.123.123 , ha sido Atacada: 13 veces' . '
' . 'La IP: 111.222.333.444 , ha sido Atacada: 8 veces' . '
' . 'La IP: 5.111.123.11 , ha sido Atacada: 5 veces' . '
' ; $this->getVar(); } public function getVar() { echo $this->var; } } $Ip = new Ip();

$Servicio = new Servicio(); $Ataque = new Ataque();

Detalle del Pseudocódigo: -La clase llamada “IP” la cual heredara dos subclases llamadas “servicio y ataque” -Declarara varias variables que a su vez realizaran operaciones declaradas como “VAR” -después se creara un constructor en cada clase, función que será llamada cuando se crea Una instancia de una clase con “New” -Contiene un método modificador “Set” en cada clase, asignándole un nuevo valor al Atributo. -método de acceso “get” en cada clase, el cual solo devolverá el valor del atributo. -Se crearon las clases heredadas de la clase madre, estas son la clase “Servicio” y “Ataque” A las cuales se les agrega la palabra “extends”, de este modo hacer que la clase sea Extendida. -Se crea el operador “New” para de este modo retornar la referencia automáticamente.

Bibliografia: -Guias y recursos Adiciones, Introducción a Lenguajes de Programación IACC 2018 -https://manuales.guebs.com/php/index.html

Related Documents

Lenguaje
November 2019 52
Lenguaje
May 2020 44
Lenguaje
July 2020 22
Lenguaje
May 2020 23
Lenguaje
June 2020 25
Lenguaje
November 2019 43

More Documents from ""