Programming high performance network security tools
|
|
- Sebastián Ortiz de Zárate Moya
- hace 8 años
- Vistas:
Transcripción
1 Programming high performance network security tools Using non-blocking I/O (node.js) Jaime Peñalba
2 Que es node.js? node.js es un conjunto de bindings para la VM de javascript v8 (google chrome). Permite crear programas que realizan operaciones de I/O utilizando javascript. Esta orientado al alto rendimiento
3 Que es node.js? node.js no es un lenguaje de programación, el lenguaje es Javascript. node.js es a la vez un API y el runtime/interprete
4 Ryan Dahl Creador de Node.JS
5 Un ejemplo rápido 2000 requests 1000 clientes concurrentes 1 megabyte de respuesta nginx 3000 req/sec node 2800 req/sec apache 100 req/sec
6 Un ejemplo rápido: El código 1 var http = require('http'); 2 var fs = require('fs'); 3 4 var data = fs.readfilesync('file.rand'); 5 6 http.createserver(function (req, res) { 7 res.writehead(200); 8 res.end(data); 9 }).listen(8282);
7 Un ejemplo rápido: Consideraciones No todo es lo que parece... nginx con opciones de cache desactivadas nginx ha consumido ~4mb de ram node ha consumido ~60mb de ram
8 I/O en la actualidad Es normal encontrar código como este 1 result = query('select * from T'); 2 //use result Qué está haciendo el programa mientras espera la respuesta de la base de datos?
9 I/O en la actualidad Es normal encontrar código como este 1 result = query('select * from T'); 2 //use result Normalmente ESPERAR
10 Latencia: Ordenadores actuales Cache L1: 3 ciclos Cache L2: 14 ciclos RAM: 250 ciclos Disco: ciclos Red: ciclos
11 Latencia: Ordenadores actuales Cache L1: 3 ciclos Cache L2: 14 ciclos RAM: 250 ciclos No Blocante Disco: ciclos Red: ciclos Blocante
12 I/O en la actualidad El mejor software es el software multi tarea. Otros hilos pueden seguir ejecutándose mientras se espera a que otras tareas terminen.
13 I/O en la actualidad De verdad esperar y usar hilos es la mejor solución? Veamos el caso de Apache y NGINX
14 Apache vs NGINX reqs/sec
15 Apache vs NGINX memory 1
16 Apache vs NGINX diferencias Apache utiliza un hilo por conexión NGINX no utiliza hilos. Utiliza un event loop
17 I/O en la actualidad Cambiar de contexto no es gratis para el procesador El stack de cada hilo consume memoria Para concurrencia masiva, utilizar un hilo de sistema por cada conexión no es una buena opción. El modelo de concurrencia por hilos esta obsoleto.
18 I/O en la actualidad: Ejemplo Código como este 1 result = query('select * from T'); 2 //use result Bloquea el proceso o implica el uso de hilos y por lo tanto varios stacks de ejecución
19 I/O en la actualidad: Ejemplo Async 1 query('select ', function (res) { 2 //use result 3 }); De esta forma se permite continuar con la ejecución del programa de forma inmediata y solo se llamara al código encargado de manejar el resultado cuando este este listo. No hacen falta ni ningún otro tipo de trucos.
20 Lo que nos han enseñado 1 puts("enter your name: "); 2 var name = gets(); 3 puts("name: " + name); Nos han enseñado a pedir datos y a no hacer nada hasta que obtenemos el resultado.
21 Lo que nos han enseñado 1 puts("enter yout name: "); 2 gets(function (name)) { 3 puts("name: " + name); 4 }); 4 // Hacer otras cosas Algo así nos parece demasiado complicado.
22 Como funciona node: Arquitectura (old) Node.js Core Library (JavaScript) Node.js Bindings (C++) V8 (C++) Thread Pool (libeio) (C) Event loop (libev) (C)
23 Como funciona node: Arquitectura Node.js Core Library (JavaScript) Node.js Bindings (C++) Google V8 (C++) Libuv (C)
24 Libuv: Unicorn Velociraptor Librería enfocada a async I/O Desarrollada para node.js pero usada también en Rust, Luvit, Julia, pyuv y otros. Event loop utilizando epoll, kqueue, IOCP y event ports Soporte de sockets tcp/udp Operaciones de manejo de ficheros asíncronas Thread pool
25 Como funciona node: Event Loop
26 Como funciona node: Event Loop Cola de Eventos Evento 1 Event Loop Evento 2 Evento 3... Callback Código JavaScript Async call Código Async del OS epoll, kqueue, threads, timers, I/O completion ports, etc...
27 Como funciona node: Diseño Todo se presenta como un Stream para evitar almacenar datos Las funciones no deben de realizar I/O de forma directa, siempre debe de usarse un callback. La capa de JavaScript utiliza un solo hilo La capa de C/C++ es multihilo
28 Por qué no usa todo el mundo event loops? Los event loops mono hilo necesitan que todas las operaciones de I/O sean no blocantes. Si una operación es blocante, se bloquea el event loop. La mayoría de las librerías actuales son blocantes.
29 Identificar operaciones que realizan I/O NO hay I/O 1 b = a(); SI hay I/O 1 a(function (b) { 2 // handle result 3 });
30 Módulos: Core Modules Assertion Buffer Child Processes Cluster Console Crypto Debugger DNS Path Process Punycode Query Strings Readline REPL Stream String Decoder DNS Domain Events File System HTTP HTTPS Modules Net OS Timers TLS/SSL TTY UDP/Datagram URL Utilities VM ZLIB
31 NPM
32 NPM: Node Package Manager Gestor de paquetes por defecto Incluido con node desde la versión Permite instalar programas o módulos disponibles Permite publica módulos
33 NPM: Inicializacion
34 NPM: package.json 1 { 2 "name": "taller", 3 "version": "0.0.1", 4 "description": "Programa de prueba", 5 "main": "index.js", 6 "scripts": { 7 "test": "echo \"Error: no test specified\" && exit 1" 8 }, 9 "author": "Jaime Peñalba", 10 "license": "GPLv3" 11 }
35 NPM: Instalar modulos npm install express npm install express -g npm install express --save
36 NPM: Instalar modulos
37 NPM: Instalar modulos 1 { 2 "name": "taller",... 6 "scripts": { 7 "test": "echo \"Error: no test \" && exit 1" 8 }, 9 "author": "Jaime Peñalba", 10 "license": "GPLv3", 11 "dependencies": { 12 "express": "^4.9.5" 13 } 14 }
38 NPM: Instalar dependencias $ npm install
39 NPM: Node Package Manager Muchas más funcionalidades Actualizar módulos Listar, eliminar módulos Scripts de post instalación Arrancar/parar programa
40 Basics
41 Funciones en javascript 1 function foo(a) { 2 console.log("hola"); 3 } 4 settimeout(foo, 2000); Función Función anónima 7 settimeout(function (a) { 8 console.log("hola"); 9 });
42 Funciones en javascript: como argumento 1 function foo(a) { 2 console.log("hola"); 3 } 4 settimeout(foo, 2000); 7 settimeout(function (a) { 8 console.log("hola"); 9 });
43 Funciones en javascript: como argumento Estamos pasando la función como argumento settimeout(foo, 2000); Estamos pasando el resultado de la ejecución de la función como argumento settimeout(foo(), 2000);
44 Callbacks Un callback es una función que se pasa como argumento de otra función y que se ejecuta en un momento determinado. No es un tipo de dato ni una propiedad especifica del lenguaje, sino una técnica de programación. Se puede realizar en otros lenguajes como en C.
45 Callbacks: Ejemplos 1 var http = require('http'); 2 3 http.get(' function (response) { 4 console.log("la respuesta es: " + 5 response.statuscode); 6 });
46 Callbacks: Ejemplos 1 var http = require('http'); 2 3 function handleresponse(response) { 4 console.log("la respuesta es: " + 5 response.statuscode); 6 } 7 8 http.get(' handleresponse);
47 Callbacks: Ejemplos 1 var child = require('child_process');; 2 3 child.exec('ls -al /', function (err, stdout) { 4 console.log(stdout); 5 }); 6 7 console.log("hello");
48 Módulos: Importar var http = require( http ); var http = require(./mymodule );
49 Módulos: Crear 1 function foo(a) { 2 console.log("arg is " + a); 3 } 4 5 exports.foo = foo; 1 var test = require('./module'); 2 test.foo();
50 API Básico
51 Módulo: http http.request(options, [callback]) http.get(options, [callback]) http.createserver([requestlistener])
52 Módulo: http (options) var options = { hostname: ' port: 80, path: '/upload', method: 'POST', headers: { 'User-Agent': 'morzilla', 'Cookie': 'USERID: algo' } };
53 Módulo: http (events) on('data', function () {}) Hay nuevos datos disponibles para leer en la respuesta del servidor o en el request del cliente (dependiendo de si somos cliente o servidor) on('end', function () {}) Se ha terminado el request del cliente o la respuesta del servidor on('error', function () {}) Ha ocurrido un error
54 Módulo: net net.createconnection(port, [host], [connectlistener]) net.connect(path, [connectlistener]) net.connect(options, [connectionlistener]) net.createconnection(path, [connectlistener])
55 Módulo: net (options) For TCP sockets: port: Port the client should connect to (Required). host: Host the client should connect to. localaddress: Local interface to bind to for connections. For UNIX domain sockets: path: Path the client should connect to (Required).
56 Módulo: net (events) on('data', function () {}) Hay datos nuevos disponibles para leer on('close', function () {}) Se ha terminado la conexion on('connection', function () {}) Se ha conectado un nuevo cliente o se ha conectado con el servidor on('error', function () {}) Ha ocurrido un error
57 Prácticas
58 Prácticas: Chat 1 var net = require('net'); 2 3 var sockets = []; 4 5 var s = net.server(function(socket) { 6 sockets.push(socket); 7 socket.write("welcome to the chat\n"); 8 9 socket.on('data', function(d) { 10 for (var i = 0; i < sockets.length; i++) { 11 if (sockets[i]!== socket) 12 sockets[i].write(d); 13 }; 14 }); socket.on('close', function() { 17 var i = sockets.indexof(socket); 18 sockets.splice(i, 1); 19 }); }); s.listen(6667);
59 Prácticas: Escaner de puertos 1 var net = require('net'); 2 3 var host = process.argv[2]; 4 5 function checkport(port) { 6 var socket = net.connect(port, host); 7 8 socket.on('connect', function(){ 9 console.log(port + "/tcp is Open"); 10 socket.end(); 11 }); socket.on('error', function(err){ 14 socket.destroy(); 15 }); 16 } for (var i = 0; i < 1000; i++) 19 checkport(i);
60 Prácticas: Bruteforce web 1 var http = require('http'); 2 var fs = require('fs'); 3 4 var file = fs.readfilesync(process.argv[3]).tostring(); 5 var folders = file.split('\n'); 6 7 http.globalagent.maxsockets = 300; 8 9 folders.foreach(function (folder) { 10 http.get(process.argv[2] + folder, function (res) { 11 if (res.statuscode!== 404) { 12 console.log("/" + folder + ": " + res.statuscode); 13 } 14 res.socket.end(); 15 }); 16 });
61 Prácticas: Server web 1 var http = require('http'); 2 var fs = require('fs'); http.createserver(function (req, res) { 6 res.writehead(200, {'Content-Type': 'text/html'}); 7 res.end("mi color favorito es el jamon"); 8 }).listen(8282);
62 Prácticas: r2pipe 1 var r2pipe = require('./lib/r2pipe'); r2pipe.pipe('/bin/ls', function (r2) { 5 r2.cmd('pdj entry0', function (res) { 6 var results = JSON.parse(res); 7 8 for (var i = 0; i < results.length; i++) { 9 var addr = results[i].offset.tostring(16); 10 console.log("0x" + addr + ": " + results[i].opcode); 11 }; 12 r2.quit(); 13 }); 14 });
63 Misc
64 Modulos utiles SoupSelect htmlparser Async Express r2pipe
65 Algunas ideas de herramientas Bruteforce logins, dirs o fuzzer Generador de informes Parser de herramientas automáticas Mass scanner Buscador de virtual hosts Helpers de explotación utilizando radare Downloaders de reddit, 4chan, etc... Registros automaticos Simuladores de clicks / visores de publicidad
66 Recursos interesantes Ryan Dahl: Cinco de node Ryan Dahl: Intruction to node.js
HTTP Introducción. Redes de Datos Ing. Marcelo Utard / Ing. Pablo Ronco FACULTAD DE INGENIERIA UNIVERSIDAD DE BUENOS AIRES
Introducción Protocolo de capa de aplicación utilizado para la transferencia de Recursos u objetos. Opera sobre TCP típicamente en el puerto 80 Simple Stateless Genérico Utiliza las extenciones MIME. Transporte
Más detallesCurso de Redes Computadores 1 Tema 3 Introducción a la capa de transporte. Interfaz de programación en redes. Sockets.
Curso de Redes Computadores 1 Tema 3 Introducción a la capa de transporte. Interfaz de programación en redes. Sockets. Prof. Ricardo Gonzalez Redes de Computadores Tema 3 1 1 Modelo Cliente-Servidor Dos
Más detallesDesarrollo y servicios web
Desarrollo y servicios web Luisa Fernanda Rincón Pérez 2015-1 Qué vimos la clase pasada? 1. Fin tutorial HTML 2. Nombres de dominio 3. URLs 3 Sesión 4. Método GET - POST Qué haremos hoy? 1. Tipos de solicitudes
Más detallesARQUITECTURAS CLIENTE/SERVIDOR
Arquitecturas Cliente/Servidor, Sem 2016-1 M.I.Yasmine Macedo Reza 1 ARQUITECTURAS CLIENTE/SERVIDOR Conceptos básicos Arquitecturas Cliente/Servidor, Sem 2016-1 M.I.Yasmine Macedo Reza 2 Conceptos básicos
Más detallesArquitecturas cliente/servidor
Arquitecturas cliente/servidor Conceptos básicos 1 Conceptos básicos 1. Definición de puerto 2. Sockets 3. Conceptos cliente/servidor 4. Definición de Stream 5. Concurrencia, multiprogramación y multitarea
Más detallesHacking Ético. Módulo II Fase 2: Técnicas activas de obtención de información: Escaneo
Hacking Ético Módulo II Fase 2: Técnicas activas de obtención de información: Escaneo Objetivos Detectar sistemas vivos en la red. Descubrir servicios que se están ejecutando o que están escuchando en
Más detallesTUTORIAL NODE.JS POR DARÍO FERNÁNDEZ A. PARA EL CURSO DE DESARROLLO Y SERVICIOS WEB PROFESORA LUISA FERNANDA RINCON PEREZ OCTUBRE 10 DEL AÑO 2014
TUTORIAL NODE.JS POR DARÍO FERNÁNDEZ A. PARA EL CURSO DE DESARROLLO Y SERVICIOS WEB PROFESORA LUISA FERNANDA RINCON PEREZ OCTUBRE 10 DEL AÑO 2014 NodeJS es básicamente un framework para implementar operaciones
Más detallesPROYECTO INTEGRADO CLUSTER DE ALTA DISPONIBILIDAD CON HAPROXY Y KEEPALIVED. Antonio Madrena Lucenilla 21 de Diciembre de 2012 I.E.S.
PROYECTO INTEGRADO CLUSTER DE ALTA DISPONIBILIDAD CON HAPROXY Y KEEPALIVED Obra bajo licencia Creative Commons Antonio Madrena Lucenilla 21 de Diciembre de 2012 I.E.S. Gonzalo Nazareno INDICE DE CONTENIDO
Más detallesCOMUNICACIÓN ENTRE PROCESOS SOCKETS
COMUNICACIÓN ENTRE PROCESOS SOCKETS Diseño de Sistemas Operativos Curso 2007/08 Grupo: Mi30 Martín Santana, A. David Martínez Santana, Luis Ignacio Qué son?(definición) n) Los sockets son mecanismos de
Más detallesDesarrollo Web en Entorno Servidor
Desarrollo Web en Entorno Servidor Tema 1: Introducción 1. Tipos de páginas Web. 2. Instalación del software. (XAMPP) 1 Tipos de páginas Web. Páginas estáticas. Páginas dinámicas. 2 Tipos de páginas Web.
Más detallesServicio de publicación de información web (HTTP)
Servicio de publicación de información web (HTTP) La Web es uno de los servicios más comunes en Internet, tanto que se ha convertido en su cara visible para la mayoría de los usuarios. Una página Web empezó
Más detallesDocumentación Técnica Conector
Documentación Técnica Conector Torre Ejecutiva Sur Liniers 1324, piso 4 Montevideo Uruguay Tel/Fax: (+598) 2901.2929* Email: contacto@agesic.gub.uy www.agesic.gub.uy Indice 1 Introducción...4 2 Casos
Más detallesATAQUE CON SLOWLORIS A SERVIDORES APACHE VULNERABLES
ATAQUE CON SLOWLORIS A SERVIDORES APACHE VULNERABLES ATAQUES DoS (Denegacion de Servicio) Se genera mediante la saturación de los puertos con flujo de información, haciendo que el servidor se sobrecargue
Más detallesActualizaciones de GateDefender Performa desde un servidor web local
Actualizaciones de GateDefender Performa desde un servidor web local Aviso de Copyright Panda Security 2008. Todos los derechos reservados. Ni la documentación, ni los programas a los que en su caso acceda,
Más detallesWEB Y HTTP. HTTP: Hypertext Transfer Protocol [RFC 1945] [RFC 2616] Web Page URL (Uniform/Universal Resource Identifier)
WEB Y HTTP Al comienzo de los 90 Prodigy, america online, compuserve, redes de datos nacionales, x.25, framerelay Télefono 1870, radio/televisión broadcast- 1920, 1930, Web Web: Forms, javascript, java
Más detallesInstalación, creación y configuración del servicio FTP
Instalación, creación y configuración del servicio OBJETIVOS Instalar el servicio de en Windows. Configurar y administrar el Servicio de en Windows. Prueba de acceso desde la LAN al servidor. Apertura
Más detallesINTRANET: MANUAL DE INSTALACIÓN
INTRANET: MANUAL DE INSTALACIÓN 1 de 15 INDICE 1 Requisitos mínimos... 3 2 Instalación... 4 2.1 Instalación de los ficheros de la Intranet... 4 2.2 Registro de las librerías... 4 2.3 Configuración del
Más detallesPROGRAMACIÓN PÁGINAS WEB CON PHP
PROGRAMACIÓN PÁGINAS WEB CON PHP Curso de desarrollo de aplicaciones web. Para ello se estudia la programación de la parte cliente con JavaScript y la programación de la parte servidor con la tecnología
Más detallesQuiz 11: Crear preguntas. Juan Quemada, DIT - UPM
Quiz 11: Crear preguntas Juan Quemada, DIT - UPM 1 Quiz 10: Crear preguntas Objetivo: Introducir en la aplicación Quiz un formulario que permita crear preguntas nuevas y añadirlas a la base de datos. Paso
Más detallesINSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT
INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT Versión 1. Mayo de 2001 Luis Vinuesa Martínez. Departamento de Informática Universidad de Oviedo vinuesa@correo.uniovi.es www.di.uniovi.es/~vinuesa ÍNDICE. Introducción...
Más detallesNode.JS: Plataforma de fácil programación de servidores para aplicaciones de red escalables
Redes de Computadores I Informe de Proyecto Node.JS: Plataforma de fácil programación de servidores para aplicaciones de red escalables Profesor Integrantes Agustín González Claudio Campusano Nicolas Fredes
Más detallesLaboratorio de Desarrollo Software
Laboratorio de Desarrollo Software Despliegue en Heroku Master Hoyo 2013-2014!!!!! ver: 2014-01-30 1 Índice Crearse una cuenta en Heroku.! Preparar la aplicación para poder desplegarla.! Desplegar. 2 Documentación
Más detallesPROGRAMACIÓN EN PHP. 1. Identificar las características y modalidad de programación bajo PHP.
Duración: 60 horas FUNDAMENTACIÓN DEL CURSO PROGRAMACIÓN EN PHP El Lenguaje PHP o Hypertext PreProcessor, al igual que C y Perl maneja programación estructurada, lo que le permite a los programadores con
Más detallesSockets en Java. La Creatividad proviene de un conflicto de ideas. Uso de Sockets
Uso de Sockets Este pequeño manual, le muestra cómo funciona el Socket Server para crear un pequeño servidor web que envía una página HTML a cualquier Navegador Web como Firefox, Internet Explorer, etc..
Más detallesEl servidor Web Tema 2.- Nivel de aplicación en Internet
El servidor Web Tema 2.- Nivel de aplicación en Internet Dr. Daniel Morató Redes de Computadores Ingeniero Técnico en Informática de Gestión, 2º curso Temario 0.- Presentación de la asignatura 1.- Introducción
Más detallesDIPLOMADO EN SEGURIDAD INFORMATICA
DIPLOMADO EN SEGURIDAD INFORMATICA Modulo 9: Soporte Computacional Clase 9_3:Protocolos de comunicación y conectividad de arquitecturas multiplataforma. Director Programa: César Torres A Profesor : Claudio
Más detallesWindows Server 2012: Infraestructura de Escritorio Virtual
Windows Server 2012: Infraestructura de Escritorio Virtual Módulo 1: Application Virtualization Módulo del Manual Autores: James Hamilton-Adams, Content Master Publicado: 5 de Octubre 2012 La información
Más detallesGuía de instalación y configuración de IBM SPSS Modeler Social Network Analysis 16
Guía de instalación y configuración de IBM SPSS Modeler Social Network Analysis 16 Contenido Capítulo 1. Introducción a IBM SPSS Modeler Social Network Analysis.... 1 Visión general de IBM SPSS Modeler
Más detallesINSTALACIÓN DE MySQL SERVER EN WINDOWS
INSTALACIÓN DE MySQL SERVER EN WINDOWS Seguir los siguientes pasos: En primer lugar necesitaremos disponer del programa de instalación. Se puede descargar gratuitamente de http://dev.mysql.com/downloads
Más detallesPRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN
PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN Los protocolos de capa de aplicación de TCP/IP más conocidos son aquellos que proporcionan intercambio de la información
Más detallesTekla Structures Guía Rápida de Licencias. Versión del producto 21.1 agosto 2015. 2015 Tekla Corporation
Tekla Structures Guía Rápida de Licencias Versión del producto 21.1 agosto 2015 2015 Tekla Corporation Contenido 1 Sistema de licencias de Tekla Structures...3 2 Utilizar las licencias de Tekla Structures...
Más detallesMANUAL CONFIGURACIÓN DDNS DIGIPLEX. Registro de dominio Configuración DDNS en DVR Configuración P2P o NAT Configuración SuperLivePro
MANUAL CONFIGURACIÓN DDNS DIGIPLEX Registro de dominio Configuración DDNS en DVR Configuración P2P o NAT Configuración SuperLivePro Registro de un Nombre de Dominio. Esto lo realizaremos a través del enlace
Más detallesANEXO D Manual de Técnico MANUAL TECNICO PROMO APP PROMO PLATFORM PROMO API PROYECTO FINAL
ANEXO D Manual de Técnico MANUAL TECNICO PROMO APP PROMO PLATFORM PROMO API PROYECTO FINAL PROTOTIPO DE SOFTWARE DE UN SISTEMA RECOMENDADOR DE PRODUCTOS Y SERVICIOS EN PROMOCIÓN SOBRE UNA ARQUITECTURA
Más detallesAlmacenamiento virtual de sitios web HOSTS VIRTUALES
Almacenamiento virtual de sitios web HOSTS VIRTUALES El término Hosting Virtual se refiere a hacer funcionar más de un sitio web (tales como www.company1.com y www.company2.com) en una sola máquina. Los
Más detallesSolución de actividad 2.2.5: Uso de NeoTrace para ver Internetworks
Solución de actividad 2.2.5: Uso de NeoTrace para ver Internetworks Objetivos de aprendizaje Explicar el uso de programas de rastreo de rutas, como tracert y NeoTrace. Usar tracert y NeoTrace para rastrear
Más detallesXPERTO EN DISEÑO DE PÁGINAS WEB
Curso ICA de: EXPERTO EN DISEÑO DE PÁGINAS WEB Módulo 1: Program. cliente: JavaScript Estudia el lenguaje JavaScript para crear guiones o scripts que se incluyen en las páginas web y que son ejecutados
Más detallesArquitectura de sistema de alta disponibilidad
Mysql Introducción MySQL Cluster esta diseñado para tener una arquitectura distribuida de nodos sin punto único de fallo. MySQL Cluster consiste en 3 tipos de nodos: 1. Nodos de almacenamiento, son los
Más detallesPráctica 1: sockets en Python
Práctica 1: sockets en Python Álvaro Navarro anavarro@gsyc.es Jesús M. González-Barahona jgb@gsyc.es Infraestructura de Redes 5 o Ingeniería Informática 08/09 1. Fase 1: Cliente UDP Esta primera fase tiene
Más detallesDBSURE. Disponemos de una copia de la base de datos de forma remota, que podemos contabilizar como segundo juego de copias.
DBSURE Introducción Una base de datos Oracle en Standby es una copia exacta de una base de datos operativa en un servidor remoto, usada como backup, como copia para consulta, recuperación de desastres,
Más detallesMódulos: Módulo 1. El núcleo de Linux - 5 Horas
Módulos: Módulo 1 El núcleo de Linux - 5 Horas En este módulo se centrará en el estudio en profundidad del núcleo de Linux. Los estudiantes tendrán que ser capaces de conocer en profundidad los distintos
Más detallesDocumento de implementación Servidor Web. Proyecto Laboratorio de Redes 2011-2
Documento de implementación Servidor Web Proyecto Laboratorio de Redes 2011-2 CONTROL DE REVISIONES Fecha Versión Autores Revisado y aprobado Modificación Camilo Ernesto Gaitán Riveros 18/11/2011 0.1 Luis
Más detallesCOPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA
COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA Autor: Carlos Javier Martín González. Licenciado en Física Teórica por la Universidad Autónoma de Madrid. Analista programador y funcional. Desarrollador
Más detallesREQUISITOS DEL SISTEMA. Software Servidor. Cliente. Hardware Servidor. Cliente
MANUAL TECNICO INSTALACIÓN Y CONFIGURACIÓN DEL SISTEMA AARON A QUIEN VA DIRIGIDO El siguiente manual está dirigido al administrador encargado de la instalación y configuración del Sistema AARON. PRÓLOGO
Más detallesTutorial: Primeros Pasos con Subversion
Tutorial: Primeros Pasos con Subversion Introducción Subversion es un sistema de control de versiones open source. Corre en distintos sistemas operativos y su principal interfaz con el usuario es a través
Más detallesJOOMLA 2.5 MANUAL USUARIO Gestión de Usuarios
JOOMLA 2.5 MANUAL USUARIO Gestión de Usuarios Versión 1.0.1 Área de Aplicaciones Especiales y Arquitectura Software Hoja de Control Título Gestión de Usuarios Joomla 2.5 Documento de Referencia Responsable
Más detallesEscáner de puertos. Módulo 11: Seguridad Informática: Estudio del caso de las Comunicaciones Móviles
14 de Abril del 2012 Escáner de puertos A. Mateos Checa, J. Ruiz Oliva, E.M. Pérez Sánchez Módulo 11: Seguridad Informática: Estudio del caso de las Comunicaciones Móviles Índice Objetivo Datos de red
Más detallesProtocolo HTTP Apache. Servicios HTTP. Esteban De La Fuente Rubio esteban@delaf.cl L A TEX. Universidad Andrés Bello. 17 jun 2011
HTTP esteban@delaf.cl L A TEX Universidad Andrés Bello 17 jun 2011 Tabla de contenidos 1 Protocolo HTTP 2 Protocolo HTTP Hypertext Transfer Protocol. Protocolo utilizado para las transacciones en Internet.
Más detallesInstalación de R. www.r-project.org/
Instalación de R Página principal de R (si se pone en Google R, es la página asociada con The R Project for Statistical Computing ): www.r-project.org/ En la columna izquierda seleccionamos Download, Packages
Más detallesClase 22 Nivel de Aplicación WWW Tema 6.- Nivel de aplicación en Internet
Clase 22 Nivel de Aplicación WWW Tema 6.- Nivel de aplicación en Internet Dr. Daniel Morató Redes de Computadores Ingeniero Técnico de Telecomunicación Especialidad en Sonido e Imagen 3º curso Temario
Más detallesTUTORIAL ACADÉMICO. Programación II- Taller de Programación I Fa.CENA. UNNE
TUTORIAL ACADÉMICO Programación II- Taller de Programación I Fa.CENA. UNNE Eclipse, es un Entorno de Desarrollo Profesional y Gratuito, que puede ser utilizado para varios lenguajes Java, C, C++, PHP,
Más detallesAlmacenamiento virtual de sitios web HOST VIRTUALES
Almacenamiento virtual de sitios web HOST VIRTUALES Tema 4 SRI Vicente Sánchez Patón I.E.S Gregorio Prieto Almacenamiento virtual de sitios web HOST VIRTUALES El término Hosting Virtual se refiere a hacer
Más detallesSophos Anti-Virus para Mac OS X, versión 4.9 guía de inicio. Para Macs en red con Mac OS X
Sophos Anti-Virus para Mac OS X, versión 4.9 guía de inicio Para Macs en red con Mac OS X Edición: junio de 2007 Acerca de esta guía Si tiene un servidor Windows, le recomendamos que utilice Sophos Enterprise
Más detallesJuan de Dios Murillo Morera e-mail: jmurillo@una.ac.cr Santiago Caamaño Polini e-mail: scaamano@costarricense.cr INTRODUCCIÓN
UNICIENCIA 24 pp. 83-89 2010 IMPLEMENTACIÓN DE UN SERVIDOR FTP UTILIZANDO EL MODELO CLIENTE/SERVIDOR MEDIANTE EL USO DE SOCKETS EN LENGUAJE C UNIX CON EL FIN DE MEJORAR LOS TIEMPOS DE RESPUESTA EN LA RED
Más detallesManual De Instalación MySQl 5.1 MANUAL DE INSTALACIÓN Y CONFIGURACIÓN DE MYSQL 5.1.40
MANUAL DE INSTALACIÓN Y CONFIGURACIÓN DE MYSQL 5.1.40 Página 1 de 15 1.- Ejecutamos el fichero mysql-essential-5.1.40-win32. Espera unos minutos mientras se cargan los archivos necesarios para la instalación
Más detallesMANUAL DE USUARIO PARA LA INSTALACION DE LOS AGENTES COMMVAULT SIMPANA 9.0
MANUAL DE USUARIO PARA LA INSTALACION DE LOS AGENTES COMMVAULT SIMPANA 9.0 Commvault Simpana 9 es la solución a la administración de los respaldos de los datos y archivos digitales, ya que ofrece un enfoque
Más detallesLuis Villalta Márquez
- Alojamiento virtual basado en IPs. - Alojamiento virtual basado en nombres. - Alojamiento virtual basado en puertos. - Alojamientos híbridos. Luis Villalta Márquez El término Hosting Virtual se refiere
Más detallesEste proyecto ha sido cofinanciado por PROFIT. www.6sos.org
Este proyecto ha sido cofinanciado por PROFIT Porte de aplicaciones y servicios a IPv6 Eva M. Castro eva@gsyc.escet.urjc.es Grupo de Sistemas y Comunicaciones (GSyC) Universidad Rey Juan Carlos (URJC)
Más detallesPRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN
PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN Los protocolos de capa de aplicación de TCP/IP más conocidos son aquellos que proporcionan intercambio de la información
Más detallesPopularidad comparada de PHP vs ASP, y posibles causas
Popularidad comparada de PHP vs ASP, y posibles causas PHP y ASP Quienes son? PHP significa Hypertext Preprocessor. PHP se originó como una herramienta de scripting que se ha dado de forma rápida a través
Más detallesFuncionamiento de Servicios Web, FTP
Funcionamiento de Servicios Web, FTP Tema 2.- Nivel de aplicación en Internet Dr. Daniel Morató Redes de Computadores Ingeniero Técnico en Informática de Gestión, 2º curso Material adaptado del libro Computer
Más detallesStudium, Campus Virtual de la Universidad de Salamanca.
Studium, Campus Virtual de la Universidad de Salamanca. Contenidos 1 Qué es Studium 2 Instalación de Studium en USAL 3 Atención a los usuarios 4 Instalación Moodle. MoodleWindowsInstaller 5 Moodle portable
Más detallesWINDOWS SERVER 2008 CORE
WINDOWS SERVER 2008 CORE INTRODUCCION Una de las características mas importantes de Windows Server 2008, es la instalación como Server Core. Este tipo de instalación nos permite tener lo estrictamente
Más detallesMANUAL DE USO FILEZILLA
Manual desarrollado por la Universidad de Jaén, España. http://www.ujaen.es/sci/redes/ftp/filezilla/ 1.- Introducción. MANUAL DE USO FILEZILLA FileZilla es un cliente de FTP desarrollado para la plataforma
Más detallesCONFIGURACIÓN DEL SERVIDOR
CONFIGURACIÓN DEL SERVIDOR Una vez finalizadas las configuraciones iniciales de las interfaces y direcciones IPs, desde cualquier equipo de la red abrimos el navegador e introducimos la dirección IP del
Más detallesImplantar Microsoft Software Updates Service (SUS)
Implantar Microsoft Software Updates Service (SUS) Guía rápida de instalación Versión: 1.0 Autor: Paulino Insausti Barrenetxea Fecha: 15 de Junio de 2005 Licencia: CreativeCommons - ShareAlike Indice 1.Introducción...
Más detallesNetwork Services Location Manager. Guía para los administradores de redes
apple Network Services Location Manager Guía para los administradores de redes Este documento describe el software Network Services Location Manager y proporciona información acerca de cómo configurar
Más detallesIntroducción a las Redes de Computadoras. Obligatorio 2 2011
Introducción a las Redes de Computadoras Obligatorio 2 2011 Facultad de Ingeniería Instituto de Computación Departamento de Arquitectura de Sistemas Nota previa - IMPORTANTE Se debe cumplir íntegramente
Más detallesWINDOWS 2008 5: TERMINAL SERVER
WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.
Más detallesQUÉ ES UN SERVIDOR Y CUÁLES SON LOS PRINCIPALES TIPOS DE SERVIDORES? (PROXY, DNS, WEB, FTP, SMTP, ETC.) (DV00408A)
APRENDERAPROGRAMAR.COM QUÉ ES UN SERVIDOR Y CUÁLES SON LOS PRINCIPALES TIPOS DE SERVIDORES? (PROXY, DNS, WEB, FTP, SMTP, ETC.) (DV00408A) Sección: Divulgación Categoría: Herramientas Informáticas Fecha
Más detallesORBERE. Memoria Técnica del Aplicativo de Gestión de la producción para ADIMDE
ORBERE Memoria Técnica del Aplicativo de Gestión de la producción para ADIMDE Bilbao, 12 de diciembre de 2006 INDICE 1. METODOLOGÍA DE TRABAJO 2 1.1 Pautas para el Desarrollo 2 1.2 Entorno Tecnológico,
Más detallesGESTOR DE LICENCIAS Ayuda
GESTOR DE LICENCIAS Ayuda SUMARIO SUMARIO Que es el Gestor de licencias... 1 Requisitos que debe tener el terminal donde se instale el Gestor de licencias... 3 Puedo tener el servidor y visor de licencias
Más detallesDossier de prácticas
Dossier de prácticas Administración de Web Sites Màster d Enginyeria del Software Desenvolupament d aplicacions sobre Internet Fundació Politècnica de Catalunya Jaume Moral Ros Albert Obiols Vives 1 2
Más detallesInstalar y configurar W3 Total Cache
Instalar y configurar W3 Total Cache en WordPress Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com La velocidad de carga de una web influye mucho a la hora de mejorar el
Más detallesGeneral Parallel File System
General Parallel File System Introducción GPFS fue desarrollado por IBM, es un sistema que permite a los usuarios compartir el acceso a datos que están dispersos en múltiples nodos; permite interacción
Más detallesIS23 Mantenimiento de Instalaciones Informáticas Práctica 7. Análisis de redes
IS23 Mantenimiento de Instalaciones Informáticas Práctica 7. Análisis de redes 1 Objetivos Ingeniería Técnica Informática de Sistemas Curso 2003/2004 En la presente sesión se pretende familiarizar al alumno
Más detallesINSTALACIÓN DE LICENCIAS EN RED. Descripción del Procedimiento
INSTALACIÓN DE LICENCIAS EN RED Descripción del Procedimiento ÍNDICE 1 LICENCIA INDIVIDUAL FRENTE A LICENCIA EN RED... 5 2 RESUMEN DEL PROCEDIMIENTO... 5 3 PASOS DETALLADOS... 6 3.1 Obtener el fichero
Más detalles[Un framework de test de intrusión web]
[Un framework de test de intrusión web] IV OWASP Spain Chapter Meeting 21 Noviembre 2008, Barcelona, España José Ramón Palanco. Hazent Systems S.L jose.palanco@hazent.com. Qué es w3af? Quién debería conocer
Más detallesTutorial BMS Server Studio UDP
Tutorial BMS Server Studio UDP ÍNDICE Página 0. Introducción...3 1. Configuración del puerto UDP...4 2. Ejemplos...6 2.1 Configuración manual...6 2.1.1 Configuración SocketTest...6 2.1.2 Configuración
Más detallesDesarrollo y servicios web
Desarrollo y servicios web Luisa Fernanda Rincón Pérez 2014-2 2 Sesión 3. Arquitectura web básica parte 2 Qué haremos hoy? 3 1. La era post pc 2. Nombres de dominio 3. URL 4.HTTP( GET / POST) La era post-pc
Más detallesLa importancia de las pruebas de penetración (Parte I)
Publicado en Revista.Seguridad (http://revista.seguridad.unam.mx) Inicio > La importancia de las pruebas de penetración (Parte I) La importancia de las pruebas de penetración (Parte I) Por Erika Gladys
Más detalleshttp://www.statum.biz http://www.statum.info http://www.statum.org
ApiaMonitor Monitor de Infraestructura BPMS Por: Ing. Manuel Cabanelas Product Manager de Apia Manuel.Cabanelas@statum.biz http://www.statum.biz http://www.statum.info http://www.statum.org Abstract A
Más detallesISCAN - MANUAL DE INSTALACIÓN
ISCAN - MANUAL DE INSTALACIÓN iscan es un software desarrollado y facilitado por INTECO (Instituto Nacional de Tecnología de la Comunicación) que realiza un análisis mensual del sistema y su seguridad
Más detallesIntroducción a PHP. * No es necesario declarar previamente las variables.
Introducción a PHP La programación de sitios web cada día está más orientada al desarrollo de páginas dinámicas y aplicaciones, o sea sitios donde el usuario pueda interactuar con la web. Dentro de los
Más detalles1. Definición de puerto 2. Sockets 3. Conceptos cliente/servidor 4. Definición de Stream 5. Concurrencia, multiprogramación y multitarea 6.
1. Definición de puerto 2. Sockets 3. Conceptos cliente/servidor 4. Definición de Stream 5. Concurrencia, multiprogramación y multitarea 6. Servidores iterativos y concurrentes 7. Estándares Stream Es
Más detallesLa utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.
Procesamiento del lado del servidor La Programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante la interpretación de un script en el
Más detallesINTRODUCCION. Tema: Protocolo de la Capa de aplicación. FTP HTTP. Autor: Julio Cesar Morejon Rios
INTRODUCCION Tema: Protocolo de la Capa de aplicación. FTP HTTP Autor: Julio Cesar Morejon Rios Qué es FTP? FTP (File Transfer Protocol) es un protocolo de transferencia de archivos entre sistemas conectados
Más detallesNavegadores y páginas web
Navegadores y páginas web Comunicación en el siglo XXI El poder de la Web está en su universalidad. El acceso de todos es un aspecto esencial. Tim Berners-Lee Creador de la World Wide Web Índice de contenidos
Más detallesInstantáneas o Shadow Copy
Instantáneas o Shadow Copy Las instantáneas o en ingles shadow copy, es una utilidad del sistema operativo que realiza copias de seguridad de los ficheros y carpetas de una partición determinada cada cierto
Más detallesInstalación de XEN... 2 1 Información de XEN... 2 1.1 Qué es XEN?... 2 1.2 Componentes de XEN:... 2
Guía Instalación de XEN en opensuse Contenido de la guía Instalación de XEN... 2 1 Información de XEN... 2 1.1 Qué es XEN?... 2 1.2 Componentes de XEN:... 2 2 Instalación del kernel de XEN para Opensuse
Más detallesservicios. El API es definido al nivel de código fuente y proporciona el nivel de
GLOSARIO API Application Program -ming- Interface Es la interfaz por la cual una aplicación accede al sistema operativo u a otros servicios. El API es definido al nivel de código fuente y proporciona el
Más detallesMarcos de Desarrollo. Diseño e implementación de aplicaciones Web con.net
Marcos de Desarrollo Diseño e implementación de aplicaciones Web con.net Prácticas de laboratorio (.NET) Planificación de clases prácticas 1. Introducción al entorno de trabajo 2. Ejemplos C# 3. Ejemplos
Más detallesInstalación de IPv6 en plataformas FreeBSD
Versión Fecha: 4.0 05/01/2004 Título: Tipo: Autor(es): Editor: Instalación de IPv6 en plataformas FreeBSD Documento Técnico 6SOS Documento original suministrado por Jordi Palet Martínez Adaptación por
Más detallesSoftware Intel para administración de sistemas. Guía del usuario del Paquete de administración de servidores modulares Intel
Software Intel para administración de sistemas Guía del usuario del Paquete de administración de servidores modulares Intel Declaraciones legales LA INFORMACIÓN CONTENIDA EN ESTE DOCUMENTO SE PROPORCIONA
Más detallesServidores Web (II) Contenidos
Contenidos Servidores (II) Servidores/aplicaciones con/sin Estado Sesiones con Servlets Contextos compartidos con Servlets Acceso concurrente desde Servlets Servidores Cache Servidores Virtuales 1 2 Aplicaciones
Más detalles10. El entorno de publicación web (Publiweb)
10. El entorno de publicación web (Publiweb) 10.1. Introducción El entorno de publicación Web es una herramienta que permite la gestión de nuestras páginas Web de una forma visual. Algunos ejemplos de
Más detallesInstalación y configuración del servidor FTP Filezilla en Windows 2003 Server. Vicente Sánchez Patón I.E.S Gregorio Prieto.
Tema 5 SRI Instalación y configuración del servidor FTP Filezilla en Windows 2003 Server Vicente Sánchez Patón I.E.S Gregorio Prieto Tema 5 SRI Lo primero será descargarse el filezilla sever, desde su
Más detallesEl servidor WEB Apache HTTPD. Tecnologías Web
El servidor WEB Apache HTTPD Tecnologías Web Apache HTTPD Es uno de los mejores servidores de contenido estático disponibles, debido a su eficiencia sirviendo contenido estático y a su gran robustez Características
Más detallesWindows Server 2012 Manejabilidad y automatización. Module 3: Adaptación del Administrador de servidores a sus necesidades
Windows Server 2012 Manejabilidad y automatización Module 3: Adaptación del Administrador de servidores a sus necesidades Fecha de publicación: 4 de septiembre de 2012 La información contenida en este
Más detallesA continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante
Modulo 2. Inicio con Java Muchas veces encontramos en nuestro entorno referencias sobre Java, bien sea como lenguaje de programación o como plataforma, pero, que es en realidad Java?, cual es su historia?,
Más detallesManual de usuario Versión: 1.3 Edición: 05/02/2015 1
Manual de usuario Versión: 1.3 Edición: 05/02/2015 1 Índice Formula Integration Manual de Usuario... 3 1. Introducción... 3 1.1. Funcionalidades... 3 2. Instalación... 3 2.1. Requisitos mínimos... 3 2.2.
Más detalles