Introducción a los lenguajes de programación, Proyecto Final.
Enviado por thinkpadhack • 5 de Marzo de 2016 • Examen • 954 Palabras (4 Páginas) • 806 Visitas
Proyecto Final
Introducción a los lenguajes de programación
Instituto IACC
02 de Febrero del 2016
PROYECTO FINAL IACC
Tomando como base la función anteriormente descrita, escriba las siguientes funciones en
PHP o pseudocódigo:
a.- Función que identifique la IP que recibe el ataque:
conocerIpRecibeAtaque("Desde 5.111.123.11-Conexión hacia 1.2.1.2-SSH");
function conocerIpRecibeAtaque($ataque)
{
$primerBlanco = strripos($ataque,' ');
$primerGuion = strripos($ataque,'-');
$ip_ataque = substr($ataque, $primerBlanco, ($primerGuion - $primerBlanco));
echo 'La IP desde donde se recibe el ataque es: ' . $ip_ataque . '
';
}
?>
Respuesta:
En la primera línea de código se hace una llamada a la función que imprimirá la ip de donde se recibe el ataque “conocerIpRecibeAtaque”.
La función recibe el string y lo que hace es buscar la posición de donde exista un espacio en blanco (la última opción) y la posición de donde exista un guión (última opción) “-” . Al tener ambas posiciones (inicial y fina) podemos tener la IP de ataque.
b.- Función que devuelva el servicio que está siendo atacado
conocer_servicio("Desde 5.111.123.11-Conexión hacia 1.2.1.2-SSH");
function conocer_servicio($servicio)
{
$primerGuion = strripos($servicio,'-');
$servicio = substr($servicio, $primerGuion+1);
echo 'El servicio atacado es: ' . $servicio . '
';
}
?>
Respuesta:
En la primera línea de código se hace una llamada a la función que imprimirá la el servicio atacado “conocer_servicio”.
La función recibe el string y lo que hace es buscar la última posición de donde exista el segundo guión e imprimir lo que exista luego de esa posición.
Diferencias de strripos() y stripos() : Ambas funciones cumplen el papel de obtener la posición de un carácter de un string. Pero stripos nos trae la primera opción encontrada y strripos nos trae la última.
c.- Explique brevemente las instrucciones necesarias para trabajar con el archivo que guarda la información de ataques informáticos.
Respuesta:
La instrucción principal para guardar la información de los ataques informáticos es fopen() y seleccionar el archivo de donde se está guardando el log.
Se puede crear un archivo para cada día, mes o año. como por ejemplo:
$fecha_archivo = date(“d-m-Y”);
$log = fopen("log_".$fecha_archivo.".txt","a");
fwrite($log, $string);
fclose($log);
Usando el modo de apertura “a” le decimos a nuestro archivo que si no existe lo cree y si y está creado lo abra y escriba en base a la última línea.
Script:
conocerIpOrigenAtaque("Desde 5.111.123.11-Conexión hacia 1.2.1.2-SSH");
guardarLog("Desde 5.111.123.11-Conexión hacia 1.2.1.2-SSH");
function conocerIpOrigenAtaque($cadena)
{
$ipOrigen =' ';
$primerBlanco = stripos($cadena,' ');
$primerGuion = stripos($cadena,'-');
$ipOrigen = substr($cadena, $primerBlanco, ($primerGuion - $primerBlanco));
$texto = 'La IP desde donde se hace el ataque es: ' . $ipOrigen . '
';
echo $texto;
}
function guardarLog($string)
{
$archivo = fopen("ataques.txt","a");
fwrite($archivo, $strinf);
fclose($archivo);
}
?>
d.- 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:
...