You are on page 1of 6

PROYECTO FINAL

Desde 111.222.333.444-Conexin hacia 1.1.1.1-Web Desde 123.123.123.123-Conexin hacia


2.2.2.2-FTP Desde 5.111.123.11-Conexin hacia 1.2.1.2-SSH

Usted desea saber quines y a qu mquinas estn atacando. Para ello, se le solicita que desarrolle
los siguientes pasos:

Ya tiene desarrollada la funcin que le permite identificar, dada una lnea del archivo de logs, la
IP desde donde le estn haciendo el ataque, la cual puede ver a continuacin:

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


conocerIpOrigenAtaque que recibe una cadena por parmetro {//Inicia la funcin

$ipOrigen =' '; //Se declara la variable ipOrigen como una cadena vaca $primerBlanco =
stripos($cadena,' '); /*Se ubica el primer blanco de la cadena con la funcin 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 funcin*/ $primerGuion = stripos($cadena,'-'); /*Se
ubica el primer guin de la cadena con la funcin stripos de PHP, pues al analizar el archivo de logs,
se observa que la IP que origina el ataque culmina antes de ese primer guin*/ $ipOrigen =
substr($cadena, $primerBlanco, ($primerGuion - $primerBlanco)); /*Se calcula la IP que origina el
ataque, para ello se utiliza la funcin substr de PHP que se encarga de extraer una porcin de una
cadena, indicndole desde donde cuntos caracteres, es por ello que se utiliz que a $cadena
(variable que llega por parmetro) se le extraiga los caracteres desde el primer espacio, hasta el
guin, por lo que resulta fcil indicarle que la cantidad de caracteres a devolver se obtiene de restar
a la posicin del primer guin, la posicin 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 lnea del archivo de logs se ejecuta luego de la funcin la
siguiente instruccin: conocerIpOrigenAtaque("Desde 5.111.123.11-Conexin 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 funcin anteriormente descrita, escriba las siguientes funciones en PHP o
pseudocdigo:

Funcin 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-Conexin hacia 2.2.2.2-FTP');

Funcin 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 informacin de ataques informticos.
-Declarar mtodo constructor:
-Declarar las variables:
-Atributo o mtodo pblico:
-Atributo o mtodo protegido:

Si se quisiera conocer las IP que ms han intentado atacarlo, Cmo podra llevarse a cabo
esto? Qu estructuras de datos de las vistas (arreglos, pilas, colas) utilizara? Ser necesario
emplear alguno de los ciclos de iteracin vistos en la asignatura (for, while, dowhile)? Justifique
sus respuestas (se sugiere que se apoye en pseudocdigo o cdigo en PHP) y tome en cuenta
que se busca obtener algo como lo que se detalla a continuacin:

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 iteracin for . el arreglo estar atravs 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();

?>