Está en la página 1de 6

PROYECTO FINAL

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 haciendo el ataque, la cual puede ver a continuación:

<?php//Inicia el programa en PHP function conocerIpOrigenAtaque ($cadena) //Inicio función


conocerIpOrigenAtaque que recibe una cadena por parámetro {//Inicia la función

$ipOrigen =' '; //Se declara la variable ipOrigen como una cadena vacía $primerBlanco =
stripos($cadena,' '); /*Se ubica el primer blanco de la cadena con la función stripos de PHP, pues al
analizar el archivo de logs, se observa que a partir del primer blanco empieza la IP que realiza el
ataque, justamente la que se busca para esta función*/ $primerGuion = stripos($cadena,'-'); /*Se
ubica el primer guión de la cadena con la función stripos de PHP, pues al analizar el archivo de logs,
se observa que la IP que origina el ataque culmina antes de ese primer guión*/ $ipOrigen =
substr($cadena, $primerBlanco, ($primerGuion - $primerBlanco)); /*Se calcula la IP que origina el
ataque, para ello se utiliza la función substr de PHP que se encarga de extraer una porción de una
cadena, indicándole desde donde cuántos caracteres, es por ello que se utilizó que a $cadena
(variable que llega por parámetro) se le extraiga los caracteres desde el primer espacio, hasta el
guión, por lo que resulta fácil indicarle que la cantidad de caracteres a devolver se obtiene de restar
a la posición del primer guión, la posición del primer blanco, obteniendo así la IP buscada.*/ echo
'La IP desde donde se hace el ataque es: ' . $ipOrigen . '<br>'; //se imprime la IP obtenida } ?>

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

<?php

function Ipatacada($cadena)

$ip = '';

$ipprim = stripos($cadena,'');

$Guion = stripos($cadena,'-');

$ip = substr($cadena, $ipprim, ($Guion - $ipprim));

echo "<font size =3> La IP Atacada es: </font>" . $ip. '<br>';

IpAtacada('123.123.123.123-Conexión hacia 2.2.2.2-FTP');

 Función que devuelva el servicio que está siendo atacado.

<?php

function servicioAtacado($serv)

if($serv =='111.222.333.44') {

echo "<font size =5>La IP es: </font>". $serv;

echo "<font size =5> El Servicio Atacado es: WEB </font>";

if($serv =='123.123.123.123') {

echo "<font size =5>La IP es: </font>". $serv;

echo "<font size =5> El Servicio Atacado es: FTP </font>";

}
if($serv =='5.111.123.11') {

echo "<font size =5>La IP es: </font>". $serv;

echo "<font size =5> El Servicio Atacado es: SSH</font>";

return $serv;

servicioAtacado('123.123.123.123');

 Explique brevemente las instrucciones necesarias para trabajar con el archivo que
guarda la información de ataques informáticos.
-Declarar método constructor:
-Declarar las variables:
-Atributo o método público:
-Atributo o método protegido:

 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.
Utilizare un arreglo y un ciclo de iteración for . el arreglo estará através de bucle de conjunto
indexado

<?php

$ip = array("La IP: 123.123.123.123,ha realizado 13 ataques", "La IP: 5.111.123.11,ha realizado 8
ataques", "La IP: 111.222.333.44,ha realizado 5 ataques");

$arrlength = count($ip);

for($x = 0; $x < $arrlength; $x++) {

echo $ip[$x];

echo "<br>";

?>

<?php

class ipatacada

public $variable;

function __construct()
{

$this->setV();

$this->getV();

protected function getV()

echo $this->var;

public function setV()

$this->var = 'La IP mas Atacada es: 123.123.123.123' . '<br/>';

class protocolo extends ipatacada

function __construct()

$this->setV();

$this->getV();

public function setV()

$this->var = 'El Servicio mas Atacado es: FTP' . '<br/>';

class ipataque extends ipatacada


{

function __construct()

$this->var = 'La IP: 123.123.123.123 , ha sido Atacada: 13 veces' . '<br/>' .

'La IP: 5.111.123.11 , ha sido Atacada: 8 veces' . '<br/>' .

'La IP: 111.222.333.44 , ha sido Atacada: 5 veces' . '<br/>' ;

$this->getV();

public function getV()

echo $this->var;

$Ip = new ipatacada();

$protocolo = new protocolo();

$ipataque = new ipataque();

?>

También podría gustarte