Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
I
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMATICAS Y FISICAS
CARRERA DE INGENIERIA EN NETWORKING
DESARROLLO DE UNA PLATAFORMA WEB DE MAPEO Y ESCANEO DE DIRECCION IP DENTRO DE UNA RED IPV4
CON EQUIPOS CISCO PARA LA EMPRESA MEDIASIST
PROYECTO DE TITULACIÓN
Previa a la obtención del Título de:
INGENIERO EN NETWORKING Y
TELECOMUNICACIONES
AUTOR: DOUGLAS ANTONIO TORAL HERRERA
TUTOR: ING. SOL LOPEZDOMINGUEZ RIVAS, MAE.
GUAYAQUIL – ECUADOR 2016
II
REPOSITORIO NACIONAL EN CIENCIAS Y TECNOLOGÍA
FICHA DE REGISTRO DE TESIS
TÍTULO “DESARROLLO DE UNA PLATAFORMA WEB DE MAPEO Y ESCANEO DE IP DENTRO DE UNA
RED IPV4 CON EQUIPOS CISCO PARA LA EMPRESA MEDIASIST”
AUTORA: DOUGLAS ANTONIO TORAL HERRERA REVISORES:
INSTITUCIÓN: UNIVERSIDAD DE GUAYAQUIL FACULTAD: CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA: INGENIERÍA EN NETWORKING Y TELECOMUNICACIONES
FECHA DE PUBLICACIÓN: Abril de 2015 N° DE PÁGS.: 156
ÁREA TEMÁTICA: Educativa
PALABRAS CLAVES: aplicativo web, desarrollo, implementación, mapeo y escaneo.
RESUMEN: La empresa Mediasist cuenta con una gran cantidad de equipos tecnológicos
conectados en la red lo que demanda una mayor cantidad de direcciones IP para la
configuración de dicho equipos. Al no contar con un control y una herramienta de búsqueda
de direcciones Ip se vuelve complicado la asignación de dirección Ip a un equipo nuevo que
ingrese a la empresa. El presente proyecto tiene como finalidad implementar un aplicativo web
de mapeo y escaneo de direcciones IPv4 que permitirá la automatización de procesos de
búsqueda y generar un inventario de las direcciones Ip en uso y activas, todo esto
estableciendo estrategias metodológicas ágiles de desarrollo para cumplir con las normas de
calidad y dar como resulta un aplicativo Web que el usuario se sienta a gusto con el uso y la
funcionalidad que le brinda.
N° DE REGISTRO(en base de datos): N° DE CLASIFICACIÓN: Nº
DIRECCIÓN URL (tesis en la web):
ADJUNTO PDF SI X NO
CONTACTO CON AUTORA: DOUGLAS ANTONIO TORAL HERRERA Teléfono: 0998244927
E-mail: [email protected]
CONTACTO DE LA INSTITUCIÓN:
Universidad de Guayaquil
Nombre:
Teléfono:
III
APROBACION DEL TUTOR
En mi calidad de Tutor del trabajo de titulación, “DESARROLLO DE UNA
PLATAFORMA WEB DE MAPEO Y ESCANEO DE IP DENTRO DE UNA RED IPV4
CON EQUIPOS CISCO PARA LA EMPRESA MEDIASIST “ elaborado por el Sr.
DOUGLAS ANTONIO TORAL HERRERA, de la Carrera de Ingeniería en Networking,
Facultad de Ciencias Matemáticas y Físicas de la Universidad de Guayaquil, previo a la
obtención del Título de Ingeniero en Sistemas, me permito declarar que luego de haber
orientado, estudiado y revisado, la Apruebo en todas sus partes.
Atentamente
Ing. Sol Lopezdomínguez Rivas
TUTOR
IV
DEDICATORIA
Dedico este logro a Dios y a la Virgen María quienes me dieron la fuerza y la
inspiración para concluir el proyecto de tesis. A mis padres: Josefina Villamar y
Guillermo Toral que me dieron la vida, en especial a mi madre que siempre ha
estado conmigo en los buenos y malos momentos dándome el apoyo necesario
día y noche para salir a delante, por sus consejos, valores y más que nada por
su amor que gracias a ello me ha permitido ser una persona de bien.
V
AGRADECIMIENTO
Agradezco a Dios por haberme dado ese aliento de vida y ponerme a esa
persona tan especial que es mi Madre, por darme la salud y la fortaleza de salir
adelante, por estar a mi lado siempre enseñándome la humildad.
A mis padres y familiares a cada una de ellos que siempre han estado a mi lado,
aconsejándome y apoyándome en todo momento.
De todo corazón a mi novia Viviana Choez que con su paciencia, perseverancia
e insistencia me ha ayudo y alentó para seguir adelante, cuando parecía que me
iba a dar por vencido, gracias por estar en los momentos que más te necesitaba.
Un especial agradecimiento al Ing. David Benavides López por haberme
permitido formar parte de la gran familia de Sistemas de Mediasist, y darme la
oportunidad de seguir creciendo Profesional y Académicamente siempre
pensando en el bienestar de las personas que lo rodean, muchas gracias.
A mis amigos que son mis compañeros de trabajo Ing. Carlos Corral, Ing. Xavier
Sánchez, Ing. Paul Espín, Ing. Carlos Zumba, Ing. Danny Pinos, Ing. Antonio
Rodríguez que llegaron a forman parte importante de mi vida gracias por
brindarme siempre su apoyo y sus conocimientos de manera desinteresada.
A la UNIVERSIDAD DE GUAYAQUIL por darme los conocimientos necesarios
para salir adelante Académica y Profesionalmente.
VI
TRIBUNAL PROYECTO DE TITULACIÓN
Ab. Juan Chávez A.
SECRETARIO
Ing. Eduardo Santos Baquerizo, M.Sc.
DECANO DE LA FACULTAD
CIENCIAS MATEMATICAS
Y FISICAS
Ing. Inelda Martillo Alcívar, Mgs DIRECTORA
CISC, CIN
Nombres y Apellidos
DIRECTOR DEL PROYECTO DE
TITULACIÓN
Nombre y Apellidos
PROFESOR DEL ÁREA -
TRIBUNAL
VII
DECLARACIÓN EXPRESA
“La responsabilidad del contenido de este Proyecto de Titulación, me corresponden exclusivamente; y el patrimonio intelectual de la misma a la UNIVERSIDAD DE GUAYAQUIL”
DOUGLAS ANTONIO TORAL HERRERA
VIII
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERIA EN SISTEMAS COMPUTACIONALES
Desarrollo de una plataforma Web de mapeo y escaneo de IP dentro de una Red IpV4 con equipos CISCO para la Empresa Mediasist
Proyecto de Titulación que se presenta como requisito para optar por el título de
INGENIERO EN NETWORKING Y TELECOMUNICACIONES
Auto/a: DOUGLAS ANTONIO TORAL HERRERA
C.I: 0930168711
Tutor: ING. SOL LOPEZDOMINGUEZ RIVAS
Guayaquil, Abril de 2016
IX
CERTIFICADO DE ACEPTACIÓN DEL TUTOR
En mi calidad de Tutor del proyecto de titulación, nombrado por el Consejo Directivo de la Facultad de Ciencias Matemáticas y Físicas de la Universidad de Guayaquil.
CERTIFICO:
Que he analizado el Proyecto de Titulación presentado por el/la estudiante DOUGLAS ANTONIO TORAL HERRERA, como requisito previo para optar por el título de Ingeniero en Networking y Telecomunicaciones cuyo problema es: DESARROLLO DE UNA PLATAFORMA WEB DE MAPEO Y ESCANEO DE IP DENTRO DE UNA RED IPV4 CON EQUIPOS CISCO PARA LA EMPRESA MEDIASIST
Considero aprobado el trabajo en su totalidad.
Presentado por:
Douglas Antonio Toral Herrera 0930168711
Tutor: Ing. Sol Lopezdominguez Rivas
Guayaquil, Abril de 2016
X
ABREVIATURAS UG Universidad de Guayaquil FTP Archivos de Transferencia Html Lenguaje de Marca de salida de Hyper Texto Http Protocolo de transferencia de Hyper Texto Ing. Ingeniero Ip Internet Protocol TI Tecnología de la Información Vlan Red de área local Virtual MAC Control de Acceso al Medio Https Protocolo de transferencia de Hyper Texto Seguro Httpd Proceso de Protocolo de transferencia de Hyper Texto Seguro
XI
UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERIA EN NETWORKING Y TELECOMUNICACIONES
Autorización para Publicación de Proyecto de Titulación en Formato Digital
1. Identificación del Proyecto de Titulación Nombre Alumno: DOUGLAS ANTONIO TORAL HERRERA
Dirección: Cdla. Montebello Mz. 4A V19
Teléfono: 0998244927 E-mail: [email protected]
Facultad: Ciencias Matemáticas y Físicas
Carrera: Ingeniería en Networking y Telecomunicaciones.
Proyecto de titulación al que opta: Ingeniero en Networking y Telecomunicaciones
Profesor tutor: Sol Lopezdomínguez Rivas
Título del Proyecto de titulación: DESARROLLO DE UNA PLATAFORMA WEB DE MAPEO Y ESCANEO DE IP DENTRO DE UNA RED IPV4 CON EQUIPOS CISCO PARA LA EMPRESA MEDIASIST.
Tema del Proyecto de Titulación: mapeo y escaneo, desarrollo, plataforma web,
implementación.
2. Autorización de Publicación de Versión Electrónica del Proyecto de Titulación A través de este medio autorizo a la Biblioteca de la Universidad de Guayaquil y a la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica de este Proyecto de titulación. Publicación electrónica:
Inmediata X Después de 1 año
Firma Alumno:
3. Forma de envío: El texto del proyecto de titulación debe ser enviado en formato Word, como archivo .Doc. O .RTF y .Puf para PC. Las imágenes que la acompañen pueden ser: .gis, .jpg o .TIFF.
DVDROM X CDROM
XII
ÍNDICE GENERAL
APROBACION DEL TUTOR ........................................................................ III
DEDICATORIA ............................................................................................ IV AGRADECIMIENTO ..................................................................................... V TRIBUNAL PROYECTO DE TITULACIÓN ................................................ VI
DECLARACIÓN EXPRESA ....................................................................... VII CERTIFICADO DE ACEPTACIÓN DEL TUTOR ....................................... IX ABREVIATURAS .......................................................................................... X
ÍNDICE DE CUADROS ............................................................................. XIV ÍNDICE DE GRÁFICOS ............................................................................. XV RESUMEN ................................................................................................. XVI
ABSTRACT ............................................................................................... XVII INTRODUCCIÓN ........................................................................................... 1 CAPITULO I ................................................................................................... 2
EL PROBLEMA ............................................................................................. 2 PLANTEAMIENTO DEL PROBLEMA .......................................................... 2
Ubicación del Problema en un Contexto ................................................... 2
Situación Conflicto Nudos Críticos ............................................................ 3 Causas y Consecuencias del Problema ................................................... 4
Causas.................................................................................................... 4
Consecuencias ....................................................................................... 4 Delimitación del Problema ......................................................................... 5 Formulación del Problema ......................................................................... 5
Evaluación del Problema ........................................................................... 5 OBJETIVOS ................................................................................................... 7
OBJETIVO GENERAL ............................................................................... 7
OBJETIVOS ESPECÍFICOS ..................................................................... 7 ALCANCES DEL PROBLEMA ...................................................................... 7 JUSTIFICACION E IMPORTANCIA ............................................................ 8
METODOLOGÍA DEL PROYECTO: ............................................................. 9 Metodología de Desarrollo ........................................................................ 9 Supuestos y restricciones ........................................................................ 11
Plan de Calidad (pruebas a realizar)....................................................... 13 CAPITULO II ................................................................................................ 14 MARCO TEÓRICO ...................................................................................... 14
ANTECEDENTES DEL ESTUDIO .............................................................. 14 FUNDAMENTACIÓN TEÓRICA ................................................................. 14
PHP: HYPERTEXT PREPROCESSOR .................................................. 14
HTML: HYPERTEXT MARKUP LENGUAGE ......................................... 16 MYSQL ..................................................................................................... 18 HTTP APACHE SERVER ........................................................................ 19
OPEN SOURCE....................................................................................... 20 SISTEMA OPERATIVO UNIX/LINUX ..................................................... 22 JAVASCRIPT ........................................................................................... 24
PROTOCOLO SNMP .............................................................................. 26
XIII
PROTOCOLO TELNET ........................................................................... 28 PROTOCOLO TCP/IP ............................................................................. 29
PROTOCOLO SSH.................................................................................. 31 DIRECCIÓN IP......................................................................................... 33 CISCO SYSTEMS ................................................................................... 36
EQUIPOS DE ENRUTAMIENTO ............................................................ 37 ARQUITECTURA MVC ........................................................................... 39 NORMAS ISO .......................................................................................... 40
FUNDAMENTACIÓN LEGAL ...................................................................... 41 DECRETO PRESIDENCIAL No. 1014.................................................... 41
PREGUNTA CIENTÍFICA A CONTESTARSE ........................................... 44
DEFINICIONES CONCEPTUALES ............................................................ 45 CAPÍTULO III ............................................................................................... 47 PROPUESTA TECNOLÓGICA ................................................................... 47
ANÁLISIS DE FACTIBILIDAD ................................................................. 48 Factibilidad Operacional ...................................................................... 49 Factibilidad Técnica ............................................................................. 49
Factibilidad Legal ................................................................................. 50 Factibilidad Económica ........................................................................ 51
ETAPAS DE LA METODOLOGÍA DEL PROYECTO................................. 52
SPRINT 0 - ANÁLISIS Y RECOPILACIÓN DE INFORMACIÓN PARA PROYECTO ............................................................................................. 53 SPRINT 1 - MODULO DE SEGURIDAD ................................................ 56
SPRINT 2 - MÓDULO DE BÚSQUEDA DE EQUIPOS .......................... 58 SPRINT 3 - MÓDULO DE REPORTERÍA .............................................. 59 SPRINT 4 - MÓDULO DE CONFIGURACIÓN Y RESPALDO DE LOS
DISPOSITIVOS DE TELECOMUNICACIONES. .................................... 61 ENTREGABLES DEL PROYECTO ............................................................ 62 CRITERIOS DE VALIDACIÓN DE LA PROPUESTA ................................ 63
ENCUESTA DE SATISFACCIÓN ........................................................... 67 POBLACION Y MUESTA ........................................................................ 69
CAPITULO IV............................................................................................... 79
CRITERIO DE ACEPTACION DEL PRODUCTO O SERVICIO................ 79 BIBLIOGRAFÍA ............................................................................................ 83 ANEXOS ...................................................................................................... 86
ANEXO A – CRONOGRAMA DEL PROYECTO .................................... 87 ANEXO B – MANUAL TÉCNICO ............................................................ 89 ANEXO C.- MANUAL DE USUARIO ...................................................... 99
ANEXO D.- DIAGRAMA ENTIDAD RELACION. .................................. 121 ANEXO E.- CODIGO FUENTE DEL PROYECTO ............................... 122 ANEXO F.- DICCIONARIO DE DATOS ................................................ 130
XIV
ÍNDICE DE CUADROS
Cuadro No. 1 Delimitación del Problema ........................................................... 5 Cuadro No. 2 Software/Hardware a Utilizar ..................................................... 51 Cuadro No. 3 Calculo de Población................................................................. 69 Cuadro No. 4 Necesidad Del Aplicativo Web ................................................... 70 Cuadro No. 5 Inventario de Direcciones IP ...................................................... 71 Cuadro No. 6 Respaldo de configuración de dispositivos de telecomunicaciones....................................................................................................................... 71 Cuadro No. 7 Facilita sus labores diarias ........................................................ 72 Cuadro No. 8 Centralizar y administrar dispositivos de telecomunicaciones ...... 73 Cuadro No. 9 Necesaria la implementación de aplicativo para un Administrador de Red........................................................................................................... 73 Cuadro No. 10 Interfaz web amigable ............................................................. 74 Cuadro No. 11 Uso de la Aplicación ................................................................ 75 Cuadro No. 12 Funciones adicionales ............................................................. 75 Cuadro No. 13 Implementación en otras empresas.......................................... 76 Cuadro No. 14 Criterios de aceptación ............................................................ 79 Cuadro No. 15 Informe de la calidad ISO 9126 del Proyecto ............................ 81
XV
ÍNDICE DE GRÁFICOS
Gráfico 1 Metodología Ágil Scrum .................................................................. 10 Gráfico 2 Forma de usar el código PHP en HTML .......................................... 14 Gráfico 3 Funcionamiento de PHP ................................................................. 15 Gráfico 4 logo de la comunidad de Open Source ............................................ 20 Gráfico 5 Evolución del primer Sistemas Operativo Unix. ................................ 23 Gráfico 6 Estructura del Sistema Operativo Unix ........................................... 24 Gráfico 7 Clase de direcciones IP .................................................................. 36 Gráfico 8 relación entre Controlador - Vista - Modelo ..................................... 40 Gráfico 9 Interfaz de la herramienta scrumtool................................................ 53 Gráfico 10 Sprint 0 – Análisis y recopilación de información ............................ 54 Gráfico 11 burndown del Sprint 0 ................................................................... 55 Gráfico 12 Sprint 1 – Modulo De Seguridad ................................................... 56 Gráfico 13 Sprint 1 Modulo de Seguridad ....................................................... 57 Gráfico 14 Sprint 2 – Modulo de Búsqueda de Equipos................................... 58 Gráfico 15 Burndown del Sprint 2................................................................... 59 Gráfico 16 Sprint 3 – Modulo de Reportería .................................................... 59 Gráfico 17 Burndown Sprint 3 ....................................................................... 60 Gráfico 18 Sprint 4 – Modulo de configuración Respaldo de los dispositivos de Telecomunicaciones. ...................................................................................... 61 Gráfico 19 Burndown del Sprint 4 culminado .................................................. 62 Gráfico 20 Necesidad Del Aplicativo Web....................................................... 70 Gráfico 21 inventario de Direcciones IP .......................................................... 71 Gráfico 22 Respaldo de configuración de dispositivo de Telecomunicaciones .. 71 Gráfico 23 Facilita sus labores diarias ............................................................ 72 Gráfico 24 Centralizar y administrar dispositivos de telecomunicaciones ......... 73 Gráfico 25 Necesaria la implementación de aplicativo para un Administrador de Red ............................................................................................................... 73 Gráfico 26 Interfaz web amigable ................................................................... 74 Gráfico 27 Uso de la Aplicación ..................................................................... 75 Gráfico 28 Funciones adicionales .................................................................. 75 Gráfico 29 Implantación en otras empresas .................................................... 76 Gráfico 30 Preguntas ingresadas en RStudio para el análisis. ......................... 77 Gráfico 31 Selección de conjunto de datos. .................................................... 77 Gráfico 32 Opciones de Estadísticas-Test de correlación ................................ 78 Gráfico 33 Resultado de Correlación .............................................................. 78 Gráfico 34 Modelo de Calidad ISO 9126 ........................................................ 81
XVI
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMATICAS Y FISICAS
CARRERA DE INGENIERIA EN SISTEMAS COMPUTACIONALES
Desarrollo de una plataforma Web de mapeo y escaneo de IP dentro de una Red IpV4
con equipos CISCO para la Empresa Mediasist
RESUMEN
La empresa Mediasist cuenta con una gran cantidad de equipos tecnológicos
conectados en la red lo que demanda una mayor cantidad de direcciones IP para
la configuración de dicho equipos. Al no contar con un control y una herramienta
de búsqueda de direcciones Ip se vuelve complicado la asignación de dirección
Ip a un equipo nuevo que ingrese a la empresa. El presente proyecto tiene como
finalidad implementar un aplicativo web de mapeo y escaneo de direcciones IPv4
que permitirá la automatización de procesos de búsqueda y generar un
inventario de las direcciones Ip en uso y activas, todo esto estableciendo
estrategias metodológicas ágiles de desarrollo para cumplir con las normas de
calidad y dar como resulta un aplicativo Web que el usuario se sienta a gusto
con el uso y la funcionalidad que le brinda.
Autor: Douglas Antonio Toral Herrera
Tutor: Ing. Sol Lopezdomínguez Rivas
XVII
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMATICAS Y FISICAS
CARRERA DE INGENIERIA EN SISTEMAS COMPUTACIONALES
DEVELOPMENT OF A WEB MAPPING PLATFORM AND SCAN IP WITHIN AN
IPV4 NETWORK WITH CISCO EQUIPMENT COMPANY MEDIASIST
ABSTRACT
Mediasist is a company with a lot of technological device connected to the
network. This requires a greater a mount of Ip addresses in order to permit the
configuration of such devices. By not having the control neither the possibily to
find Ip addresses it becomes hard to assign, thus to address to a new device
acquired by the company. The main aim of this project is to implement a web
application of mapping and scanning that will allow the automation of the search
process in order to generate an inventory of in service Ip addresses. All this by
establishing agile methodological strategias of development to that Quality
standards might be achieved and the uses fells comportable with the funtionaly it
provids.
Author: Douglas Antonio Toral Herrera
Tutor: Ing. Sol Lopezdominguez Rivas
1
INTRODUCCIÓN
Vivimos en un mundo dependiente de una Ip, el incremento de dispositivos
habilitados por Ip por ejemplo teléfonos móviles inteligentes, tabletas, Ipad,
equipos portátiles y demás dispositivos aleatorios en el lugar de trabajo han
vuelto las redes empresariales más dinámicas y complejas que antes, si una
área de TI no posee las herramientas adecuadas para manejar esta demanda la
administración de la dirección Ip puede convertirse en una pesadilla.
En algunas empresas tiene una infraestructura de red que por lo general tienen
un diseño de red jerárquico la cual cuenta con tres niveles (acceso, distribución,
núcleo), indistintamente el diseño de red que tenga, siempre cuentan con
equipos que se conectan a la red la cual si pasa de cien o más dispositivos
conectados es recomendable la asignar direcciones Ip de manera manual.
Esto genera desgaste para el personal de soporte y por descuido de
configuración puede aparecer problemas como perdida de direcciones Ip o
duplicación de las misma como lo que en ocasiones ocurre en la empresa
Mediasist, cuando esto sucede tiene que buscar en todas las maquinas ya
configuradas realizando doble trabajo.
Existen software que generan reportes o realizan búsquedas de dispositivos que
se encuentre conectados a la red pero esto son costosos y otros se paga licencia
por la cantidad de equipos que tenga la empresa para poder obtener un mayor
control del inventarios de direcciones Ip y de equipos.
Es por esta razón que se va a desarrollar un aplicativo web que genere un
inventario y realice búsquedas de las direcciones Ip que estén en uso algo
similar a lo realiza un software pagado, así poder solventar muchos de estos
problemas ya mencionados, como también agilitar requerimiento que a futuro
soliciten la empresa.
2
CAPITULO I
EL PROBLEMA
PLANTEAMIENTO DEL PROBLEMA
Ubicación del Problema en un Contexto
GEA ECUADOR es un grupo empresarial con más de diez años en el mercado
conformado por varias compañías y una de ellas es Mediasist, su misión
principal es brindar una propuesta integral de servicio con alto valores y bajos
costos para nuestros afiliados, y suministrar servicios especializados de
asistencia alineados a los ideales de nuestros clientes.
Mediasist en su función principal brinda servicio de asistencia médica en el
momento que el cliente lo necesita, todo esto realizado por su Call Center y
personal altamente capacitado las veinticuatro horas del día los siete días de la
semana y en cualquier lugar que se encuentre, siempre pensando en el
bienestar de sus clientes.
Con el pasar de los tiempos Mediasist fue aumentando en sus clientes
conformados por los principales banco y compañías de seguro del país,
sometiéndose a crecimiento de su infraestructura tecnológica y física, lo cual
conlleva al aumento de equipos de computación, dispositivos de enrutamiento en
sus distintas localidades, todos estos cambios que sufre la empresa implica
movimientos masivos de los equipos de cómputo y configuración de las mismas
entre ellas las colocación de dirección Ip.
Con tantos equipos de cómputo que tiene la empresa y la necesidad de asignar
direcciones Ip, al no contar con un listado de direcciones Ip utilizadas aparecen
3
inconvenientes como la duplicación y extravíos de direcciones Ip, generando
retrasos en el trabajo del usuario y pérdida de tiempo no solo al personal de
soporte que se encarga de la búsquedas de la dirección Ip en cada equipo sino
también al personal de telecomunicaciones que tiene que buscar en la interfaz
del switch para proceder a cambiar la vlan.
Cuando se requiere buscar una dirección Ip dentro de toda la red es complicado
saber dónde se encuentra y toma tiempo conocer la ubicación, para esto el
personal de soporte realiza la revisión de cada equipo de cómputo para localizar
la dirección Ip. Esto en ocasiones causa molestia al usuario ya que imposibilita
que realice su gestión de manera normal.
Situación Conflicto Nudos Críticos
El conflicto que presenta la empresa en el área tecnológica es saber de manera
exacta la ubicación de los equipos de cómputo o la direcciones Ip que en
ocasiones se necesitan para realizar cambios de permisos que son
requerimientos que solicita la empresa. Para llevar a cabo esto es indispensable
saber de manera rápida en qué lugar físico se encuentra el equipo dentro de la
empresa, otros de los casos es la pérdida o duplicación de dirección Ip que
conlleva a la búsqueda manual en cada equipo de cómputo de la empresa.
Otras empresas cuentan con aplicativos costosos que realizan procedimientos
similares como lo que es búsquedas de equipos que están conectados en la red
o mapeo y escaneo de direcciones Ip. La aplicación propuesta en este proyecto
se desarrollará sin ningún costo e implementara funciones como las de un
aplicativo pagado por medio de una interfaz web. Esto minimizara los tiempos de
búsqueda y agilitará la gestión de los usuarios evitando así pérdida de valiosa
productividad y peor aún sobrecarga de trabajo para el personal de soporte.
Para el área de sistemas de la empresa Mediasist una aplicación como la
propuesta en el presente proyecto tendría un buen aporte en sus labores diarias
podrán conseguir dar soporte de manera rápida, no solo para solventar
problemas con duplicación y pérdidas de direcciones de Ip sino también tener un
4
inventario de las mismas, así obtener una mejor organización cuando necesiten
realizar cambios de este tipo.
Causas y Consecuencias del Problema
Causas
Falta de inventario de direcciones Ip y con los cambios que sufre la empresa en
su reestructuración física ya sea por crecimiento o modificación en sus áreas de
trabajo tener un mejor control de direcciones Ip en uso.
Información errónea de identificación de los conectores de telecomunicaciones
en el área de trabajo del sistema de cableado horizontal hasta la terminación
mecánica de la interconexión horizontal localizada en el cuarto de
telecomunicaciones.
Poca organización en asignación de direcciones Ip en los equipos de cómputo y
demás terminales que se conectan en la red.
Consecuencias
Dificultad en la asignación de direcciones Ip para nuevos hosts la cual al no
saber si se encuentran configuradas en los equipos de cómputos y demás
terminales como lo es en impresoras, teléfonos Ip, router wifi, cámaras Ip,
biométricos, ocasiona la duplicación y pérdidas de direcciones Ip
Retraso en la conectividad del equipo al no saber que vlan se encuentra
configurada en la interfaz del switch lo que ocasiona que el usuario no pueda
gestionar de manera inmediata.
Perdida de direcciones Ip lo que provoca duplicación de direcciones Ip y a la
carencia de un inventario de las mismas toma tiempo en búsqueda de
direcciones Ip,
5
Delimitación del Problema
Cuadro No. 1 Delimitación del Problema
Campo: Empresarial
Área: Tecnología
Aspecto: Desarrollo de Plataforma Web y Monitoreo
Tema:
Desarrollo de una plataforma Web de escaneo y mapeo de
dirección Ip dentro de una red Ipv4 con equipos Cisco para
la empresa Mediasist.
Elaboración: Douglas Antonio Toral Herrera. Fuente: Investigación
Formulación del Problema
La empresa cuenta con gran cantidad de equipos y por la falta de un inventario
de direcciones Ip utilizadas dificulta tanto la asignación como la búsqueda de las
mismas, cuando se requiere agregar nuevos equipos no se sabe cuál dirección
Ip se le configura, es ahí cuando se presenta un problema de duplicación o
pérdida de dirección Ip.
Evaluación del Problema
Los aspectos generales de evaluación son:
Delimitado: Este aplicativo Web va ser intranet y de uso exclusivo para el
personal de Soporte, telecomunicaciones e infraestructura del área del
departamento sistemas de la empresa Mediasist, con él puede realizar
búsquedas de equipos con la dirección Ip e indica en que interfaz del dispositivo
de enrutamiento se encuentra conectado, obtener un listado de las direcciones
Ip activas.
6
Claro: El desarrollo de la aplicación Web tiene grandes beneficios ya que hace
más rápido la asignación y la búsqueda de direcciones Ip pérdidas o duplicadas,
muestra equipos que consuman mayor tráfico de red, usuarios que estén
haciendo mal uso de las herramientas de trabajo, genera reporte de las
direcciones Ip que están en uso, realiza respaldos de los dispositivos de
enrutamiento.
Evidente: Es muy importante contar con un inventario de las direcciones Ip
utilizadas en los equipos de la empresa con ello se puede llevar un control
ordenado para la asignación y no evitar que pase el inconveniente de pérdidas o
duplicación de direcciones Ip.
Concreto: Permite solventar problemas de búsqueda de direcciones Ip, realiza
un inventario actualizado de las direcciones Ip en uso, monitoreo de trafico de
red, monitoreo e ingreso de configuraciones de los equipos intermedios router y
switch por medio de una interfaz web o por líneas de comandos.
Original: El desarrollo del aplicativo surgió por la necesidad de un listado de
direcciones Ip activas para una buena asignación y configuración a equipos
nuevos y para la búsqueda de equipos de cómputo y de direcciones Ip de forma
rápida para así poder efectuar cambios requeridos por la empresa. Lo más
importante es que va a tener una interacción directa con los dispositivos switch y
router.
Factible: Este proyecto es factible ya que es necesario brindar un buen servicio
a los usuarios y cumplir con un buen tiempo de respuesta de la empresa esto
implica dar soporte de manera rápido viendo el sentido de urgencia para la
empresa y para los clientes al cual brinda sus servicios y no sobrecargar de
trabajo al personal de soporte.
7
OBJETIVOS
OBJETIVO GENERAL
Diseñar e implementar una herramienta de mapeo y escaneo de direcciones Ip
mediante una plataforma web para poder realizar búsquedas de equipos por
medio de direcciones Ip y obtener un inventario de direcciones Ip utilizadas
logrando así un mejor control de asignación dentro de la empresa.
OBJETIVOS ESPECÍFICOS
Proponer un sistema de escaneo y mapeo de direcciones Ip para facilitar la
búsqueda de direcciones Ip y duplicadas mediante la identificación de
equipos para una mejor respuesta ante un problema.
Presentar mediante el registro de los dispositivos de Networking (Cisco) un
inventario de las direcciones Ip activas que utilizan los equipos conectados
en la red.
Realizar respaldos de la configuración de los equipos de conmutación de la
empresa en cada cambio que se realice y estar preparado cuando ocurra
algún problema con dichos equipos.
Implementar un aplicativo web con múltiples servicios de diferentes
dispositivos, para realizar varias tareas sin necesidad de muchos software,
así poder cumplir con un mismo objetivo.
ALCANCES DEL PROBLEMA
El desarrollo del aplicativo web de mapeo y escaneo de direcciones Ip que se
lleva a cabo en esta tesis es de uso exclusivo para el departamento del área de
sistemas de la empresa Mediasist. Dicha aplicación web se basa en una
8
plataforma cliente servidor, utiliza herramientas de software libres tanto de
programación como en el sistema operativo en el que se implementa.
El sitio web cuenta con los siguientes servicios: genera un inventario de la
dirección Ip utilizadas en la red de la empresa, realiza respaldos de equipos de
conmutación de fabricante Cisco, incorpora un terminal con las mismas
funcionalidades que tiene un terminal de Linux, el uso del aplicativo mejorara el
tiempo de respuesta para las búsquedas de direcciones Ip y determina la interfaz
y la vlan en donde se encuentra el equipo de usuario final.
Cuenta con módulos de: ingreso de dispositivos de enrutamiento, ingreso de
usuarios, perfil de usuario, reportarías, búsqueda. Con respecto al módulo de
sistema de ingreso de dispositivos la cual permite el ingreso de todos los
dispositivos de enrutamiento que estén dentro de la de red de la empresa,
visualiza el rendimiento de los dispositivos.
Módulo de Perfil Por Usuarios tendrá tres perfiles diferentes que se definirá en el
aplicativos estos son administrador, soporte. El perfil de Administrado permite el
ingreso de todos los dispositivos de enrutamiento, usuarios, asignación de
perfiles, eliminación, consultas, editar cualquier opción necesaria dentro del
aplicativo.
JUSTIFICACIÓN E IMPORTANCIA
En la actualidad la empresa realiza algunos procedimientos para encontrar la
ubicación de una dirección Ip o equipo que la utiliza, que sólo el personal de
telecomunicación o personas que tengan conocimientos en este ámbito como
por ejemplo: con la dirección Ip se realiza un nmap en cualquier equipo que
tenga instalado dicho software para poder obtener la dirección MAC, teniendo la
información de la dirección MAC accediendo al Switch e ingresando una serie de
líneas de comandos para saber en qué interfaz se encuentra conectado, de esta
manera se toma un mayor tiempo para encontrar la ubicación o el equipo.
A través de ésta aplicación permite realizar inventarios de direcciones de Ip que
se encuentran en uso en los equipos de cómputo de la empresa para poder
evitar las perdidas y duplicación de direcciones Ip, cuenta con un plano físico de
9
la empresa para tener mejor visión de la ubicación del equipo de cómputo, con la
ayuda del personal de soporte que es encargado de configurar los nombres de
cada uno de los equipos se podrá identificar y ubicar físicamente dentro de la
empresa.
Se puede cambiar la vlan y deshabilitar la interfaz de cualquier dispositivo de
enrutamiento, sin la necesidad de ingresar comandos que solo un experto en
redes puede realizarlo, con el desarrollo web se logra lo mismo que se hace con
líneas de comandos de manera más rápida y lo puede realizar un personal que
no tenga muchos conocimientos de los comandos de configuración o ejecución
de los dispositivos del fabricante Cisco.
Por todo lo antes mencionado el desarrollo del aplicativo web tiene una función
muy importante para su uso en la empresa Mediasist para el área del
departamento de sistemas, ya que con ella se puede solventar muchos
problemas de manera eficiente y así poder brindar un buen soporte a usuario
cuando la empresa necesite cambios de este tipo.
Los principales beneficiarios serán el personal del área de Sistemas de la
empresa Mediasist lo cuales son los encargados de los equipos de tecnología,
puede aprovechar los beneficios de tener esta aplicación, para brindar soporte a
usuario de manera rápida cuando se presenten problemas ya antes
mencionados, además el desarrollo de la aplicación no tiene ningún costo.
El desarrollo del aplicativo web que se realiza en esta tesis dará un aporte muy
importante para la empresa Mediasist, ya que cuenta con una herramienta en
plataformas web de licenciamiento libre que garantiza la búsqueda de equipos
de cómputo por medio de la interfaz del dispositivo de enrutamiento a partir de la
dirección Ip.
METODOLOGÍA DEL PROYECTO:
Metodología de Desarrollo
Para el desarrollo de este proyecto se utilizará la Metodología Ágil Scrum, misma
que se enfoca en la realización de un desarrollo incremental, en vez de la
10
planificación y ejecución del producto final.
Gráfico 1 Metodología Ágil Scrum
Elaboración: Scrum MethodologyE Fuente: Scrum Methodology
1. Roles, eventos y artefactos
1.1 Roles
Product Owner es el responsable de mantener el contacto con el
cliente, tiene como funciones dividir el trabajo del equipo y
elaborar el Sprint Backlog.
Equipo Scrum son los responsables de ejecutar las tareas de
culminación del producto con los que deciden cuantos elementos
van a desarrollar durante el Sprint.
Scrum Master es el responsable de orientar al equipo de
desarrolladores para que sigas los procesos Scrum, El garantiza
que trabajen sin interrupciones externas.
1.2 Eventos
Sprint es el tiempo que se le asigna al procedimiento de
adaptación del proyecto, durante este tiempo el producto es
diseñado, codificado y probado.
Daily Scrum son reuniones diarias, donde cada miembro
11
contesta a las siguientes preguntas: ¿Qué es lo que estas
planeando hacer hoy?, ¿Has tenido algún inconveniente que te
haya impedido alcanzar tu propósito? ¿Qué has hecho desde
ayer?
Sprint Review y Retrospectiva, en el sprint review se revisa si las
funcionalidades planificadas fueron concluidas y se le da una
calificación al sprint. En cambio en la retrospectiva se analizan lo
bueno, lo malo y lo que se debe mejorar en el siguiente sprint.
1.3 Artefactos
Product Backlog son requerimiento del sistema o del usuario, es
una lista con prioridades definidas en los trabajos que se van a
realizar en el proyecto.
Sprint Backlog es el documento en el cual se lleva registrado los
requisitos detallados o tareas que van a desarrollar el equipo
Scrum en la iteración.
Burn Down Chart es una gráfica donde se va a mostrar todas las
actividades diarias que se están realizando por parte del equipo
de desarrollo.
Supuestos y restricciones
2. Fases del Proyecto
Para este proyecto que se implementará se presume que tendrá cuatro
Sprint, cada con duración de veinte días.
2.1 Sprint 0: Análisis del proyecto
Contará con la una reunión para realizar el levantamiento inicial y
definiciones de los requerimiento del usuario, esto dará como
resultado un Product Backlog. Adicional a esto se detallarán las
tareas y los tiempos para cada parte del requerimiento.
12
2.2 Sprint 1: Módulo de Seguridad
En este módulo se llevara a cabo las funcionalidades de:
Logueo.
o Se elaborarán las funcionalidades de seguridad al
sistema mediante Perfiles.
Ingreso de Usuario.
o Se elaboraran las funciones de ingresos de
usuarios, roles, opciones, adicionalmente se
configurarán las seguridades dependiendo al perfil
asignado al usuario.
Ingreso de Dispositivos de Telecomunicaciones
o Se elaborarán las funciones de ingreso de los
dispositivos de enrutamiento, claves, direcciones Ip,
localidad, número de interfaces de red.
Ingreso de nuevos perfiles
o Se podrá crear nuevos perfiles si es necesario.
Además, se podrán agregar y quietar módulos de
funcionalidad.
2.3 Sprint 2: Módulo de Búsqueda de Equipos
Se elaborarán las funcionalidades de búsqueda de equipos por
medio de la dirección Ip.
2.4 Sprint 3: Módulo de Reportes
Se elaborarán las funcionalidades de realizar un reporte o
inventario de las direcciones Ip que se encuentren activas en la red.
2.5 Sprint 4: Módulo de Configuración/Respaldo
Se facilitará la funcionalidad de realizar respaldo de las
configuraciones de los dispositivos de telecomunicaciones de manera
automática o manual.
13
Plan de Calidad (pruebas a realizar)
Las pruebas se realizan en cada Sprint culminado en el que se detalla los
errores para las correcciones y modificaciones en los módulos.
14
CAPITULO II
MARCO TEÓRICO
ANTECEDENTES DEL ESTUDIO
FUNDAMENTACIÓN TEÓRICA
PHP: HYPERTEXT PREPROCESSOR
PHP es un lenguaje de programación de código abierto que sirve especialmente
para desarrollo web creado por Rasmus Lerdorf en 1994, su primer código
publicado era un conjunto simple de ficheros binarios Common Gateway
Interface (CGI) escrito en lenguaje C, principalmente fue creado para buscar
visitas de su curriculum subido en la red, al conjunto de estos scripts lo llamo
“Personal Home Page Tools” conocido también domo “PHP Tools”.
El código PHP está encerrado entre etiquetas especiales como al inicio <?php y
al final ?> que permite la entrada y salida del “modo PHP”, las páginas de PHP
contienen contiene incrustado códigos HTML como se muestra en el ejemplo de
el gráfico 2.
Gráfico 2 Forma de usar el código PHP en HTML
Elaboración: Douglas Toral Herrera
Fuente http://php.net/manual/es/intro-whatis.php
15
“PHP es un lenguaje de programación interpretado y diseñado para la
creación de páginas web. Más allá del desarrollo web, PHP permite incluso la
creación de aplicaciones de escritorio (con una interface gráfica
independiente del navegador). Es una solución para la construcción de webs
con independencia de la Base De Datos y del servidor válido para cualquier
plataforma. El objetivo final es conseguir la integración de las paginas HTML5
con aplicaciones que corran en el servidor como procesos integrados en el
mismo, y no como un proceso separado”. (Vikram, 2010, p.5)
PHP se caracteriza por ser open source y multiplataforma, puede interactuar con
muchos tipos de bases de datos, una de las características más importante es
que su código se ejecuta en el servidor, generando HTML y lo envía al cliente. El
cliente genera la petición recibe el resultado de ejecutar del script ocultando el
código fuente tal como se muestra en el gráfico 3.
Gráfico 3 Funcionamiento de PHP
Elaboración: Douglas Toral Herrera Fuente: http://redgrafica.com/El-lenguaje-de-programacion-PHP
Según Ángel Cobos (2005) “En definitiva, PHP es uno de los lenguajes más
utilizados actualmente en el desarrollo de aplicaciones web y viene
experimentado un constante crecimiento en su nivel de utilización en internet” (p.
23).
Ventajas:
16
Es un lenguaje multiplataforma.
Capacidad de conectarse con la mayoría de los motores de base de
datos.
Permite modificar dinámicamente el contenido de una página web de
manera fácil y rápida.
Puede interactuar con diferentes lenguajes de programación y
contenedores con archivos.
El código fuente de PHP se ejecuta en el servidor es invisible al
navegador lo cual lo hace segura y confiable
Desventajas:
Es un lenguaje que se interpreta en ejecución lo que resulta un
inconveniente en ocultar el código fuente.
HTML: HYPERTEXT MARKUP LENGUAGE
Comenzó como un formato abierto que apareció a partir de las etiquetas SGML
(Standard Generalized Markup Language), traducido al español como “Estándar
de lenguaje de Marcado Generalizado” y que se entiende como un sistema que
permite ordenar y etiquetar diversos documentos dentro de un listado que utiliza
para especificar los nombres de todas las etiquetas que se utilizan al ordenar. No
existen reglas para dicha organización, por eso se dice que es un sistema de
formato abierto.
HTML fue creado por CERN (Organización Europea para la investigación
Nuclear) en los años de 1945 para realizar un sistema de almacenamiento donde
la información no se pierdan y pudieran ser conectadas a través de
17
hipervínculos. En los años 1980 Tim Berners-Lee trabajador de CERN propuso
un nuevo sistema de “hipertexto” utilizado para compartir documento, en 1991
fue el primero en describir componentes para un diseño más básico y simple del
HTML.
HTML es un lenguaje para desarrollo de páginas web, permite escribir texto de
forma estructurada a esto se le llama como hipertexto, está compuesto por
etiquetas que marcan el inicio y el fin de cada elemento del documento estas
etiquetas son atributos y palabras claves rodeados de los signos mayor y menor
(por ejemplo <html>…..</html>).
En los documentos hipertexto no solo están compuesto de texto sino también de
imágenes, sonidos, videos, etc., lo que da como resultado un documento
multimedia. Todos los documentos HTML deben tener la extensión htm o html
para que puedan ser visualizados por diferentes navegadores.
Gracias a estas etiquetas o marcas que utiliza HTML se pueden crear diferentes
plantillas las que se utilizan en el desarrollo web esto lo hace más amigable al
usuario que lo vaya a utilizar.
“HTML es un lenguaje puramente descriptivo que permite definir las páginas
web pero que en modo alguno se puede considerar un lenguaje de
programación. Con HTML no se pueden generar estructuras iterativas o
condicionales, no se pueden definir funciones que sean utilizadas en distintos
puntos del documento, no se pueden declarar variables, no se pueden
realizar cálculos matemáticos. Las páginas creadas únicamente con HTML
son básicamente estáticas, es decir, siempre muestran la misma información
y no ofrecen ningún grado de interactividad con el usuario. Los únicos
elementos de HTML que podrían de alguna forma considerarse interactivos
son los formularios a través de los cuales se solicita información al usuario”.
(Ángel Cobos, 2005, p 8)
18
MYSQL
MySQL, la base de datos más popular para su uso en sitios web, fue
desarrollado para ser rápido y pequeño, específicamente para sitios web.
MySQL es particularmente popular para el uso con los sitios web que están
escritas en PHP, PHP y MySQL trabajar de manera excelente juntos.
MySQL es un software de código abierto, el origen del servidos MySQL se
encuentra en un sistema de base de datos llamada Unireg desarrollado por
Michael Widenius “Monty” para una empresa sueca llamada TcX durante los
años de 1980. La versión inicial del servidor MySQL se creó en 1995, cuando
Monty añadió una interfaz SQL para Unireg.
Características importantes que se puede encontrar en MySQL:
Escalabilidad.- Puede soportar grandes cantidades de bases de datos, es
utilizado por grandes compañías como Google, Cisco.
Portabilidad.- Se ejecuta en varios sistemas operativos, incluyendo Unix,
Linux, Windows y MacOS, también se puede ejecutar en diferentes
arquitecturas y equipos desde de gama baja a las gamas altas como
servidores.
Conectividad.- Se puede usar en red y es compatible con TCP/IP socket,
Socket Unix, se puede acceder desde cualquier lugar del internet, es
multiusuario varios usuarios pueden conectar al mismo tiempo.
Seguridad.- Tiene un sistema de control al acceso de datos, utiliza una
estructura basada en el usuario-hostand que controla quien puede
manipular la información.
Velocidad.- Procesa gran cantidad de bases de datos de manera rápida y
en poco tiempo.
19
Facilidad de Uso.- MySQL es fácil de instalar y ejecutar, funciona en
cuestiones de minutos. Es relativamente fácil de optimizar, sobre todo en
comparación con otros productos.
Código Fuente Abierto.- Se puede descargar y utilizar sin necesidad de
licencias ni permisos, lo que lo hace Open Source.
HTTP APACHE SERVER
El proyecto Apache se inició en el febrero 1995 simplemente común lugar para
recoger los parches de mejora para el desarrollo HTTPS, todo comenzó como un
desarrollo de código abierto de un servidor web HTTPD por Rob McCool en
NCSA (Centro Nacional para aplicaciones de Supercomputación) de la
Universidad de Illinois en los años de 1994, tras no terminar el proyecto por
haber dejado NCSA, un grupo "Apache Group" que constaba de 8 chicos que
querían añadir funcionalidad a, y solucionar problemas con el existente Código
HTTPD los cuales son Brian Behlendorf, Andrew Wilson, David Robinson, Roy T.
Fielding, Randy Terbush, Rob Hartill, Cliff Skolnick, Robert S. Thau.(Apache
Tomcat 7 Essentials.)
Http Apache en la actualidad es uno de los servidores Web más exitosos y muy
utilizados por la industria de la TI, las razones por lo que es utilizado por muchos
son las siguientes:
Sirve eficientemente para ejecución de contenidos estáticos como
imágenes, JS, CSS, HTML.
La velocidad de los contenidos estáticos es 10 por ciento más en
comparación con Tomcat.
Se puede conectar varias instancias de Tomcat, es una solución estable y
muy rentable.
20
La seguridad que tiene Apache puede permitir la seguridad de usuario
basada en el host.
Una de las mejores características del servidor Http Apache es que
puede contener múltiples sitios Web.
Apache es muy flexible con referencia a los módulos. Podemos compilar
y descompilar cualquier módulo basado en los requerimientos de la
aplicación.
El servidor web Apache soporta redirecciones y reescrituras son normas
diseñadas para servir a la solicitud del usuario basándose en el contenido
de la aplicación.
OPEN SOURCE
Open Source es una marca de certificación propiedad de la Open Source
Initiative fundado por Eric Raymond y Bruce Perens. Es un término con el que se
conoce al software distribuido como código abierto o desarrollo libremente.
Gráfico 4 Logo de la comunidad de Open Source
Elaboración: opensource.org
Fuente: http://opensource.org/
21
En 1980 por primera vez apareció el término utilizado por algunos usuarios de la
comunidad del Software Libre, el que utilizaron para reemplazar el nombre
original de free software traducido al español significa free (libre, gratuito),
software(programa) lo que expresa software que se puede redistribuir de manera
gratuita, modificar su código y ser leído sin ningún problema.
En la actualidad el término código libre es utilizado por programadores que
ofrecen sus códigos fuentes de los programas para su alteración con la
respectiva autorización por parte del autor, pero el software no es total mente
libre.
El tipo de licencia que utiliza en la de GPL (General Public License), la cual tiene
dos versiones que se utiliza en muchas comunidades de código abierto:
o Licencia Publica General GNU, versión 2.0 (GPL-2.0): Se permite la
copia y la distribución de copias.
o Licencia Publica General GNU, versión 3.0 (GPL-3.0): Se permite la
copia y la distribución pero la modificación no está permitido.
Para que sea un software de código abierto debe cumplir con los siguientes
requisitos:
Redistribución gratuita: La licencia no requerirá una regalía u otra
cuota por dicha venta.
Código Fuente: El programa debe incluir el código fuente y permitir su
distribución.
Trabajos Derivados: La distribución de modificaciones del software
debe estar permitida.
Integridad del código fuente del autor: La licencia puede restringir que
se distribuya el código fuente modificado, cualquier modificación que
sufra debe ser incluido como parche.
Sin discriminación contra personas o grupos: Debe ser distribuida
para cualquier persona o grupo.
22
Sin discriminación en función de iniciativa: La licencia no puede
restringir la utilización del programa como uso comercial.
Distribución de la Licencia: La licencia del programa debe ser
redistribuida a todos por igual.
La licencia no debe ser específica para un producto: El programa no
puede licenciarse solo como parte de una distribución mayor.
La licencia no debe restringir otro Software: La licencia no puede
obligar que los demás programas distribuidos en el mismo medio
sean software de código abierto.
La licencia debe ser tecnológicamente neutral: En ningún momento el
programa debe solicitar licencia ni durante ni después de la
instalación de la instalación.
Ángel Cobo (2005) aclara:
“Es importante aclarar que open source hace referencia a la libre
disponibilidad en cuanto a utilizar, modificar y distribuir el software y su código
fuente y no al coste o precio de adquisición. Por tanto, es posible encontrar un
software open source y software libre que no sea gratis, que presente un
precio de adquisición, que de haberlo es generalmente muy reducido”.
SISTEMA OPERATIVO UNIX/LINUX
Todo comenzó en el año 1969 con un pequeño proyecto de investigación por
Dennis Ritchie y Ken Thompson en el AT & T Bell Labs para la DEC PDP - 7,
diseñaron un sistemas operativo llamado UNIX que apareció para sustituir el
sistema operativo Multics que utilizaban.
En el gráfico 5 se muestra la evolución y crecimiento del primer Sistemas
Operativo UNIX:
23
Gráfico 5 Evolución del primer Sistemas Operativo Unix.
Elaboración: Douglas Antonio Toral Herrera Fuente: Timeline of UNIX/Linux and The GNU. [RobotWisdom02]
“Una vez Multics fue retirado como el sistema operativo en el AT & T,
Thompson y Ritchie desarrollaron UNIX en el PDP - 7 con el fin de jugar
un juego popular en ese entonces llamado Space Travel” (Unix / Linux
History04).
La meta para Unix era proporcional un sistemas operativo multitareas y
multiusuario que apoye la portabilidad de la aplicación, lo que significa que se
pueda ejecutar en muchas plataformas y arquitecturas de hardware.
La primera versión útil de UNIX (versión 1) se introdujo a finales de 1971. Esta
versión de UNIX fue escrito en el lenguaje B (precursor del lenguaje C). Fue
sede de un pequeño número de comandos, muchos de los cuales todavía están
disponibles en los sistemas UNIX y Linux hoy en día (como el cat, cp, ls y who).
En 1972, UNIX fue reescrito en el lenguaje C de nueva creación. En los próximos
tres años, UNIX siguió evolucionando, con cuatro nuevas versiones producidas.
En 1979, el shell Bourne fue introducido.
El sistema operativo GNU / Linux está organizado en una serie de capas, en el
centro es el núcleo de Linux, que interviene en el acceso a los recursos de
hardware subyacentes, tales como la memoria, la CPU a través del programador,
y los periféricos. La shell (de los cuales hay muchos tipos diferentes) proporciona
el acceso del usuario al kernel. La shell ofrece la interpretación de comandos y
los medios para cargar las aplicaciones de usuario y ejecutarlos. Por último, las
24
aplicaciones se muestran que componen la mayor parte del sistema operativo
GNU / Linux. Estas aplicaciones proporcionan las funciones útiles para el
sistema operativo, como los sistemas de ventanas, navegadores web,
programas de correo electrónico , intérpretes de lengua y herramientas , por
supuesto , de programación y de desarrollo. En el grafico 6 se muestra las capas
de Linux
Gráfico 6 Estructura del Sistema Operativo Unix
Elaboración: Douglas Antonio Toral Herrera Fuente: Jones, M. Tim. GNU/Linux Application Programming.
JAVASCRIPT
Ángel Cobo (2005) afirma: “JavaScript es un lenguaje intérprete basado en
guiones que son integrados directamente en el código HTML. El código es
transferido al cliente para que lo interprete al cargar la página. Con JavaScript no
pueden crearse programas independientes” (p.18).
JavaScript ocurrió durante el tiempo de la guerra de navegadores
aproximadamente 1996 – 2001. Eran los inicios del internet cuando los dos
principales navegadores Vendors-Netscape y Microsoft, estaban compitiendo por
ganar la acogida del mercado. Estos dos grandes vendedores estaban
constantemente añadiendo más características a sus navegadores y a sus
versiones de JavaScript lo que ocasiono varias versiones al no tener un estándar
acorde al desarrollo.
25
JavaScript es un lenguaje de programación ligero, orientado a objetos también
conocido como lenguaje de scripts para páginas Web, es un multi-paradigma de
lenguaje de scripting basados en prototipos que son de forma dinámica y soporta
la mayoría de estilos de programación orientado a objetos, se ejecuta en el lado
del cliente de la web y se utiliza para diseñar, programar las páginas web sobre
la ocurrencia de un evento y el control del comportamiento.
“El lenguaje JavaScript, trabajando en conjunto con las características del
navegador relacionados, es una tecnología para mejorar el web. Cuando se
emplea en el equipo cliente, el lenguaje puede ayudar a convertir una página
estática de contenido en una experiencia atractiva, interactiva e inteligente.
Las aplicaciones pueden ser tan sutil como la bienvenida a los visitantes de
un sitio con el saludo ' ' cuando es por la mañana en la zona horaria del
equipo cliente " ¡Buenos días!" - A pesar de que es la hora de cenar, donde
se encuentra el servidor. O bien, las aplicaciones pueden ser mucho más
evidentes, como la entrega de contenido de una presentación de diapositivas
en una descarga de una página mientras JavaScript controla la secuencia de
su escondite, mostrando, y '' slide volar ' ' transiciones mientras navegamos a
través de la presentación”.
(Goodman, Danny, Morrison, Michael, and Novitski, Paul, 2010, p.3)
Beneficios
Proporciona una interfaz amigable para que los datos de información en
la base del producto.
El control de la navegación de múltiples marcos, plug-ins o applets de
Java basado en opciones de usuario en el documento HTML.
Pre procesamiento de datos en el cliente antes de su presentación a un
servidor. Cambio de contenido y estilos en los navegadores modernos
dinámicamente y al instante, en respuesta a la interacción del usuario.
Solicitud de archivos desde el servidor, y hacer leer y escribir solicitudes
de secuencias de comandos del lado del servidor.
26
Solicitud de archivos desde el servidor , y hacer leer y escribir solicitudes
de secuencias de comandos del lado del servidor
PROTOCOLO SNMP
SNMP significa Protocolo simple de administración de redes. Es un componente
de la de protocolos de Internet comúnmente conocida como TCP / IP, definido
por Internet Engineering Task Force (IETF). Desarrollado en 1988 para
proporcionar capacidad de red monitorear dispositivos para redes basadas en
TCP / IP, SNMP fue aprobado como un estándar de Internet en el año 1990 por
la Junta de Arquitectura de Internet (IAB) y ha estado en uso generalizado desde
entonces. Más recientemente, Intercambio de Paquetes (IPX) basado en redes
ha añadido soporte para SNMP. Actualmente, la mayoría de los proveedores de
equipos de red proporcionan soporte SNMP en sus productos.
El uso típico SNMP en algunos sistemas o dispositivos para la gestión, y uno o
más sistemas de gestión de ellos. Un componente de software llamado “agente
SNMP” se ejecuta en todos los sistemas o dispositivos administrados y envía la
información al sistema de Monitoreo y Administración de gestión a través de
SNMP. Agentes SNMP exponen los datos de gestión en los sistemas
administrados o dispositivos normalmente como: la memoria, la configuración, el
proceso, la ruta y muchos más. Protocolo también permite que las tareas de
gestión de activos, tales como la aplicación o modificar la configuración.
Las variables que se acceden en diferentes sistemas administrados por SNMP,
se organizan en un orden jerárquico. Estas jerarquías son descritas por las MIB
(Management Information Bases). SNMP no define qué información debe ofrecer
un sistema administrado, sino que utiliza el diseño amplio ofrecido por las MIB.
SNMP es parte de la arquitectura de gestión de la red Internet.
El modelo de gestión de la red se compone de varios elementos definidos en
diferentes RFC:
27
Elementos de la red: Estos son en su mayoría de hardware conectado
a la red, IP habilitado, como un ordenador, router, switch, UPS,
impresora, y así sucesivamente.
Agentes: Los agentes son módulos de software que residen en los
elementos de red que son responsables de recoger y almacenar
información como los errores, el estado, la temperatura y la
configuración.
Gestionado objeto: Gestionado objeto es una característica de un
sistema administrado que se puede administrar.
Management Information Base (MIB): Un MIB es una colección de
objetos administrados almacenados en una base de datos de
información virtual.
Notación de sintaxis: Este es un lenguaje para describir objetos
gestionados de MIB en un formato independiente de la máquina.
Estructura de Gestión de Información (SMI): SMI define las reglas
para la descripción de la información de gestión utilizando ASN.1
(Abstract Syntax Notation).
Estaciones de gestión de red (SMN): se utilizan estos dispositivos
(como una consola de ordenador) para ejecutar aplicaciones de gestión
para controlar o configurar los elementos de red.
Management Protocolo: Este es el protocolo para el intercambio de
información entre un sistema administrado (elementos de red) y un
sistema gestor (SMN). SNMP es el protocolo de gestión estándar de
facto.
El protocolo SNMP utiliza los comandos:
GetRequest: Solicitan al dispositivo información sobre una variable MIB.
Son los mensajes que utilizan las consolas SNMP para monitorear el
estado de los dispositivos.
GetNextRequest: Permite requerir información respecto de la próxima
instancia de una variable MIB.
GetResponse: Mensaje generado por el agente SNMP que opera en un
dispositivo, para responder a la solicitud enviada por la consola.
28
SetRequest: Comando que reinicia o cambia el valor de una variable
MIB. Son los mensajes que utilizan las consolas SNMP para realizar
cambios de configuración.
Trap: Mensaje SNMP generado por el agente que opera en un
dispositivo, sin necesidad de ser solicitado por la consola. Se produce
cuando el agente SNMP detecta un cambio de parámetros.
Son los mensajes que se utilizan para los sistemas de alerta.
PROTOCOLO TELNET
Telnet es uno de los protocolos de aplicación más antiguos utilizados dentro de
la Internet, y su origen está vinculado con la red ARPANET. La historia de Telnet
se remonta a 1969, cuando la palabra " Telnet " nació como un acrónimo de
Protocolo de Red de Telecomunicaciones. RFC 764 Telnet estandarizada en
1980, y RFC 854 reemplazaron en 1983.
Según RFC 764:
“El propósito del Protocolo TELNET es proporcionar una instalación bastante
general, bidireccional de ocho byte de fácil orientada comunicaciones. Su
objetivo principal es permitir un método estándar de interfaz de dispositivos
terminales y procesos terminales orientadas a la otra. Se prevé que el
protocolo también se puede usar para el terminal - terminal de comunicación
("conexión") y la comunicación proceso de proceso (computación distribuida).
Una conexión Telnet es un protocolo de control de transmisión (TCP)
conexión utilizada para transmitir datos con control de TELNET intercaladas
información. TCP y el procedimiento de establecimiento de conexión son
documéntenos en el Manual del Protocolo de ARPA Internet.”
El protocolo TELNET se basa en tres ideas principales:
29
1.- Utiliza el concepto de una “Red Terminal Virtual”: También conocida
como NVT, es un dispositivo imaginario que proporciona un estándar, de toda
la red, la representación intermedia de una terminal canónica. Esto elimina la
necesidad de un servidor y anfitriones para mantener información sobre las
características de los terminales de cada uno y manipulación en el terminal.
2.- El principio de opción de negociación: Telnet permite tener en cuenta
que ciertos terminales ofrecen servicios adicionales, no definidos en las
especificaciones básicas.
La sintaxis de la negociación de opciones se ha establecido de manera que si
ambas partes solicitan una opción a la vez, cada uno de ellos ver a los otros
la solicitud requerida.
3.- Visión Simétrica de terminales y procesos: Son reglas de negociación
que toma en cuenta para las opciones la cual permiten evitar situaciones de
bucles, las solicitudes solo deben enviarse en el momento de un cambio de
modo.
Telnet es un protocolo de transferencia que sirve para conectarse a un host de
manera remota, los datos que transfieren por la red son de forma de texto plano
no cifrados lo que es muy inseguro este protocolo, se le ha asignado el puerto 23
para su conexión.
PROTOCOLO TCP/IP
El término nació como "lenguaje" hablado por los anfitriones en la ARPAnet en
1969 fue llamado NCP. Sin embargo, NCP tenía demasiadas limitaciones y no
era lo suficientemente robusta como para el SUPERNETWORK, que comenzaba
a crecer fuera de control. Las limitaciones de la NCP y el crecimiento de la
ARPAnet condujeron a la investigación y el desarrollo de un nuevo lenguaje de
la red.
En 1974 Vint Cerf y Bob Kahn, dos pioneros de Internet, publicó "Un Protocolo
de paquetes de red de interconexión." Este artículo describe el Protocolo de
30
Control de Transmisión (TCP), que es un protocolo en el conjunto de protocolos
que eventualmente reemplazar NCP.
El protocolo TCP se describe la parte de host a host de una comunicación. TCP
explica cómo dos hosts pueden establecer esta comunicación y cómo pueden
mantenerse en contacto unos con otros, se están transfiriendo datos. PNC no
resolvió estos problemas en la medida en que el TCP era capaz de hacerlo.
TCP es responsable de asegurarse de que los datos lleguen hasta el otro host.
Se realiza un seguimiento de lo que se envía y retransmite nada que no llegó a
través. Si algún mensaje es demasiado grande para un solo paquete, TCP divide
el mensaje en varios paquetes y se asegura de que todos ellos lleguen
correctamente. Después de que hayan llegado, TCP en el otro extremo pone
todos los paquetes de nuevo juntos en el orden correcto.
Para 1978, las pruebas y el desarrollo de este lenguaje condujo a un nuevo
conjunto de protocolos denominado Transmission Control Protocol / Internet
Protocol (TCP / IP). En 1982, se decidió que el TCP / IP reemplazaría NCP como
el lenguaje estándar de la ARPAnet. RFC 801 describe cómo y por qué la
transición de NCP a TCP iba a tener lugar. El 1 de enero de 1983, ARPANET
cambió a TCP / IP, y la red continuó creciendo de manera exponencial.
En 1990, la ARPAnet dejó de existir. El Internet ha crecido desde entonces a
partir de raíces de ARPANET, y TCP / IP se ha desarrollado para satisfacer las
necesidades cambiantes de la Internet.
TCP / IP es un conjunto de protocolos que permiten la comunicación entre
ordenadores. Hubo un momento en que no era importante para que las
computadoras se comunican entre sí. No hubo necesidad de un protocolo
común. Pero cuando los ordenadores se convirtieron en red, surgió la necesidad
de computadoras a un acuerdo sobre ciertos protocolos.
Hoy en día, un administrador de red puede elegir muchos protocolos, pero el
protocolo TCP / IP es el más utilizado. Parte de la razón es que TCP / IP es el
31
protocolo de elección en la red mundial más grande en Internet. Si desea una
computadora para comunicarse a través de Internet, que tendrá que utilizar
TCP/IP.
PROTOCOLO SSH
Secure Shell (SSH) es una utilidad que se puede describir de muchas maneras
diferentes. Esto puede ser descrito como un protocolo, una herramienta de
cifrado, una aplicación cliente/servidor, o una interfaz de comandos. Junto con
sus diversas descripciones, SSH proporciona diversas funciones con un solo
paquete. SSH es variado conjunto de servicios y la capacidad de prestar esos
servicios de manera segura, le han permitido convertirse en un alimento básico
en muchas de las redes empresariales.
SSH utiliza una arquitectura cliente/servidor, donde los clientes de SSH,
disponible en todas las versiones de Windows, los diferentes sabores de Unix, y
diversos sistemas operativos Macintosh, conectarse a servidores SSH, que
pueden ser sistemas operativos como Solaris de Sun o Microsoft Windows o
dispositivos como un router Cisco.
¿Cuáles son los beneficios de usar SSH en cualquier tipo de entorno, y por
qué hay una necesidad de utilidades como SSH?
SSH ofrece muchas de las mejores prácticas en materia de seguridad. Las
mejores prácticas son requisitos previos, a fin de desplegar una cantidad
aceptable de seguridad en una entidad dada. Cuatro de las mejores prácticas
que SSH ofrece son los siguientes:
La Autenticación: la autenticación de dos factores
Cifrado: comunicaciones seguras (cifradas) con 3DES o equivalente
La Integridad: MD5 y hash SHA1
Autorización: filtrado de IP/DNS
32
SSH proporciona autenticación de dos factores, ofreciendo el uso de claves
públicas y privadas, además de un nombre de usuario y contraseña para
autenticar dos servidores SSH.
El propósito primordial de una implementación de SSH
La implementación de SSH en un entorno de confianza o no fiable puede
proteger contra muchas de las cuestiones relacionadas con la seguridad y el
Protocolo de Internet versión 4 (IPv4). El uso de SSH no sólo protege contra los
ataques comunes de LAN descrito anteriormente; protege contra los siguientes
tipos de ataques: Falsificación de direcciones IP.
Un dispositivo remoto, generalmente un sistema operativo, puede cambiar su
dirección IP y pretender ser una fuente diferente, generalmente de una fuente de
confianza.
La modificación de datos: Como los datos se pasan a través de las redes
corporativas e Internet, cualquier intermediario puede modificar los datos
mientras están en tránsito.
La contaminación ARP: Esto ocurre cuando los paquetes ARP incorrecta
para redirigir y capturar los datos confidenciales están distribuidos.
Secuestro de sesiones: Esto ocurre cuando los individuos adivinar o
predecir el ISN en cabeceras TCP, ganando el control de sesiones telnet
y ssh.
Borrar los datos de texto: Esto ocurre cuando críticos o importantes datos
de texto claro, como nombres de usuario, contraseñas y comandos, es
interceptado.
Tipos de clientes/servidores SSH
Servidores SSH
OpenSSH es una versión gratuita del protocolo SSH suite. Servidores y
clientes OpenSSH están disponibles para Unix y Windows.
33
OpenSSH ha sido portado a Windows con la popular utilidad Cygwin. El
proyecto fue creado por la simplicidad de la Red (www
.networksimplicity.com) y ha sido adoptada por el siguiente sitio:
http://lexa.mckenna.edu/sshwindows/.
SSH2 (www.ssh.com): SSH2 es una versión comercial de SSH, con
honorarios de licencia necesarios para uso comercial (uso no comercial
es gratuita). Clientes/servidores SSH comerciales están disponibles tanto
para sistemas Windows y Unix.
VanDyke Software (www.vandyke.com): VanDyke Software hace una
versión comercial de SSH, con honorarios de licencia necesarios para su
uso. Servidores SSH (VShell comercial) y clientes (SecureCRT) están
disponibles para el sistema operativo Windows.
Los clientes de SSH
Commerical SSH
OpenSSH
PuTTY
Secure-CRT
MindTerm— SSH over Java with Web browsers
WinSCP
DIRECCIÓN IP
Una dirección IP tiene 4 bytes, se configura únicamente una interfaz de red. Una
dirección tan singular se denomina una dirección IP unicast. Si un sistema utiliza
varias tarjetas de red (varias interfaces de red) y todos ellos utilizan el protocolo
IP, entonces cada interfaz de red tiene su propia dirección IP. Es similar a la
dirección de una casa; cada casa tiene una sola dirección.
34
La otra alternativa es también posible. Varias direcciones IP pueden ser
asignados a una interfaz de red. La primera dirección se denomina dirección
principal, mientras que los otros se llaman direcciones secundarias o alias. El
uso de direcciones IP secundarias es común con los servidores web; por
ejemplo, los servidores web de varias compañías diferentes, cada uno de los
cuales tiene su propia página web, se pueden ejecutar en un solo ordenador o
servidor.
El uso de direcciones IP secundarias para los servidores web es, sin embargo,
en la práctica considerada como desperdicio; así que los servidores web
virtuales se utilizan en su lugar. En ese caso, muchos servidores web comparten
una dirección IP y la especificación del servidor se lleva a cabo en el nivel de
aplicación en el protocolo HTTP (mediante el encabezado de host).
Blank, Andrew G, 2004 afirma:
Cada host en una red TCP / IP debe tener una dirección única, similar a usted
que necesita una dirección única para su casa. Con esta dirección única, es
posible enviar datos desde un host a otro. Cada paquete contiene información
de direccionamiento en la cabecera, y la dirección IP en la cabecera se utiliza
para enrutar paquetes. Si varias personas en su calle tenían la misma
dirección, la oficina de correos podría tener dificultades para clasificar el
correo. Por una razón similar, las direcciones IP son únicos en cada red.
(Blank, 2004) (p.68)
Como la mayoría de los equipos utilizan una interfaz de red, es común que la
dirección IP de una interfaz de red que se llama la dirección IP del ordenador.
Una dirección IP tiene cuatro bytes. Está escrito en una notación punteada de
bytes adyacentes de la dirección de 4 bytes están separados por un punto. Las
notaciones utilizadas son las siguientes:
Notación binaria, donde todos los bits individuales de cada byte se
expresan como un número binario, por ejemplo,
10101010.01010101.11111111.11111000.
35
Notación decimal, donde los cuatro números binarios de 8 dígitos se
convierten a la notación numérica decimal, es decir, 170.85.255.248.
La notación hexadecimal, donde cada byte de la dirección IP se expresa
como un número hexadecimal, es decir, AA.55.FF.F8.
Una dirección IP se estructuró en una dirección de red y una dirección de equipo
dentro de una red, como se muestra en la siguiente figura:
A (local) de direcciones de red
Una dirección de la computadora en una red (local)
Es los bits iniciales del primer byte de una dirección IP que determinan el número de
bytes de la dirección IP conforman la dirección de red. Hay cinco clases de dirección IP:
Clase A: El valor del bit más alto del primer byte es 0. Los 7 bits restantes del
primer byte representan la dirección de red y el resto (24 bits) se reservan para
la dirección de equipo dentro de la red. Hay 126 redes dentro de la Clase A (0 y
127 son redes con un significado específico). En cada red hay 2^24-2
direcciones informáticas (direcciones que constan en su totalidad por ceros o
unos son direcciones con un significado específico).
Clase B: El valor de los dos bits más altos de la primera byte es 10 exp2. Los 6
bits restantes del primer byte y el segundo byte siguiente representan la
dirección de red. Esto nos permite tener 2^14 redes cada uno consta de 2^16-2
computadoras.
Clase C: El valor de los tres bits más altos de la primera byte es 110 2. Los 5 bits
restantes y los siguientes dos bytes representan la dirección de red. Esto nos
permite tener 2 21 redes compuestas por 128-2 computadoras.
Clase D: El valor de los cuatro bits más altos de la primera byte es 1.110 2. Las
direcciones de clase D no se dividen en una red y un direcciones de ordenador,
debido a que son propios direcciones de multidifusión.
36
Clase E: El resto de las direcciones están reservadas para uso futuro.
Gráfico 7 Clase de direcciones IP
Elaboración: Cisco CCNA 1 Fuente: Cisco - CCNA1
CISCO SYSTEMS
Según Cisco Systems 1984:
“Cisco Systems es una empresa global con sede en San José, principalmente
dedicada a la fabricación, venta, mantenimiento y consultoría de equipos de
telecomunicaciones. Dispositivos de conexión para redes informáticas:
routers, switches y hubs.
La empresa fue fundada en 1984 por el matrimonio de Leonard Bosack y
Sandra Lerner, quienes formaban parte del personal de computación de
la Universidad de Stanford. El nombre de la compañía viene de la palabra
"San Francisco"; al mirar por la ventana había al frente un cartel que decía
"San Francisco" y un árbol se interponía entre la palabra separando San Fran
Cisco, de ahí proviene el nombre de la empresa. Allí comenzó su despliegue
como empresa multinacional.”
Cisco es el líder mundial en TI que ayuda a las empresas a aprovechar las
oportunidades del mañana, demostrando que cosas asombrosas pueden
suceder cuando se conecta. En Cisco los clientes son lo primero y una parte
integral de nuestro ADN está creando duraderas alianzas de los clientes y
37
trabajar con ellos para identificar sus necesidades y ofrecer soluciones que
apoyan su éxito.
El concepto de soluciones siendo impulsado para hacer frente a los retos
específicos de los clientes ha sido con Cisco desde sus inicios. Marido y mujer
Len Bosack y Sandy Lerner, ambos trabajan para la Universidad de Stanford,
querían un correo electrónico unos a otros desde sus respectivas oficinas
ubicadas en diferentes edificios, pero no pudieron debido a deficiencias
tecnológicas. Una tecnología tuvo que ser inventado para hacer frente a los
protocolos de área local dispares; y como resultado de la resolución de su
problema nació el router multiprotocolo.
Bosack adaptó el software para enrutadores multiprotocolo originalmente escrito
por William Yeager, otro empleado de informática en esa universidad. Cisco
Systems creó el primer router comercialmente exitoso.
EQUIPOS DE ENRUTAMIENTO
Cisco Systems:
Los dispositivos intermediarios o de enrutamiento interconectan dispositivos
finales. Estos dispositivos proporcionan conectividad y operan detrás de escena
para asegurar que los datos fluyan a través de la red. Los dispositivos
intermediarios conectan los hosts individuales a la red y pueden conectar varias
redes individuales para formar una internetwork.
Los siguientes son ejemplos de dispositivos de red intermediarios:
Acceso a la red (switches y puntos de acceso inalámbrico)
Internetworking (routers)
Seguridad (firewalls)
La administración de datos, así como fluye en la red, es también una función de
los dispositivos intermediarios. Estos dispositivos utilizan la dirección host de
38
destino, conjuntamente con información sobre las interconexiones de la red para
determinar la ruta que deben tomar los mensajes a través de la red.
Los procesos que se ejecutan en los dispositivos de red intermediarios realizan
las siguientes funciones:
Volver a generar y transmitir las señales de datos.
Conservar información acerca de las rutas que existen a través de la red
y de internetwork.
Notificar a otros dispositivos los errores y las fallas de comunicación.
Dirigir los datos a lo largo de rutas alternativas cuando hay una falla en el
enlace.
Clasificar y dirigir los mensajes según las prioridades de calidad de
servicio (QoS, Quality of Service).
Permitir o denegar el flujo de datos de acuerdo con la configuración de
seguridad.
Los switches se usan para conectar varios dispositivos en la misma red. En una
red diseñada correctamente, los switches LAN son responsables de controlar el
flujo de datos en la capa de acceso y de dirigirlo a los recursos conectados en
red.
Los switches de Cisco son de configuración automática y no necesitan ninguna
configuración adicional para comenzar a funcionar. Sin embargo, los switches
Cisco ejecutan Cisco IOS y se pueden configurar manualmente para satisfacer
mejor las necesidades de la red. Esto incluye el ajuste de los requisitos de
velocidad, de ancho de banda y de seguridad de los puertos.
Además, los switches Cisco se pueden administrar de manera local y remota.
Para administrar un switch de forma remota, este se debe configurar con una
dirección IP y un gateway predeterminado. Estos son solo dos de los parámetros
de configuración que se analizan en este capítulo.
39
Los switches funcionan en lugares de la capa de acceso donde los dispositivos
de red cliente se conectan directamente a la red y donde los departamentos de
TI quieren que los usuarios accedan de forma simple a esta. Es una de las áreas
más vulnerables de la red, ya que está muy expuesta al usuario. Los switches se
deben configurar para que sean resistentes a los ataques de todo tipo y, al
mismo tiempo, protejan los datos de los usuarios y permitan que haya
conexiones de alta velocidad. La seguridad de puertos es una de las
características de seguridad que proporcionan los switches administrados por
Cisco.
En este capítulo, se analizan algunas de las opciones de configuración básica de
switch que se requieren para mantener un entorno LAN conmutado seguro y
disponible.
ARQUITECTURA MVC
MVC (por sus siglas en inglés Model View Controller, y sus siglas en español
Modelo Vista Controlador) es diseño de arquitectura de software que clasifica los
datos de una aplicación, la interfaz gráfica del usuario y la lógica de negocio o
control en tres elementos distintos.
Según la información disponible, indica que esta fue creada en el año 1979 por
el Sr. Trygve Reenskaug.
Pues bien entonces que se comprende de:
Modelo: básicamente comprende de un fragmento del sistema, de los datos
del negocio, y lo que maneja en sí la pertinencia.
Vista: se refiere a todo lo que recepta el usuario al aplicativo web, es decir
aquí es donde se envía la información y el procesamiento de interacción que
hubo.
Controlador: es el mediador entre el modelo y la vista, pues es aquí donde
se procesa la información receptada por ambos y luego se la transforma
para cumplir las necesidades de cada uno.
40
En el gráfico 8 se muestra los componentes de y relación del método vista controladora.
Gráfico 8 relación entre Controlador - Vista - Modelo
Elaborado: Douglas Antonio Toral Herrera
Fuente: http://www.w3schools.com/aspnet/mvc_intro.asp
En el cuadro se detalla que las líneas sólidas es la relación directa que hay entre
estos tres tipos Modelo - Vista - Controlador, en cambio, las líneas segmentadas
es la relación indirecta que hay entre Vista con Modelo y Controlador.
NORMAS ISO
ISO (International Standard Organization) es una organización internacional de
normas y estándares para la gestión de calidad, dedicadas a la elaboración de
normas para todos los sectores con excepción del sector electrónico y el
electrotécnico. El objetivo de la ISO es llegar a un consenso con respecto a las
soluciones que cumplan con las exigencias comerciales y sociales (tanto para
los clientes como para los usuarios). Estas normas se cumplen de forma
voluntaria ya que la ISO, siendo una entidad no gubernamental, no cuenta con la
autoridad para exigir su cumplimiento. (Normas ISO)
41
Que son las normas ISO 9001
Según las normas ISO:
“La ISO 9001 es una norma internacional que se aplica a los sistemas de gestión
de calidad (SGC) y que se centra en todos los elementos de administración de
calidad con los que una empresa debe contar para tener un sistema efectivo que
le permita administrar y mejorar la calidad de sus productos o servicios.
Los clientes se inclinan por los proveedores que cuentan con esta acreditación
porque de este modo se aseguran de que la empresa seleccionada disponga de
un buen sistema de gestión de calidad (SGC).
Esta acreditación demuestra que la organización está reconocida por más de
640.000 empresas en todo el mundo.
Cada seis meses, un agente de certificadores realiza una auditoría de las
empresas registradas con el objeto de asegurarse el cumplimiento de las
condiciones que impone la norma ISO 9001. De este modo, los clientes de las
empresas registradas se libran de las molestias de ocuparse del control de
calidad de sus proveedores y, a su vez, estos proveedores sólo deben
someterse a una auditoría, en vez de a varias de los diferentes clientes. Los
proveedores de todo el mundo deben ceñirse a las mismas normas.”
FUNDAMENTACIÓN LEGAL
Dentro del marco legal, se establecen leyes; que respaldan la viabilidad del tema
propuesto.
DECRETO PRESIDENCIAL No. 1014
RAFAEL CORREA DELGADO
PRESIDENTE CONSTITUCIONAL DE LA REPUBLICA
CONSIDERANDO:
42
Que en el apartado g) del numeral 6 de la Carta Iberoamericana de Gobierno
Electrónico, aprobada por el IX Conferencia Iberoamericana de Ministro de
Administración Pública y Reforma del Estado, realizada en Chile el 1 de Junio de
2007, se recomienda el uso de estándares abiertos y software libre, como
herramientas informáticas;
Que es el interés del Gobierno alcanzar soberanía y autonomía tecnológica, así
como un significativo ahorro de recursos públicos y que el Software Libre es en
muchas instancias un instrumento para alcanzar estos objetivos;
Que el 18 de Julio del 2007, se creó e incorporó a la estructura orgánica de la
Presidencia de la República la Subsecretaría de Informática, dependiente de la
Secretaría General de la Administración, mediante Acuerdo No. 119 publicado
en el Registro Oficial No. 139 de 1 de Agosta del 2007;
Que el un eral 1 del artículo 6 del acuerdo No. 119, faculta a la Subsecretaria de
Información a elaborar y ejecutar planes, programas, proyectos, estrategias,
políticas, proyectos de leyes y reglamentos para el uso de Software Libre en las
dependencias del gobierno central; y,
En ejercicio de la atribución que le confiere el numeral 9 del artículo 171 de la
Constitución Política de la Republica;
DECRETA:
Artículo 1.- Establecer como política pública para las Entidades de la
Administración Publica Central la utilización de Software Libre en sus sistemas y
equipamientos informáticos.
Artículo 2.- Se entiende por Software Libre, a los programas de computación que
se pueden utilizar y distribuir sin restricción alguna, que permitan su acceso a los
códigos fuentes y que sus aplicaciones puedan ser mejoradas.
Estos programas de computación tienen las siguientes libertades:
a) Utilización del programa con cualquier propósito de uso común.
b) Distribución de copias sin restricción alguna.
43
c) Estudio y modificación del programa (Requisito: código fuente disponible).
d) Publicación del programa mejorado (Requisito: código fuente disponible).
Artículo 3.- Las entidades de la Administración Publica Central previa a la
instalación del software libre en sus equipos, deberán verificar la existencia de
capacidad técnica que brinda el soporte necesario para el uso de este tipo de
software.
Articulo 4.- Se faculta la utilización de software propietario (no libre) únicamente
cuando no existe una solución de software libre que supla las necesidades
requeridas, o cuando esté en riesgo la seguridad nacional, o cuando el proyecto
informático se encuentre en un punto de no retomo.
Para efectos de este decreto se comprende como seguridad nacional, las
garantías para la supervivencia de la colectividad y la defensa de patrimonio
nacional.
No. 1014
RAFEL CORREA DELGADOO
PRESIDENTE CONSTITUCIONAL DE LA REPUBLICA
Para efectos de este decreto se entiendo por punto de no retorno, cuando el
sistema o proyecto informático se encuentre en cualquiera de estas condiciones:
a) Sistema en producción funcionando satisfactoriamente y que un análisis
de costo beneficio muestre que no es razonable ni conveniente una
migración a Software Libre.
b) Proyecto en estado de desarrollo y que un análisis de costo – beneficio
muestre que no es conveniente modificar el proyecto y utilizar Software
Libre.
Periódicamente se evaluarán los informáticos que utilizan software propietario
con la finalidad de migrarlo a software Libre.
44
Articulo 5.- Tanto para software propietario, siempre y cuando se satisfagan los
requerimientos, se debe preferir las soluciones en este orden:
a) Nacionales que permiten autonomía y soberanía tecnológica.
b) Regionales con componente nacional.
c) Regionales con proveedores nacional.
d) Internacionales con componente nacional.
e) Internacionales con proveedores nacionales.
f) Internacionales.
Artículo 6.- La Subsecretaría de informática como órgano regulador y ejecutor de
las políticas y proyectos informáticos en las entidades del Gobierno Central
deberá realizar el control y seguimiento de este Decreto.
Para todas las evaluaciones constantes en este decreto la Subsecretaria de
Informática establecerá los parámetros y metodologías obligatorias.
Articulo 7.- Encárguese de la ejecución de este decreto los señores Ministro
Coordinadores y el señor Secretario General de la Administración Publica y
comunicación.
Dado en el Palacio Nacional en la ciudad de San Francisco de Quito, Distrito
Metropolitano, el día de hoy 10 de abril de 2008.
PREGUNTA CIENTÍFICA A CONTESTARSE
1. ¿Qué beneficio tendrá la implementación del aplicativo web de mapeo y
escaneo de direcciones Ip para la empresa Mediasist?
2. ¿Favorece un reporte de inventario de direcciones Ip al personal de
Infraestructura y Telecomunicaciones del departamento de sistemas?
3. ¿Servirá el módulo de búsqueda de direcciones Ip al personal de soporte del
departamento de Sistemas?
45
DEFINICIONES CONCEPTUALES
Dirección Ip: es un conjunto de cuatro números del 0 al 255 separados por
puntos que se le asigna a un dispositivo para poderse conectar a la red.
Open Source: conocido como también como código abierto son software que
puede ser accesible de manera libre sin necesidad que comprar o pedir
autorización del uso, modificación o la distribución de la misma.
Dispositivos de enrutamiento: son equipos que se encargar de interconectar a
todos los terminales conectados en la red y brindar la comunicación entre ellos.
Cisco: Cisco Systems es una empresa mundial dedicada a la fabricación,
mantenimiento, venta y consultoría de equipos de telecomunicaciones.
Protocolo SNMP: Es un protocolo que utilizan los Administradores de red para
poder monitorear el rendimiento de un equipo que se encuentra en la red como
el hardware, parámetros de configuración, capacidad de disco, RAM y
procesador utilizado.
Protocolo SSH: SSH o Secure Shell es un protocolo que facilita la comunicación
de forma remota a un host por medios de comandos, dicho comunicación es
segura ya que todos los datos son encriptados.
Protocolo HTTP: Es un protocolo de transferencia de hipertexto utilizado para la
transacción de páginas web.
Protocolo Telnet: Facilita la comunicación de forma remota a un host por medio
de comandos a diferencia del protocolo ssh, este protocolo no tiene ninguna
seguridad ya que no encripta ninguna información escrita.
Sistema Operativo GNU/Linux: Linux es un sistema operativo como el
Windows pero a diferencia de Windows, Linux es un software libre, todo su
código fuente puede ser utilizado, modificarlo y de libre distribución, tiene licencia
GPL (Licencia Publica General).
46
Plataforma: Es un sistema que como base para hacer funcionar determinados
módulos de hardware o software con los que son compatibles.
Mapeo: Es una técnica para examinar y obtener información de toda la red y con
ello realizar un mapa de todo lo que se ha conseguido con la información.
47
CAPÍTULO III PROPUESTA TECNOLÓGICA
El desarrollo del aplicativo web de mapeo y escaneo de direcciones Ip que se va
a llevar a cabo en esta tesis será uso exclusivo para el departamento del área de
Sistemas de la empresa Mediasist, dicho aplicativo utilizara herramientas de
software libres de programación y será una aplicación web basada en una
plataforma cliente servidor.
El sitio web podrá contar con los siguientes servicios:
Generar un reporte de inventario de la dirección Ip utilizadas en la red de
la empresa.
Permitir realizar configuraciones básicas en equipos de conmutación de
fabricante Cisco.
visualizar el rendimiento de los equipos de enrutamiento tanto switch
como router que se encuentran conectados en la empresa.
Mediante la búsqueda de la dirección Ip da como resultado el equipo que
la contenga, la interfaz de switch, la vlan, además el switch especifico en
el que se encuentra conectado el host.
Realiza respaldos de los equipos de enrutamiento de marca Cisco que se
encuentran en la empresa.
48
Permite verificar el tráfico de la red por medio de la interfaz de los
equipos de enrutamiento.
Cuenta con un terminal donde podrá configurar los dispositivos de
enrutamiento por medio de líneas de comandos.
Permite el ingreso de todos los equipos de enrutamiento que estén dentro
de la de red de la empresa Mediasist.
Visualizar el rendimiento de los dispositivos.
Perfil Por Usuarios
Se han creado módulos de perfil de usuario para mayor control y seguridad de la
aplicación los cuales son conformados por: administrador, soporte.
1. Administrador.- Permite la administración de todo el aplicativo, ingreso de
todos los dispositivos, usuarios, asignación de perfiles, eliminación,
consultas, editar y agregar cualquier opción necesaria.
2. Soporte.- Tiene disponible la búsqueda de equipos por medio de la dirección
Ip, visualiza inventario de direcciones Ip en uso, el nombre del equipo, el
plano físico de la empresa para ubicar de manera rápida el equipo de
cómputo.
ANÁLISIS DE FACTIBILIDAD
En base al análisis realizado en el proceso de búsqueda de direcciones IP que
lleva la empresa Mediasist, se pudo determinar que los procesos actuales que
utilizan para la búsqueda de direcciones IP no son útiles y poco efectivas.
Adicional a lo anteriormente mencionado, se encontraron mejoras para que el
proceso de búsqueda sea más rápido y eficaz lo cual el tiempo de respuesta
para dichos problemas se reducirá considerablemente.
49
Factibilidad Operacional
Para encontrar un equipo de cómputo o una dirección Ip se solicitaba al
administrador de sistemas que revise su archivo donde tiene registrado todas las
direcciones Ip y en qué equipo de cómputo se encuentra configurado La
desventaja de esto es que sólo una persona cuenta con esta información.
Cuando el administrador de sistemas no se encuentra disponible se realiza una
búsqueda en todos los equipos de cómputo de manera manual por parte del
personal de soporte del departamento de sistemas tomando un mayor tiempo de
solución para el inconveniente que presenta la empresa.
Por estas falencias anteriormente mencionadas, el administrador de sistemas
brinda el apoyo necesario para el desarrollo de la plataforma web y la facilidad
de realizar pruebas con el personal de soporte en sitio quienes también se
encuentran interesados en la aplicación ya que la forma actual en que se
realizan estos tipos de búsquedas es tediosa y demorada.
El desarrollo de la plataforma web ha tenido una buena acogida por parte del
área de Sistemas y del personal de soporte de la empresa Mediasist debido a
que ya no dependen de una sola persona para realizar este tipo de búsquedas,
además lo gestionan de manera más rápida y efectiva.
Factibilidad Técnica
Gracias al interés que presenta el Administrador de Sistemas por la
implementación de la plataforma Web de mapeo y escaneo de direcciones Ip
para el proyecto se cuenta con un servidor de características mínimas ya que va
a realizar procedimiento que demandan poco recursos. En él se instaló el
aplicativo en software libre.
El sistema operativo utilizado es Centos 7, esta distribución de Linux es open
source y dedicada para estos tipos de aplicaciones, en él se instaló los servicios
50
de la base como el MySQL server y los de la plataforma Web que son Apache
2.2, PHP 5.0.
El desarrollo para esta aplicación se llevó a cabo en AptanaStudio3 que es un
software libre multiplataforma para elaborar aplicaciones web dinámicas que
empleen PHP, Ruby y Python, en nuestra aplicación se implementó el lenguaje
de programación PHP.
Para las creaciones de las bases se aprovechó los beneficios WorkBench 6.3.
Dicho software es un herramienta visual de diseño de base de datos, se puede
administrar las bases de datos, monitorear, modificar y realizar mantenimiento de
las bases, conexiones remotas bases de datos MySQL.
Factibilidad Legal
La implementación del proyecto que se realizó en la empresa Mediasist utiliza
software libre para evitar la compra de licencias y no incurrir en quebrantar las
leyes de propiedad intelectual de software.
El uso de la aplicación es administrada por los jefes conformados por
Telecomunicación, Infraestructura, Soporte, para que otros usuarios no tengan
accesos a las bases de datos.
Según El Decreto Presidencial:
“Artículo 1.- Establecer como política pública para las Entidades de la
Administración Publica Central la utilización de Software Libre en sus
sistemas y equipamientos informáticos.
Artículo 2.- Se entiende por Software Libre, a los programas de
computación que se pueden utilizar y distribuir sin restricción alguna, que
permitan su acceso a los códigos fuentes y que sus aplicaciones puedan
ser mejoradas.
51
Estos programas de computación tienen las siguientes libertades:
a) Utilización del programa con cualquier propósito de uso común.
b) Distribución de copias sin restricción alguna.
c) Estudio y modificación del programa (Requisito: código fuente
disponible).
d) Publicación del programa mejorado (Requisito: código fuente
disponible).
Artículo 3.- Las entidades de la Administración Publica Central previa a la
instalación del software libre en sus equipos, deberán verificar la existencia
de capacidad técnica que brinda el soporte necesario para el uso de este
tipo de software.
Articulo 4.- Se faculta la utilización de software propietario (no libre)
únicamente cuando no existe una solución de software libre que supla las
necesidades requeridas, o cuando esté en riesgo la seguridad nacional, o
cuando el proyecto informático se encuentre en un punto de no retomo.”
Factibilidad Económica
En lo que respecta a la Factibilidad económica el coste del desarrollo de la
herramienta sería inexistente debido a que es programado por estudiantes
egresado de la carrera CISC & CINT como proyecto de titulación.
Cuadro No. 2 Software/Hardware a Utilizar
RUBROS C/Unitario Cantidad TOTAL
Centos 7 - 1 0
MySQL Server - 1 0
Apache Server - 1 0
Mano de Obra - 1 0
52
Elaboración: Douglas Antonio Toral Herrera Fuente: Investigación
Referente a la adquisición del servidor, la empresa cuenta con uno de
virtualización lo que es redundante la compra del nuevo, los software
implementados son Open Source y es innecesario la compra de licenciamientos
para su uso.
ETAPAS DE LA METODOLOGÍA DEL PROYECTO
Para la elaboración de este proyecto de titulación se utilizó la Metodología Ágil
Scrum la cual se basa en recopilar información del usuario que vienen a formar
parte de los Backlog, a partir de esos requerimiento se forman los Sprint que son
los tiempos que se le asigna a cada módulo de funcionalidad de la aplicación.
Se utilizó una herramienta en plataforma Web en línea que sirve para la
elaboración del proceso de la Metodología Scrum la cual es
“https://app.scrumtool.me”, en el gráfico 9 se muestra la interfaz web de la
herramienta.
HP Proliant ML310e Gen8v2 / (1)
Intel® Xeon® Quad core E3-1240v3
(3.4GHz/4-core/8MB/69W, HT)
Processor / 8GB (1 x 8GB) PC3-
10600E-9 DDR3 UDIMM / HP Ethernet
1Gb 2-port 330i Adapter /Smart Array
B120i Controller soporta
RAID(0/1/1+0) SATA / 4 LFF SATA
HDD / HP 2TB 6G SATA 7.2k 3.5in
NHP MDL HDD / HP DVD-RW
$ 1030 1 $ 1030
TOTAL DE COSTO DEL PROYECTO $ 1030
53
Gráfico 9 Interfaz de la herramienta scrumtool
Elaboración: Douglas Antonio Toral Herrera
Fuente: Herramienta scrumtool
Gracias a las funcionalidades de esta herramienta se pudo llevar a cabo el
proceso de cada Sprints con las diferentes tareas asignadas en un periodo de
tiempo, cuenta con un Burndown que sirve para visualizar el avance del sprint
representado en gráficos estadísticos.
SPRINT 0 - ANÁLISIS Y RECOPILACIÓN DE INFORMACIÓN PARA PROYECTO
En el gráfico 10 se muestra el Backlog o requerimiento de los usuarios, en cada
uno de ellos se detalla las tareas que se van a realizar y quien es el responsable
de ejecutarlas en un periodo de tiempo que se define de acuerdo al grado de
dificultad.
54
Gráfico 10 Sprint 0 – Análisis y recopilación de información
Elaboración: Douglas Antonio Toral Herrera
Fuente: https://app.scrumtool.me
En el Sprints inicial se hace un listado de todo los que se debe realizar:
Se realizara las reuniones con el usuario para el levantamiento de la
información para los requerimientos de la aplicación, cada uno de los
requerimiento que se recopila del usuario forman parte de los new story
todos estos requerimiento son facilitados por el Jefe de
Telecomunicaciones.
o Función para realizar la búsqueda de direcciones IP.
o Función de la reporte de inventario de direcciones Ip.
o Que pueda realizar respaldos de configuración de los dispositivos
de telecomunicaciones.
Investigaciones de la metodología Scrum para el proyecto de desarrollo.
o Leer sobre los procesos de la metodología.
Definir que lenguaje de programación se utilizara para el desarrollo de la
aplicación Web.
55
o Para la implementación se utilizara el lenguaje de programación
PHP con HTML y jscripts.
Investigación para la funcionalidad de los módulos de reporte y
búsqueda.
o Se encontró una librería para gestionar la conexión a los
dispositivos de telecomunicación desde PHP.
o Enlistar los comandos de los equipos de telecomunicaciones para
realizar las funcionalidades que solicita el usuario.
Cada uno de estos story o listados de requerimiento se le determina un tiempo
de progreso para realizar, una vez aceptado se da por culminado el
requerimiento, y se continúa con el siguiente Sprints.
Para cada Sprint culminado se obtiene un Burndown del cumplimiento por
tiempo y valoración tal como se muestra en el gráfico 11
Gráfico 11 burndown del Sprint 0
Elaboración: Douglas Antonio Toral Herrera
Fuente: https://app.scrumtool.me/projects/564169f89cbf59000300000f/sprints
56
SPRINT 1 - MODULO DE SEGURIDAD
En este Sprint se realizarán las funcionalidades de ingreso de formularios como
módulo de logueo, tipos de perfiles, ingreso de usuario, ingreso de dispositivos
de telecomunicaciones.
Gráfico 12 Sprint 1 – Modulo De Seguridad
Elaboración: Douglas Antonio Toral Herrera Fuente: https://app.scrumtool.me
Módulo de Logueo
o Se define el modelado y creación de la base de datos para
autenticación de usuario.
o Se procede con la creación de formulario en HTML
o Validación de ingresos de datos mediante el formulario.
o Se define los accesos y seguridad al aplicativo web por medio del
perfil.
Se realizan las pruebas de ingreso de Logueo y se corrigen los errores
encontrados.
57
Definición de Perfiles.
o Se definen los perfiles de Administrador, Monitoreo y Soporte.
o Se define los accesos para cada perfil.
Creación de módulo de Creación, modificación y eliminación.
o Modelado y creación de la base de datos para el ingreso de
usuario.
o Creación del formulario de gestión de Usuarios.
o Prueba y validación de ingreso de datos en la base de datos.
Módulo de Creación, Modificación y Eliminación de los equipos Switch
Cisco
o Modelado y creación de la base de datos, definición de campos
que será requeridos para la información de los dispositivos de
telecomunicaciones.
o Creación de formulario para el ingreso de los dispositivos de
telecomunicaciones.
o Validación de ingreso de datos a la base por medio del formulario.
Sprint culminado con éxito se detalla el burndown de la gráfica de progreso
Gráfico 13 Sprint 1 Modulo de Seguridad
Elaboración: Douglas Antonio Toral Herrera
Fuente: https://app.scrumtool.me
58
SPRINT 2 - MÓDULO DE BÚSQUEDA DE EQUIPOS
En este sprint de da comienzo al módulo de búsqueda de direcciones IP.
Gráfico 14 Sprint 2 – Modulo de Búsqueda de Equipos
Elaboración: Douglas Antonio Toral Herrera
Fuente: https://app.scrumtool.me
Creación del formulario para la búsqueda de direcciones IP.
o Diseño del formulario en HTML.
o Realizar la programación de la funcionalidad de búsqueda de
direcciones IP.
Investigaciones de comandos para realizar la búsqueda de direcciones IP
o Identificar comandos para equipos Cisco.
o Integración de comandos en PHP par-a realizar el proceso de
búsqueda.
Pruebas y Correcciones del módulo de búsqueda de Equipos Cisco.
o Se produjo un error en la búsqueda de direcciones la cual no
presentaba nada de información.
o Se realizó la corrección del proceso de la búsqueda de
direcciones IP.
o Se produjo un error en la presentación de la gráfica del switch.
o Se realizó las correcciones de la presentación de la gráfica del
switch.
59
Gráfico 15 Burndown del Sprint 2
Elaboración: Douglas Antonio Toral Herrera Fuente: https://app.scrumtool.me/projects
SPRINT 3 - MÓDULO DE REPORTERÍA
En el sprint 3 de realiza el módulo de Reportería su funcionalidad es presentar un inventario de las direcciones IP de se encuentre en uso y activa en la red.
Gráfico 16 Sprint 3 – Modulo de Reportería
Elaboración: Douglas Antonio Toral Herrera Fuente: https://app.scrumtool.me/projects
Requerimiento del reporte de inventario de direcciones IP
o Levantamiento de información con el usuario para definir los
campos que necesite en el reporte.
60
o Realizar la programación de la función para la obtención de la
información.
Requerimiento del reporte de inventario de equipos de telecomunicación.
o Reunión con el usuario para definir los campos que se
presentaran en el reporte de inventario.
o Programa la exportación del reporte en formato excel.
Pruebas y correcciones de errores del módulo de Reportería
o En las pruebas realizadas se encontraron errores de presentación
en la información.
o Error al exportar en formato Excel.
o Corrección en el código de ejecución para extraer la data de las
bases de datos.
o Corrección de arreglo visual indicada por el Usuario en el
formulario del inventario.
o Correcciones de los errores presentados en el módulo actual.
En el gráfico 17 se presenta el burndown del Sprint 3 de manera culminada con
el progreso de las actividades.
Gráfico 17 Burndown Sprint 3
Elaboración: Douglas Antonio Toral Herrera Fuente: https://app.scrumtool.me/projects
61
SPRINT 4 - MÓDULO DE CONFIGURACIÓN Y RESPALDO DE LOS DISPOSITIVOS DE TELECOMUNICACIONES.
En este sprint se procederá con la creación y programaciones del módulo de configuración y respaldo de los dispositivos de telecomunicaciones.
Gráfico 18 Sprint 4 – Modulo de configuración Respaldo de los dispositivos de Telecomunicaciones.
Elaboración: Douglas Antonio Toral Herrera Fuente: https://app.scrumtool.me/projects
Programación del formulario para la configuración de los dispositivos
de telecomunicaciones.
o Realizar formulario de Configuración de respaldos
automáticos.
o Integrar comandos cisco en la programación PHP.
Programación de la función para la ejecución de configuraciones
básicas de los equipos Ciscos.
o Crear función para ejecución de comandos en equipos Cisco
mediante el aplicativo Web.
Pruebas y correcciones de errores de las funcionalidades del módulo
actual.
o Se realizó pruebas para la ejecución de comandos.
o Error en la Ejecución de comandos.
o Se corrigen los errores de la función del respaldo automático.
62
o Se realizó pruebas de respaldo de los equipos Cisco
quedando completado el módulo.
En el gráfico 19 se muestra el progreso del Sprint 4 culminado.
Gráfico 19 Burndown del Sprint 4 culminado
Elaboración: Douglas Antonio Toral Herrera Fuente: https://app.scrumtool.me/projects
ENTREGABLES DEL PROYECTO
Con base a la metodología aplicada detalla los entregables de este proyecto
que se adjuntaran como anexos.
Cronograma del proyecto.
Código Fuente del Proyecto.
Modelo Entidad Relación.
Manual Técnico.
Manual de Usuario.
Diccionarios de datos.
63
CRITERIOS DE VALIDACIÓN DE LA PROPUESTA
Para proporcionar la solución a la problemática existente en la empresa se
realizó la revisión de los procesos operativos actualmente, ya que eso estaba
basado en toda la investigación del campo. Con base a ello se establece los
diferentes módulos a desarrollar, cada vez que se culminaba un módulo se
realizaba una prueba de funcionalidad con ello se optimiza la corrección de
errores por parte y no al final de todo el desarrollo evitando acumular la carga
operativo del desarrollo y liberando cada módulo terminado en su totalidad.
Para los criterios de validación de la propuesta se llevara a cabo con:
Informes de pruebas
Encuestas de Satisfacción
INFORME DE PRUEBAS
De acuerdo al informe de pruebas funcionales realizada con el usuario, se
detalla el estado de los puntos indicados a corregir.
64
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERAS DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INGENIERÍA EN
NETWORKING
INFORME DE AJUSTES DE PRUEBAS
MÓDULO: “Seguridad”
DATOS DE DESARROLLO
PARTICIPANTES: Douglas Antonio Toral Herrera
CARGO: Jefe de Soporte
1. PRUEBAS DE CALIDAD
N° OPCIÓN CASO RESULTADO ESTADO
1 Inicio de
sesión
Prueba de ingreso de usuarios: problemas
con la autenticación de perfiles.
ERROR
VALIDAR CORREGIDO
2 Asignación de
Perfil Corrección de Autenticación de perfiles ERROR PERFIL CORREGIDO
3
Ingreso de
datos de
usuarios
No guarda toda la información ingresada por
el formulario
ERROR
GUARDAR CORREGIDO
4
Ingresos de
datos de los
dispositivos de
telecomunicaci
ones
Error al guardar los datos de ingreso a la
base de datos
ERROR
GUARDAR CORREGDO
65
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERAS DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INGENIERÍA EN
NETWORKING
INFORME DE AJUSTES DE PRUEBAS
MÓDULO: “Reportería”
DATOS DE DESARROLLO
PARTICIPANTES: Douglas Antonio Toral Herrera
CARGO: Jefe de Soporte / Soporte
1. PRUEBAS DE CALIDAD
N° OPCIÓN CASO RESULTADO ESTADO
1 Reporte de
inventarios
Error en la ejecución del código para el
inventario de direcciones IP
ERROR
EJECUCION CORREGIDO
2 Reporte de
Inventarios
Pruebas para obtener el inventario de las
direcciones IP
ERROR
EJECUCION CORREGIDO
3 Exportar
Inventarios
Error al exportar el Inventario en formato
Excel
ERROR
EJECUCIÓN CORREGIDO
66
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERAS DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INGENIERÍA EN
NETWORKING
INFORME DE AJUSTES DE PRUEBAS
MÓDULO: “Configuración/Respaldo”
DATOS DE DESARROLLO
PARTICIPANTES: Paul Espín Huayamabe
CARGO: Jefe de Telecomunicaciones
1. PRUEBAS DE CALIDAD
N° OPCIÓN CASO RESULTADO ESTADO
1 Respaldo de
configuración Error en la Ejecución de comandos.
ERROR
EJECUCION CORREGIDO
67
ENCUESTA DE SATISFACCIÓN
Universidad De Guayaquil
Facultad De Ciencias Matemáticas y Físicas
Carreras de Ingeniería en Sistemas Computacionales e Ingeniería en
Networking
ENCUESTA PARA PROYECTO DE TESIS
CARGO: ________________________________________________________
GÉNERO: Masculino ____ Femenino____
Responda las siguientes preguntas con una “X”.
1. ¿Cree usted necesario un aplicativo web que ayude con el escaneo y
diseño de mapa de direcciones Ip?
SI ( ) NO ( )
2. ¿Le ayudaría a usted poder contar con un inventario de las direcciones Ip
que estén en uso?
SI ( ) NO ( )
3. ¿Considera necesario que la aplicación web realice respaldos de
configuración de los equipos de enrutamiento periódicamente?
Muy Necesario ( ) Necesario ( ) Poco Necesario ( )
4. ¿Cree usted que esta aplicación web le servirá como una herramienta de
trabajo que facilite sus labores diarias?
SI ( ) NO ( )
68
5. ¿Cree usted que sea de utilidad un aplicativo que centralice todo la
configuración y administración de los dispositivos de enrutamiento?
SI ( ) NO ( )
6. En la labor diaria de un administrador de red ¿cree que es necesaria la
implementación de esta aplicación?
SI ( ) NO ( )
7. ¿Considera usted necesario que el aplicativo web tenga una interfaz de
usuario amigable y de fácil manejo?
Muy Necesario ( ) Necesaria ( ) Poco Necesario ( )
8. A su criterio, ¿cómo considera usted el uso de esta aplicación?
Muy Necesario ( ) Necesaria ( ) Poco Necesario ( )
9. ¿Qué funcionalidad adicional creería usted se debe agregar en el
aplicativo web de mapeo y escaneo?
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
_________________________________________
10. ¿Recomienda usted la implementación del aplicativo web en otras
empresas?
SI ( ) NO ( )
69
POBLACION Y MUESTA
Para la realización de este proyecto se ha tomado como población al personal de
soporte del área de sistemas, el Administrador de Telecomunicaciones y al Jefe de
Sistemas de la Empresa Mediasist. Como definición de población se puede destacar lo
publicado por Pedro Martel y Francisco Díez en su libro Probabilidad y estadística
matemática publicado en 1997 en el que manifiesta que “Es el conjunto de elementos
que tienen características comunes, a cada uno de los elementos que comprenden al
grupo se les conoce como individuos”. (pág. 95).
Cuadro No. 3 Calculo de Población
POBLACION TAMAÑO DE LA POBLACIÓN PORCENTAJE
Personal de Soporte 10 83.3333%
Administrador de
Telecomunicaciones 1 8.3333%
Jefe de Sistemas 1 8.3333%
Total 12 100%
Elaboración: Douglas Toral Fuente: Investigaciones del Tema
MUESTRA
“Debido a la incapacidad de la mayoría de los estudios para evaluar todos los
individuos de una población, se ve necesaria la utilización de subconjuntos, los
cuales a su vez reciben el nombre de muestras”. (Pedro Martel, 1997, pág. 95)
“La muestra es una parte de la población que se estudia, seleccionada de
manera que en ella queden representadas las características que distinguen a la
población de la que fue tomada, existen tres tipos principales de muestras:
probabilísticas o aleatorias, no probabilísticas y mixtas”. (Bayardo, 1987, pág. 9)
Para este proyecto se no se detallan fórmulas para obtener la muestra que se
considera la misma que la población
70
PROCESAMIENTO Y ANALISIS
Para el procesamiento y análisis de la información obtenida en las encuestas de
satisfacción, se realizó la tabulación de los datos en una hoja de cálculo Excel,
obteniendo el porcentaje, gráfico y explicaciones para cada pregunta.
1. ¿Cree usted necesario un aplicativo web que ayude con el escaneo y
diseño de mapa de direcciones Ip?
Cuadro No. 4 Necesidad Del Aplicativo Web
Elaboración: Douglas Toral
Fuente: Investigación del tema
OPC. FREC. PORCTJ
SI 11 91,67%
NO 1 8,33%
TOTAL 12 100%
Gráfico 20 Necesidad Del Aplicativo Web
Elaboración: Douglas Toral
Fuente: Investigación del tema
Con respecto a la necesidad del aplicativo se demuestra que el 91.67% de los
usuario está de acuerdo que es necesario el desarrollo del aplicativo Web para
mejorar el proceso de búsqueda de direcciones IP y contar con un inventario,
mientas que el 1% no cree necesario un aplicativo web que brinde estas
funcionalidades.
2.- ¿Le ayudaría a usted poder contar con un inventario de las direcciones
Ip que estén en uso?
71
Cuadro No. 5 Inventario de Direcciones IP
OPC. FREC. PORCTJ
SI 12 100,00%
NO 0 0,00%
TOTAL 12 100%
Elaboración: Douglas Toral
Fuente: Investigación del tema
Gráfico 21 inventario de Direcciones IP
Elaboración: Douglas Toral Fuente: Investigación del tema
De acuerdo a la encuesta se demuestra que el 100% de los usuarios les
ayudaría contar con un inventario de las direcciones IP que este en uso, ya que
con este reporte se tendría más control con en las asignación de direcciones IP y
se reduciría el problema de direcciones IP duplicadas.
3.- ¿Considera necesario que la aplicación web realice respaldos de
configuración de los equipos de enrutamiento periódicamente?
Cuadro No. 6 Respaldo de configuración de dispositivos
de telecomunicaciones.
OPC. FREC. PORCTJ
Muy Necesario
2 16,667%
Necesario 10 83,333%
Poco Necesario
0 0,000%
TOTAL 12 100%
Elaboración: Douglas Toral Fuente: Investigación del tema
Gráfico 22 Respaldo de configuración de dispositivo de Telecomunicaciones
Elaboración: Douglas Toral Fuente: Investigación del tema
72
Respecto a la pregunta de respaldo de configuración de dispositivos de
telecomunicaciones, el 16.66% considera muy necesario que se realicen estos
respaldo, mientras que el 83.33% lo valora como necesario, se debe tener en
cuenta que el 16.66% se toma de las 2 encuestas del Administrador de
Telecomunicaciones y el Jefe de Sistemas.
4.- ¿Cree usted que esta aplicación web le servirá como una herramienta de
trabajo que facilite sus labores diarias?
Cuadro No. 7 Facilita sus labores diarias
OPC. FREC. PORCTJ
SI 10 83,33%
NO 2 16,67%
TOTAL 12 100%
Elaboración: Douglas Toral Fuente: Investigación de campo
Gráfico 23 Facilita sus labores diarias
Elaboración: Douglas Toral
Fuente: Investigación de campo
Con respecto al gráfico 23 se muestra que 83.33% si le serviria una herramienta
como esta para sus labores diarias, mientras que el 16.6% no les serviria para
sus labores diarias.
5.- ¿Cree usted que sea de utilidad un aplicativo que centralice todo la
configuración y administración de los dispositivos de enrutamiento?
73
Cuadro No. 8 Centralizar y administrar dispositivos de
telecomunicaciones
OPC. FREC. PORCTJ
SI 11 91,67%
NO 1 8,33%
TOTAL 12 100%
Elaboración: Douglas Toral Fuente: Investigación de campo
Gráfico 24 Centralizar y administrar dispositivos de telecomunicaciones
Elaboración: Douglas Toral Fuente: Investigación de campo
El grupo de encuestados un 91.67% manifestó que si es de utilidad la
centralización y configuración de los dispositivos de telecomunicaciones, por otro
la un mínimo del 8.33% no le parece útil centralizar todos los dispositivos en un
solo aplicativo para su administración.
6.- ¿En la labor diaria de un administrador de red cree que es necesaria la
implementación de esta aplicación?
Cuadro No. 9 Necesaria la implementación de aplicativo para
un Administrador de Red
OPC. FREC. PORCTJ
SI 11 91,67%
NO 1 8,33%
TOTAL 12 100%
Elaboración: Douglas Toral Fuente: Investigación del tema
Gráfico 25 Necesaria la implementación de aplicativo para un Administrador de Red
Elaboración: Douglas Toral Fuente: Investigación del tema
74
Con respecto al gráfico 25 se muestra que el 91.67% si le serviria una
herramienta como esta para un administrado de red ya que en la actualidad es
muy necesario tener un control de este tipo, mientras que el 8.33% no les
serviria a un administrador de red.
7.- ¿Considera usted necesario que el aplicativo web tenga una interfaz de
usuario amigable y de fácil manejo?
Cuadro No. 10 Interfaz web amigable
OPC. FREC. PORCTJ
Muy Necesario
8 66,667%
Necesario 4 33,333%
Poco Necesario
0 0,000%
TOTAL 12 100%
Elaboración: Douglas Toral Fuente: Investigación del tema
Gráfico 26 Interfaz web amigable
Elaboración: Douglas Toral
Fuente: Investigación del tema
De acuerdo a la respuesta de los encuestados el 66.667% indica que es muy
necesario que el aplicativo web se amigable y de fácil manejo, mientras que
33.33% indican que es necesario que la interfaz web sea amigable. Un aplicativo
web siempre debe tener una interfaz web amigable y de fácil manejo ya que de
eso depende la acogida y el uso diario. En muchas ocasiones un software queda
olvidado más no por las funcionalidades sino por la interfaz y el manejo, por eso
la importancia de crear un aplicativo web con una buena interfaz y que el manejo
sea de manera didáctica.
75
8.- A su criterio, ¿cómo considera usted el uso de esta aplicación?
Cuadro No. 11 Uso de la Aplicación
OPC. FREC. PORCTJ
Muy Necesario
9 75,000%
Necesario 2 16,667%
Poco Necesario
1 8,333%
TOTAL 12 100%
Elaboración: Douglas Toral Fuente: Investigación del tema
Gráfico 27 Uso de la Aplicación
Elaboración: Douglas Toral
Fuente: Investigación del tema
Con lo que respecta al uso de la aplicación el 75% indica que es muy necesario
el desarrollo de la aplicación, mientras que el 16.66% menciona que es
necesario el uso, el 8.33% indica que es poco necesario el uso de la aplicación.
9.- ¿Qué funcionalidad adicional creería usted se debe agregar en el
aplicativo web de mapeo y escaneo?
Cuadro No. 12 Funciones adicionales
OPC. FREC. PORCTJ
Módulo de Chat
interno 6 50%
Alertas de duplicación
de dirección Ip
2 16,66666667%
Presentar un Floor
Plant de la Localidad
3 25%
Subir Archivos
1 8,333333333%
TOTAL 12 100% Elaboración: Douglas Toral
Fuente: Investigación del tema
Gráfico 28 Funciones adicionales
Elaboración: Douglas Toral
Fuente: Investigación del tema
76
El grupos de encuestados un 50% manifestó que el aplicativo se le puede
adicionar un funcionalidad de Modulo de chat interno para mantenerse
comunicados en el aplicativo, por otra parte un 16.66% manifestó que sería
bueno que envié alertas cuando haya una dirección IP duplicada, el 25%
comento que una aplicación como esta fuera más funcional si presentara un
Floor Plan de la localidad con las direcciones IP, y el 8.33% indico que sería
bueno que se pudiera subir y almacenar archivos de importancia.
10.- ¿Recomienda usted la implementación del aplicativo web en otras
empresas?
Cuadro No. 13 Implementación en otras empresas.
OPC. FREC. PORCTJ
SI 11 91,67%
NO 1 8,33%
TOTAL 12 100%
Elaboración: Douglas Toral Fuente: Investigación del tema
Gráfico 29 Implantación en otras empresas
Elaboración: Douglas Toral
Fuente: Investigación del tema
Con respecto a la implementación en otras empresas el 91.67% de las personas encuestadas mencionaron de manera positiva dicha pregunta, mientras que el minino de 8.33% menciona que no recomienda la implementación de aplicativo en otras empresas.
Análisis de la Correlación de Pearson Para el análisis de la correlación de Pearson se utilizó la aplicación RStudio que sirve para realizar cálculos estadísticos, dicho software se lo puede descargar en la siguiente dirección https://www.rstudio.com/. Para el primer análisis se consideró las preguntas: 1, 2, 4, 5, 6 y 10 por ser del mismo tipo respuesta de selección de SI y NO, tal como se muestra en el gráfico 10 las preguntas mencionadas.
77
Gráfico 30 Preguntas ingresadas en RStudio para el análisis.
Elaboración: Douglas toral
Fuente: Investigación del tema
En el software elegimos los datos o variables a analizar tal como se puede observar en el
gráfico 31.
Gráfico 31 Selección de conjunto de datos.
Elaboracion: Douglas Toral Herrera
Fuente: Investigacion del tema
Una vez seleccionados los datos en este caso SI.NO, se procede a realizar el Test de
Correlación de Pearson tal como se muestra en el gráfico 32.
78
Gráfico 32 Opciones de Estadísticas-Test de correlación
Elaboración: Douglas Toral
Fuente: Investigación del tema
Le damos Click en Aceptar para que realice el proceso de correlación de Pearson, en el gráfico 33.
Gráfico 33 Resultado de Correlación
Elaboración: Douglas Toral
Fuente: investigación del tema
data: NO and SI t = -Inf, df = 4, p-value < 2.2e-16 alternative hypothesis: true correlation is not equal to 0 95 percent confidence interval: -1 -1 sample estimates: cor -1 Como se muestra en el resultado es el 95% de aceptación y en una correlación inversa perfecta.
79
CAPITULO IV
CRITERIO DE ACEPTACIÓN DEL PRODUCTO O SERVICIO
De acuerdo al alcance propuesto se detalla por cada una de los módulos los
puntos de criterio de aceptación, con la finalidad de identificar y visualizar por
que se desarrolló el aplicativo y cuál es la utilización.
Cuadro No. 14 Criterios de aceptación
TIPO DE
REQUISITO
DESCRIPCIÓN
DE REQUISITO
CRITERIOS DE ACEPTACIÓN
Autenticación
por Perfil
1.- Autenticación
de los usuarios
de acuerdo a los
perfiles
asignados.
1.1.- Permite identificar a los usuarios del
sistema, mediante número de cédula y
una contraseña.
1.2.- Permite verificar a que base de que
perfil fue asignado una vez creado el
usuario.
1.3.- Permite identificar cuáles son los
módulos respectivos a cargar
correspondiente al perfil del usuario.
Usuario
Administrador
2.- Módulo de
Seguridad
2.1.- Permite que el administrador cree e
ingresar datos de un nuevo usuario.
2.2.- Permite crear e ingresar datos
nuevos de dispositivos de
telecomunicaciones.
2.3.- Permite Crear un perfil nuevo si es
necesario.
80
2.4.- Permite asignar los módulos a los
perfiles
3.- Módulo de
Búsqueda de
Equipos
3.1.- Permite que el administrador cree e
ingrese datos de una dirección IP para
realizar la búsqueda del equipo.
4.- Módulo de
Reportería
4.1.- Permite que el administrador genere
un reporte del inventario de direcciones
IP.
4.2.- Permite que el administrador exporte
el reporte en formato Excel de los equipos
de telecomunicación.
5.- Módulo De
Configuración y
Respaldo
5.1.- Permite que el administrador realice
de manera manual el respaldo de la
configuración de los equipos de
telecomunicaciones.
5.2.- Permite que el administrador cree
respaldos de manera programada y que
generen los respaldos de manera
automática.
Usuario
Soporte
1.- Módulo de
Búsqueda de
Equipos
1.1.- Permite que el personal de soporte
cree e ingrese datos de una dirección IP
para realizar la búsqueda del equipo.
2.- Módulo de
Reportería
2.1.- Permite que el personal de soporte
visualice un reporte del inventario de
direcciones IP.
2.2.- Permite que el personal de soporte
exporte un reporte del inventario de
direcciones IP en formato Excel.
Elaboración: Douglas Toral Fuente: Investigación del Tema
81
NORMAS DE CALIDAD ISO 9126 PARA ANÁLISIS DE UN SOFTWARE De acuerdo a las normas de Calidad ISO 9126 para que un software cumpla con los estándares de calidad y certificación se debe cumplir con las siguientes características.
Gráfico 34 Modelo de Calidad ISO 9126
Elaboración: Douglas Toral
Fuente: Investigación del tema
Cuadro No. 15 Informe de la calidad ISO 9126 del Proyecto
CALIDAD ISO 9126 IMPLEMENTACION DEL APLICATIVO
Funcionalidad
El aplicativo web desarrollado en este proyecto
cumple con las funcionalidades indicadas en los
alcances del proyecto, el uso y la manipulación de
los datos y la información utilizada solo la puede
realizar el usuario autorizado, ningún otro usuario
tiene la capacidad de acceder a los datos.
Confiabilidad
El aplicativo muestra mensajes de alertas o error
si encuentra uno para que el usuario este
advertido de las fallas que puedan o estén
ocurriendo en el momento.
CALIDAD
ISO/IEC 9126
FUNCIONALIDAD
EFICIENCIA
USABILIDAD
MANTENIMIENTO
PORTABILIDAD
CONFIABILIDAD
82
Usabilidad
La interfaz web que se elaboró para la aplicación
le permite al usuario entender el uso de manera
adecuada y fácil, podrá operarlo sin ningún
problema.
Eficiencia
El aplicativo es multitarea y multiusuario, el
desempeño de la aplicación tiene un tiempo de
respuesta de acuerdo a la funcionalidad y
requerimiento que deseen realizar los usuarios.
Mantenimiento
El aplicativo que se realizó en este proyecto se
puede modificar su código, aumentar más
funcionalidades y corregir errores si en el caso se
encontrase, se pueden realizar pruebas sin poner
en riesgo la integridad de los datos.
Portabilidad
La aplicación es multiplataforma, lo que permite
adaptarse a cualquier sistema operativo o
hardware sin que tenga problemas.
Elaboración: Douglas Toral Fuente: Investigación del tema
83
BIBLIOGRAFÍA
PHP:
Vikram, V. (2010). Desarrollo de sitios web con PHP.
PHP y MySQL: Tecnología para el desarrollo de aplicaciones Web. Ángel Cobo
2005
http://php.net/manual/es/intro-whatis.php
http://www.ecured.cu/PHP
http://redgrafica.com/El-lenguaje-de-programacion-PHP
METODOLOGÍA DE DESARROLLO:
http://scrummethodology.com/
OPEN SOURCE:
http://opensource.org/osd
http://www.gpsos.es/soluciones-open-source/definicion-de-open-source/
MYSQL:
https://dev.mysql.com/downloads/mysql/
Murphy, Keith, and Cabral, Sheeri K.. MySQL Administrator's Bible. Hoboken,
NJ, USA: Wiley, 2009.
Valade, Janet, and Suehring, Steve. PHP, MySQL, JavaScript and HTML5 All-in-
One For Dummies. Somerset, NJ, USA: John Wiley & Sons, 2013.
APACHE:
Khare, Tanuj. Apache Tomcat 7 Essentials. Olton, Birmingham, GBR: Packt
Publishing Ltd, 2012.
https://httpd.apache.org/ABOUT_APACHE.html
GNU/LINUX:
Nagpal, Namrata. UNIX and Shell Programming. Lucknow, IND: Word-Press,
2009.
Jones, M. Tim. GNU/Linux Application Programming. Hingham, MA, USA:
Charles River Media / Cengage Learning, 2005.
84
JAVASCRIPT:
Stefanov, Stoyan. Object-Oriented JavaScript. Olton, Birmingham, GBR: Packt
Publishing Ltd, 2008.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/About_JavaScript
Goodman, Danny, Morrison, Michael, and Novitski, Paul. JavaScript Bible (7th
Edition). Hoboken, NJ, USA: John Wiley & Sons, 2010.
PROTOCOLO SNMP
Kundu, Dinangkur, and Lavlu, S. M. Ibrahim. Cacti 0. 8 Network Monitoring.
Olton, Birmingham, GBR: Packt Publishing Ltd, 2009.
SNMP: A Guide to Network Management - Sidnie Feit, 1995.
Prácticas de Redes - Julian Veron Piquero, 2010 - 238 pages.
PROTOCOLO TELNET
Dostálek, Libor, and Kabelová, Alena. Understanding TCP/IP. Olton,
Birmingham, GBR: Packt Publishing, 2006.
https://tools.ietf.org/html/rfc764
Williams, Al. Java 2 Network Protocols Black Book. Phoenix, AZ, USA: Paraglyph
Press, 2001.
PROTOCOLO TCP/IP:
Blank, Andrew G. TCP/IP Foundations. Alameda, CA, USA: Sybex, 2004.
Dostálek, Libor, and Kabelová, Alena. Understanding TCP/IP. Olton,
Birmingham, GBR: Packt Publishing, 2006.
PROTOCOLO SSH
Dwivedi, Himanshu. Implementing SSH: Strategies for Optimizing the Secure
Shell. Hoboken, NJ, USA: Wiley, 2003.
DIRECCIÓN IP:
Dostálek, Libor, and Kabelová, Alena. Understanding TCP/IP. Olton,
Birmingham, GBR: Packt Publishing, 2006.
85
Blank, Andrew G. TCP/IP Foundations. Alameda, CA, USA: Sybex, 2004.
CISCO:
http://www.cisco.com/
EQUIPOS DE ENRUTAMIENTO:
http://itroque.edu.mx/cisco/cisco1/course/module1/1.2.1.3/1.2.1.3.html
http://cisco/ccna5.1/course/module3/index.html#3.0.1.1
MVC:
Programación Avanzada en Java, Sonia Jaramillo Valbuena, Sergio Augusto
Cardona, Dumar Antonio Villa Zapata, Primera Edición Diciembre 2008
DECRETOS:
http://decretos.presidencia.gob.ec/decretos/
NORMAS ISO:
http://www.normas9000.com/que-es-iso-9000.html
87
ANEXO A – CRONOGRAMA DEL PROYECTO
NOMBRE DE TAREA COMIENZO FIN RECURSOS
DESARROLLO DE UNA
PLATAFORMA WEB DE MAPEO Y ESCANEO DE IP DENTRO DE UNA RED IPV4 CON EQUIPOS CISCO PARA LA EMPRESA MEDIASIST
2015-09-01 2015-12-09 DOUGLAS
TORAL
DESARROLLO 2015-09-16 2015-12-11 DOUGLAS
TORAL
DOCUMENTACION DE LOS
CAPITULOS DEL PROYECTO DE
TITULACION
2015-09-16 2015-12-11 DOUGLAS
TORAL
DETALLAR PRIMER CAPITULO 2015-09-01 2015-09-17 DOUGLAS
TORAL
DESCRIPCION DEL CONTENIDO 2015-09-01 2015-09-17 DOUGLAS
TORAL
SPRINT 0 – ANALISIS DE
INFORMACION PARA EL
DESARROLLO DE PROYECTO
2015-09-01 2015-09-15 DOUGLAS
TORAL
LEVANTAMIENTO DE INFORMACION
CON EL USUARIO 2015-09-01 2015-09-03
DOUGLAS
TORAL
DEFINICION DE LA METODOLOGIA A
UTILIZAR 2015-09-04 2015-09-05
DOUGLAS
TORAL
INVESTIGACION DE LOS MODULOS
DE REPORTE Y BUSQUEDA 2015-09-06 2015-09-10
DOUGLAS
TORAL
DEFINICION DE PLATAFORMA DE
PROGRAMACION A UTILIZAR 2015-09-11 2015-09-14
DOUGLAS
TORAL
DETALLAR SEGUNDO CAPITULO 2015-09-16 2015-10-31 DOUGLAS
TORAL
DESCRIPCION DEL CONTENIDO 2015-09-16 2015-10-31 DOUGLAS
TORAL
SPRINT 1 - MODULO DE SEGURIDAD 2015-09-16 2015-10-14 DOUGLAS
TORAL
MODULO DE LOGUEO 2015-09-17 2015-09-20 DOUGLAS
TORAL
DEFINICION DE PERFILES POR
USUARIO 2015-09-21 2015-09-27
DOUGLAS
TORAL
MODULO DE CREACIÓN ,
MODIFICACIÓN Y ELIMINACIÓN DE
USUARIOS
2015-09-29 2015-10-06 DOUGLAS
TORAL
MODULO DE CREACIÓN, 2015-10-07 2015-10-11 DOUGLAS
88
MODIFICACIÓN Y ELIMINACIÓN DE
LOS EQUIPOS SWITCH CISCO
TORAL
PRUEBAS Y CORRECCIONES DE
LOS MÓDULOS CREADOS HASTA EL
MOMENTO
2015-10-12 2015-10-14 DOUGLAS
TORAL
SPRINT 2 - MÓDULO DE BÚSQUEDA
DE EQUIPOS 2015-10-15 2015-10-31
DOUGLAS
TORAL
CREACIÓN DEL FORMULARIO PARA
LA BÚSQUEDA DE DIRECCIONES IP 2015-10-15 2015-10-20
DOUGLAS
TORAL
INVESTIGAR COMANDOS PARA
REALIZAR LA BÚSQUEDA DE
DIRECCIONES IP
2015-10-21 2015-10-26 DOUGLAS
TORAL
PRUEBAS Y CORRECCIÓN DEL
MÓDULO DE BÚSQUEDA DE
EQUIPOS CISCOS
2015-10-27 2015-10-31 DOUGLAS
TORAL
DETALLA TERCER CAPITULO 2015-11-01 2015-11-20 DOUGLAS
TORAL
DESCRIPCION DEL CONTENIDO 2015-11-01 2015-11-20 DOUGLAS
TORAL
SPRINT 3 - MÓDULO DE
REPORTERÍA 2015-11-01 2015-11-20
DOUGLAS
TORAL
INVENTARIO DE DIRECCIONES IP 2015-11-01 2015-11-09 DOUGLAS
TORAL
INVENTARIO DE EQUIPOS DE
COMUNICACIÓN 2015-11-10 2015-11-15
DOUGLAS
TORAL
PRUEBAS DEL MÓDULO DE
REPORTERÍA 2015-11-16 2015-11-20
DOUGLAS
TORAL
SPRINT 4 - MÓDULO DE
CONFIGURACIÓN/RESPALDO DE
DISPOSITIVOS DE
TELECOMUNICACIÓN
2015-11-21 2015-12-08 DOUGLAS
TORAL
PROGRAMACIÓN DEL FORMULARIO
PARA LA CONFIGURACIÓN DE LOS
DISPOSITIVOS DE
TELECOMUNICACIONES.
2015-11-21 2015-11-25 DOUGLAS
TORAL
PROGRAMACIÓN DE LA FUNCIÓN
PARA LA EJECUCIÓN DE
CONFIGURACIONES BÁSICAS DE
LOS EQUIPOS CISCOS.
2015-11-26 2015-11-30 DOUGLAS
TORAL
PRUEBAS Y CORRECCIONES DE
ERRORES DE LAS
FUNCIONALIDADES DEL MÓDULO
ACTUAL
2015-11-31 2015-12-08 DOUGLAS
TORAL
DETALLAR CUARTO CAPITULO 2015-12-01 2015-12-09 DOUGLAS
TORAL
DESCRIPCION DEL CONTENIDO
DEL CUARTO CAPITULO 2015-12-01 2015-12-09
DOUGLAS
TORAL
89
ANEXO B – MANUAL TÉCNICO
REQUERIMIENTO MINIMOS RECOMENDADOS
Para el desarrollo del aplicativo web se emplearos las siguientes tecnologías que
se mencionan a continuación.
1.- Instalación del Sistema Operativo Centos 7.
Procedemos a descargar el ISO de la página oficial
https://www.centos.org/download/, una vez descargado se procede a generer un
DVD o USB booteable.
Entramos a la primea opciones “Install CentOS 7”
90
Elegimos el idioma y le damos continuar.
En la pantalla de resumen de instalación le damos click al botón Destino de la
instalación.
91
Se visualizarán los discos donde podemos instalar, en este caso sólo sale un
solo disco y debe estar seleccionado, le damos click al botón y Listo.
Volvemos al resumen de instalación y le damos click en RED y Nombre de host.
92
Se escribe el nombre del host y se procede a la configuración de la tarjeta de
red.
Volvemos a Resumen de Instalación le damos click en Comenzar la instalación.
93
Mientras se instala te aparecerá una pantalla de configuración en la cual te
pedirá el cambio de clave del usuario ROOT le damos click
Procedemos a escribir la clave 2 veces para la confirmación y listo
94
Volvemos a la pantalla de progreso de instalación esperando a que se termine la
instalación.
2.- Instalación del servidor apache y Server MySQL
Nota: El S.O. debe contar con internet para que pueda descargar todos
los paquetes que se mencionan a continuación:
a. Comienzo de la instalación del Servidor Apache.
En el terminal escribimos la siguiente línea:
sudo yum install httpd
Se comienza a descargar e instalar los paquetes de servidor apache, una
vez terminada la instalación procedemos a habilitar el arranque del
servicio de manera automática cuando se inicie el S.O.
systemctl enable httpd.services
systemctl start httpd.services
95
Ya realizado todo esto verificamos el servicio que esté funcionando de
manera correcta, en un navegador escribimos la dirección del servidor y
nos debe dar como resultado “Testing 123..”
b. Instalación del MySQL server
En un terminal ejecutamos la siguiente línea de comando:
sudo yum install http://dev.mysql.com/get/mysql-community-
release-el7-5.noarch.rpm
Una vez ejecutada procede a descargar y añadir todos repositorios de
MySQL, ya culminado el proceso verificamos que todos los repositorios
estén activos, ejecutamos la siguiente línea:
sudo yum repolist enabled | grep "mysql.*-community.*"
Nos debe mostrar lo siguiente
mysql-connectors-community/x86_64 MySQL Connectors Community 9
mysql-tools-community/x86_64 MySQL Tools Community 4
mysql56-community/x86_64 MySQL 5.6 Community Server 49
96
Luego de que estén activos los repositorios procedemos con la
instalación de los paquetes del Servidor MySQL, escribimos lo siguiente:
sudo yum install mysql-community-server
Ya culminada la instalación de los paquetes procedemos a levantar el
servicio y probamos que esté completamente funcional:
sudo systemctl start mysqld
Nos conectamos desde el localhost escribiendo lo siguiente:
msysql –u root
Nos debe mostrar un mensaje como este:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.19 MySQL Community Server (GPL)
Se recomienda activar el servicio en el arranque del S.O. para esto se
ejecuta lo siguiente:
sudo systemctl enable mysqld.service
3.- Instalación del Spreadsheet.
Este paquete se lo utiliza para la funcionalidad de Reportería.
Se procede con la instalación de los paquetes que se detallan a continuaciones.
a. Download the latest epel-release rpm from
http://dl.fedoraproject.org/pub/epel/7/x86_64/
c. Install epel-release rpm:
# rpm -Uvh epel-release*rpm
d. Install perl-Spreadsheet-WriteExcel rpm package:
# yum install perl-Spreadsheet-WriteExcel
e. Download the latest epel-release rpm from
97
http://dl.fedoraproject.org/pub/epel/7/x86_64/
f. Install epel-release rpm:
# rpm -Uvh epel-release*rpm
g. Install perl-Spreadsheet-XLSX rpm package:
# yum install perl-Spreadsheet-XLSX
4.- Instalación de Shell in a Box
Es un emulador de terminal basado en web que proporciona toda la
funcionalidad de un terminal nativo de Linux.
Se procede con la instalación del paquete:
# yum install openssl shellinabox
# nano /etc/sysconfig/shellinaboxd
Se agregan la línea OPTS="-s /:SSH:192.168.10.206 para que permita la
conexión al servidor
98
Desarrollo del aplicativo Web
Lenguaje de programación: PHP v5.5, HTML
Lenguaje de estilos: CSS framework – bootstrap v3.2
Lenguaje de script: JavaScript, librería – jquery v2.1
Software para programación: AptanaStudio3
Software para gestionar las bases de datos: MySQL Workbench 6.3
100
INGRESO AL SISTEMA
Para ingresar al sistema de Dultron, se deberá abrir su navegador y colocar la
dirección correspondiente: 192.168.10.206/Dultron
A continuación se muestra la captura de imagen de la página de inicio de sesión
del Aplicativo Dultron para tener acceso al Sistema.
El sistema de Dultron es una aplicación web,
por lo cual su acceso y carga de los
módulos correspondientes se deberán
realizar desde un browser de Internet
(Firefox, Internet Explorer, Google Chrome).
Para acceder al sistema se deberán ingresar
los datos correspondientes proporcionados
por el administrador.
Una vez ingresado los datos correctos de acceso al sistema y realizada la validación necesaria, se mostrará el menú principal de opciones (pantalla de inicio).
Dentro del aplicativo se visualiza los siguientes módulos correspondientes al perfil de Administrador:
101
1. Dashboards 1.1. Monitoreo
2. Seguridad
2.1. Usuarios 2.2. Perfiles 2.3. Políticas de clave 2.4. Opciones
3. Administración 3.1. Comunidad SNMP 3.2. Conexiones 3.3. Dispositivos 3.4. Interfaces 3.5. Localidad 3.6. Tipo Dispositivos 3.7. Ubicaciones
4. Búsqueda
4.1. Dispositivos
5. Reporte 5.1. D 5.2. D
6. Operaciones
6.1. Shell Local 6.2. Respaldo
1. DASHBOARDS
En caso de seleccionar el módulo , muestra el perfil del usuario en este
caso Administrado y la fecha, hora de su última conexión y el nombre del
sistema.
102
1.1 Monitoreo
En el caso de selecciona monitoreo mostrara el
estatus del estado del servidor como es el Hardware y Software,
información de los Switch principales de la empresa y también las
vlan de las mismas.
103
2. SEGURIDAD
En el caso de seleccionar el modulo , En esta opción permite realizar
el ingreso de usuarios, perfiles, opciones y establecer las políticas de claves
mediante el ingreso de los datos correspondientes para cada punto
anteriormente mencionado.
2.1 Opciones
En esta opción se agregan las opciones del Sistema.
ELIMINAR: el boton permite eliminar el usuario.
CREAR: el boton nuevo se podra registrar nevas opciones
para el sistema.
EDITAR:el boton editar permite modificar los datos de las
opciones del sistema.
104
2.2. Perfiles
En esta opción se podrá visualizar los perfiles ingresados hasta el momento, crear, editar y eliminar.
ELIMINAR: el boton permite eliminar el perfil.
OPCIONES: el boton permite agregar y quitar opciones de las
funcionalidades del sistema.
105
CREAR: al darle click en se podra registrar nuevos
usuarios del sistema,
EDITAR:el boton permite editar y modificar la informacion del
usuario
Para las dos opciones de Nuevo y Editar se utiliza la misma plantilla
106
2.2 Políticas de clave
En esta opcion se dara las poiticas de seguridad para el ingreso de
las claves del usuario cuando se crea.
ELIMINAR: el boton permite eliminar la politica de claves.
CREAR: el boton nuevo se podra registrar nevas politicas
de clave.
EDITAR:el boton editar permite modificar la informacion de las
politicas de claves ya configuradas.
Para las dos opciones de Nuevo y Editar se utiliza la misma plantilla.
107
2.1. Usuario
En esta opción se podrá visualizar los usuarios creados hasta el
momento, ingresar nuevos usuario, modificar.
CREAR: al darle click en se podra registrar nuevos
usuarios del sistema,
108
EDITAR:el boton permite editar y modificar la informacion del
usuario
ELIMINAR: el boton permite eliminar el usuario.
Para las dos opciones de Nuevo y Editatr se utiliza la
misma plantilla.
3. ADMINISTRACIÓN
En el caso de seleccionar el modulo , En esta opción permite realizar el
ingreso de: la información de los dispositivos de intermedio, comunidad SNMP,
conexiones, interfaces, dispositivos, localidad y demás información necesario
que se utilizara para agilitar las búsquedas de direcciones IP.
3.1 Comunidad SNMP
En esta opción se ingresa la comunidad del SNMP que tiene
configurado los equipos Intermedios de la Empresa.
109
ELIMINAR: el boton permite eliminar la informacion de la
Comunidad ingresada en el sistema.
CREAR: al darle click en se podra registrar una nueva
informacion de la comunidad SNMP.
EDITAR:el boton permite editar y modificar la informacion de la
comunidad.
Para las dos opciones de Nuevo y Editatr se utiliza la
misma plantilla.
110
3.2 Conexiones
En esta opción se ingresa los tipos de conexiones que se utilizaran
para acceder a los distintos dispositivos ya sea por SSH, Telnet u
otro tipo de conexión.
ELIMINAR: el boton permite eliminar la informacion ya ingresada.
CREAR: al darle click en se podra registrar una nueva
informacion de conexión.
EDITAR:el boton permite editar y modificar la informacion.
Para las dos opciones de Nuevo y Editatr se utiliza la
misma plantilla.
111
3.3 Interfaces
En esta opción se ingresan toda clase de interfaces que exista en los
dispositivos intermedios como los Switch y Router.
ELIMINAR: el boton permite eliminar la informacion ya ingresada.
CREAR: al darle click en se podra registrar una nueva
informacion de las interfaces.
EDITAR:el boton permite editar y modificar la informacion.
Para las dos opciones de Nuevo y Editatr se utiliza la
misma plantilla.
112
3.4 Localidad
En esta opción se ingresa las sucursales o localidades que tiene la
empresa.
ELIMINAR: el boton permite eliminar la informacion ya ingresada.
CREAR: al darle click en se podra registrar una nueva
localidad.
EDITAR:el boton permite editar y modificar la informacion.
Para las dos opciones de Nuevo y Editatr se utiliza la
misma plantilla.
113
3.5 Tipo de Dispositivos
En esta opción se agrega el tipo del dispositivo intermedio que puede
ser un switch o un router.
ELIMINAR: el boton permite eliminar la informacion ya ingresada.
CREAR: al darle click en se podra agregar un nuevo
Dispositivo.
EDITAR:el boton permite editar y modificar la informacion.
Para las dos opciones de Nuevo y Editatr se utiliza la
misma plantilla.
114
3.6 Ubicaciones
En esta opción se agregar los distintos segmentos de red que tenga
la empresa con su respectiva localidad y descripción.
ELIMINAR: el boton permite eliminar la informacion ya ingresada.
CREAR: al darle click en se podra agregar un nuevo
segmento de red.
EDITAR:el boton permite editar y modificar la informacion.
Para las dos opciones de Nuevo y Editatr se utiliza la
misma plantilla.
115
3.7 Dispositivos
Una vez llenada todas las opciones anteriores se procede con esta
opción ya que aquí se agrega todos los dispositivos intermedios que
tenga la empresa.
ELIMINAR: el boton permite eliminar la informacion ya ingresada.
CREAR: al darle click en se podra agregar un nuevo
dispositivo intermedo.
EDITAR:el boton permite editar y modificar la informacion.
Para las dos opciones de Nuevo y Editatr se utiliza la
misma plantilla.
En esta opcion debe ser ingresado por el personal de sistema
encargado de la infraestructura de red que tiene la empresa ya que
aquí se agrega las contraseñas de todos los dispositivos intermedios
como los switch y router.
Con este modulo podremos conectarnos a todos los dispositivos
intermedios para poder realizar uno de los funcionamientos del
sistema el cual es la busqueda de las direcciones Ip.
116
4. BUSQUEDA
En el caso de seleccionar el modulo , esta opción es la encargada de
realizar busquedas de direcciones ip, la busqueda lo reaiza de manera que solo
se quiera una sola direccion ip o se necesite buscar todo un segmento de red.
117
Al seleccionar la pestaña aparecera un formulario donde podra
realizar la busqueda que necesita ya sea por unidad o por segmento de red.
En tipo de busqueda usted podra seleccionar la busquedas ya antes
mencionadas.
4.1 Tipo de Busqueda: Dirección IP
La busqueda lo realiza un una dirección ip y localidad especifica.
Cuando realiza la busqueda muestra la informacion de la siguiente
pantalla.
118
4.2 Tipo de Búsqueda: Localidad.
La búsqueda lo realiza por segmento de red y la localidad especifica.
Cuando realiza la búsqueda muestra la información de la siguiente
manera.
119
Para ambos tipos de busquedas tienen cuatro opciones que son
Con estas opciones puedes marcar toda
la informacion o marcar la que necesites, para que una vez seleccionado lo
necesario se puedas exportar o guardar la informacion.
Con este boton exporta la infomacion que necesitas.
Con este boton guardas en base la informacion que necesitas.
5. REPORTE
Cuando seleccionas el modulo de reporte , podras exportar un excel
donde se encuentran el listado de las busquedas generadas previamente
guardadas.
Seleccionas la informacion que deseas visualizar en el reporte una vez
seleccionado le das click en y se genera el reporte.
120
6. TERMINAL
En el modulo de se podra realizar funcionalidades de un terminal y sacar
respaldos de los equipos intermedios principales.
6.1 Shell Local
En esta opción mostrara un shell o terminal dentro de nuestro sistema,
con las mismas funcionalidades que tiene un terminal nativo de Linux.
6.2 Respaldos
En esta opción se podra realizar respaldos de los dispositivos de
telecomunicaciones como los switch principales de las diferentes
localidades.
122
ANEXO E.- CODIGO FUENTE DEL PROYECTO
MASTER.PHP <? include('../../controller/header.php'); if(session_var(VAR_USER) == null){ send_redirect('../../login.php?'.VAR_MESSAGE.'=Sesion finalizada'); }else{ setlocale(LC_TIME, "es_ES"); $objGlobalUser = User::cast(session_var(VAR_USER)); $objGlobalEvent = Event::cast(session_var(VAR_LOGINOUT)); $objGlobalMessage = SystemMessage::cast(session_var(VAR_MESSAGE)); $objGlobalConnect = Util::createConnection(DB_TYPE, $database[DB_SYSTEM]); $objGlobalConnect->connect(); if(controller_name()=='' && (controller_action() == 'home' || controller_action() == '')){ set_request_var('op_padre',-1); } if(request_var('op_padre')<>''){ $menuClass=str_replace("clase='".request_var('op_padre')."'","clase='dropdown active'",$objGlobalUser->getOptions()); $objGlobalUser->setOptions($menuClass); //set_session_var(VAR_USER,$objGlobalUser); } $menu = Util::parsearMenu($objGlobalUser->getOptions(), "../../menu.xsl"); $menuClass=str_replace("clase='dropdown active'", "clase='".request_var('op_padre')."'",$objGlobalUser->getOptions()); $objGlobalUser->setOptions($menuClass); if(controller_name()==''){ if(controller_action() == 'logoff'){ $objGlobalEvent->setEndDate(Util::getDateSQL()); $objGlobalEvent->updateEvent($objGlobalConnect); session_finish(); send_redirect('../../login.php?'.VAR_MESSAGE.'=Sesion finalizada'); }else if(controller_action() == 'home' || controller_action() == ''){ $page = '../../controller/welcome.php'; set_session_var(VAR_MAINPAGE, $page); include('master_view.php'); }
123
}else{ $page = '../../controller/'. controller_module().'/'.controller_name().'.php'; if(register_log()){ Util::registerOptionLog($objGlobalConnect, $objGlobalUser->getUsername(), detail_option(), $page); } set_session_var(VAR_MAINPAGE, $page); include('master_view.php'); } } ?> LOGIN.PHP <?php require('./libs/utils.php'); require('./model/SystemConstants.php'); require('./config/SystemVars.php'); require('./model/SystemMessage.php'); require('./model/MyException.php'); require('./model/IConnection.php'); require('./model/ConnectionSqlServer.php'); require('./model/ConnectionSqlServerMS.php'); require('./model/ConnectionMySql.php'); require('./model/Util.php'); require('./model/NativeObject.php'); require('./model/Option.php'); require('./model/Profile.php'); require('./model/User.php'); require('./model/Privileges.php'); require('./model/Event.php'); require('./model/Claves.php'); require('./model/ConfigVar.php'); session_init(); if (controller_action() == 'login') { try { $date = Util::getDateSQL(); $connect = Util::createConnection(DB_TYPE, $database[DB_SYSTEM]); $connect->connect(); $objUser = new User(strtolower(trim(request_var('txt_username'))), request_var('txt_password')); $objEvent = new Event(0, $objUser->getUsername(), Util::getIP(), LOGEO, $date, $date); $objMessage = new SystemMessage(); $objConfigVar = ConfigVar::getConfigVar($connect); $objClaves = Claves::getClaves($connect, $objConfigVar->getPoliticaClave()); //print_r($connect);
124
//print_r($objUser); if (User::isUser($connect, $objUser)) { if($objUser->getStatus()=='A'){ $parametros = array(); $parametros[] = request_var('txt_username'); // $rs = $objClaves->ValidarDiasVigencia($connect, $parametros); // while ($data = $connect->getRows($rs)) { // $diasvigencia = $data['diferencia']; // } /* if ($objClaves->getPol_vigenciaminima() > 0 && $diasvigencia > $objClaves->getPol_vigenciaminima()) {
set_request_var(WARNING_TYPE, 'Vigencia de contarse�a
Caducada, Cambiar contrase�a'); include('login_users_pass.php'); } else {*/ if ($objUser->getProfile()->getPageinitial() == '') { $objUser->getProfile()->setPageinitial(WELLCOME_DEFAULT); } $objEvent->insertEvent($connect); set_session_var(VAR_USER, $objUser); set_session_var(VAR_MESSAGE, $objMessage); set_session_var(VAR_LOGINOUT, $objEvent); send_redirect('./main/master/master.php'); // } }else{ set_request_var(VAR_MESSAGE, 'Usuario inactivo. Comuniquese con Sistemas'); include('login_view.php'); } } else { try { $parametros = array(); $parametros[] = request_var('txt_username'); $parametros[] = Util::getIP(); $parametros[] = date('Y-m-d H:i:s'); $objClaves->InsertarIntentosLogeo($connect, $parametros); $parametros = array(); $parametros[] = request_var('txt_username'); $parametros[] = $objClaves->getPol_bloqueo(); $rs = $objClaves->ValidarIntentosLogeo($connect, $parametros); $intentos = $connect->numRows($rs); set_request_var(VAR_MESSAGE, 'Usuario o clave incorrecta'); } catch (MyException $ex) { set_request_var(VAR_MESSAGE, 'Usuario o clave incorrecta'); }
125
include('login_view.php'); } } catch (MyException $ex) { set_request_var(VAR_MESSAGE, $ex->getMessage()); include('login_view.php'); } } elseif (controller_action() == 'savePassword') { $date = Util::getDateSQL(); $connect = Util::createConnection(DB_TYPE, $database[DB_SYSTEM]); $connect->connect(); $parametros = array(); $parametros[] = request_var('txt_username'); $parametros[] = Util::getIP(); $objUser = new User(request_var('txt_username'), request_var('txt_password')); $objEvent = new Event(0, $objUser->getUsername(), Util::getIP(), LOGEO, $date, $date); $objMessage = new SystemMessage(); $objConfigVar = ConfigVar::getConfigVar($connect); //$objClaves = Claves::getClaves($connect, $objConfigVar->getPoliticaClave()); $objUser->updatePassword($connect); //$objClaves->insertContrasenaLog($connect, request_var('txt_username'), request_var('txt_password')); $objEvent->insertEvent($connect); set_session_var(VAR_USER, $objUser); set_session_var(VAR_MESSAGE, $objMessage); set_session_var(VAR_LOGINOUT, $objEvent); include('login_view.php'); } else { if (session_var(VAR_USER) !== null) { send_redirect('./main/master/master.php'); } include('login_view.php'); } ?>
126
LOGIN_VIEW.PHP <!DOCTYPE html> <!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7"><![endif]--> <!--[if IE 7]><html class="no-js lt-ie9 lt-ie8"><![endif]--> <!--[if IE 8]><html class="no-js lt-ie9"><![endif]--> <!--[if gt IE 8]><!--><html class="no-js"><!--<![endif]--> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title><?php echo APP_DEPLOY ?></title> <meta name="description" content=""> <meta name="viewport" content="width=device-width"> <script src="./js/adminflare-demo-init.min.js" type="text/javascript"></script> <link href="http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,400,300,600,700" rel="stylesheet" type="text/css"> <script type="text/javascript"> // Include Bootstrap stylesheet document.write('<link href="./css/' + DEMO_CURRENT_THEME + '/bootstrap.min.css" media="all" rel="stylesheet" type="text/css" id="bootstrap-css">'); // Include AdminFlare stylesheet document.write('<link href="./css/' + DEMO_CURRENT_THEME + '/adminflare.min.css" media="all" rel="stylesheet" type="text/css" id="adminflare-css">'); document.write('<link href="./css/pages.min.css" media="all" rel="stylesheet" type="text/css">'); </script> <script src="./js/modernizr-jquery.min.js" type="text/javascript"></script> <script src="./js/adminflare-demo.min.js" type="text/javascript"></script> <script src="./js/jquery.validate.js"></script> <script src="./js/Application.js"></script> <script src="./js/validation.js"></script> <!--[if lte IE 9]> <script src="./js/jquery.placeholder.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function () { $('input, textarea').placeholder(); }); </script> <![endif]--> <link href="./css/signin.css" rel="stylesheet" type="text/css"> <script type="text/javascript"> $(document).ready(function() {
127
/*$('.signin-container').submit(function() { document.location = 'dashboard.html'; return false; });*/ var updateBoxPosition = function() { $('.signin-container').css({ 'margin-top': ($(window).height() - $('.signin-container').height()) / 2 }); }; $(window).resize(updateBoxPosition); setTimeout(updateBoxPosition, 50); $('#form-login').validate({ rules: { txt_username: { minlength: 4, maxlength: 15, validarUsername: true }, txt_password: { required: true } }, highlight: function (element) { $(element).closest('.control-group').removeClass('success').addClass('error'); }, success: function(element) { element .closest('.control-group').removeClass('error').addClass('success'); } }); $("#btn_login").click(function(){ $('#form-login').submit(); }); }); $.validator.addMethod("validarUsername", function(value, element) { return / [̂a-zA-Z][_\w]+$/.test(value); }, "Ingrese un nombre válido" ); </script>
128
</head> <body class="pages-pricing"> <!-- Page content ================================================== --> <section class="signin-container"> <section class="row-fluid plans container"> <div class="span4"></div> <div class="span4"> <div class=" best-choice"> <form id="form-login" action="login.php" method="post"> <input type="hidden" name="controller_action" value="login" /> <div class="best-choice header "> <div class="price primary-background"> <small> <small> </small> </small> <img src="./images/af-logo-signin.png" alt="Sign in to Admin Flare"> <?php echo APP_DEPLOY ?><small> </small> </div> </div> <div class="box best-choice login-fields"> <div class="control-group"> <div class="social"> <p>Por favor ingrese sus datos de acceso</p> </div> <div class="field"> <label for="username" id="lbl_username" name="lbl_username" >Username:</label> <input type="text" id="txt_username" name="txt_username" value="" placeholder="Username" class="login username-field" /> </div> <!-- /field --> <div class="field"> <label for="password" id="lbl_password" name="lbl_password" >Password:</label>
129
<input type="password" id="txt_password" name="txt_password" value="" placeholder="Password" class="login password-field" /> </div> <span class="label label-inverse"><?php echo request_var(VAR_MESSAGE) ?></span> </div> </div> <div class="box best-choice content"> <button id="btn_login" class="btn btn-large btn-primary" tabindex="4" type="button">Login</button> </div> </form> </div> </div> <div class="span4"></div> </section> </section> </body> </html>
130
ANEXO F.- DICCIONARIO DE DATOS
Un diccionario de datos es un conjunto o grupos de metadatos que contiene
propiedades lógicas y fundamentales de los datos que se van a manejar en el
sistema que se programa.
Nombre de Archivo: BD usuarios
Descripción: Base de dato que contendrá información de los Usuario.
Nombre de Archivo: BD usuarios_intentologuin de logues
Descripción: Base de dato que contendrá el historial de logueo del usuario.
Nombre de Archivo: BD usuario_contraseñalog
Descripción: Base de dato que contendrá información de los todas las contraseñas que haya cambiado el usuario.
Nombre de Archivo: BD usuario_privilegios
Descripción: Base de dato que contendrá información de la asignación de los privilegios que se le fue asignado al usuario.
131
Nombre de Archivo: BD privilegios
Descripción: Base de dato que contendrá información del id de los privilegios que se pueden asignar.
Nombre de Archivo: BD políticas_contrasenas
Descripción: Base de dato que contendrá información de las políticas de contraseñas.
Nombre de Archivo: BD perfiles
Descripción: Base de dato que contendrá información de los perfiles de los usuarios.
Nombre de Archivo: BD opcionesxperfiles
Descripción: Base de dato que contendrá información para unir las tablas de opciones con la de perfiles.
Nombre de Archivo: BD opciones
Descripción: Base de dato que contendrá información de las opciones que se podrán configurar en el perfil del usuario.
132
Nombre de Archivo: BD dispositivos
Descripción: Base de dato que contendrá información de los dispositivos de telecomunicaciones.
CREACIÓN DE TABLAS DE LA BASE DE DATOS
Se detalla la creación de las tablas de la Base de Datos. /*!40101 SET NAMES utf8 */; /*!40101 SET SQL_MODE=''*/; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; CREATE DATABASE /*!32312 IF NOT EXISTS*/`dultron` /*!40100 DEFAULT CHARACTER SET latin1 */; USE `dultron`; /*Table structure for table `alertas` */ DROP TABLE IF EXISTS `alertas`; CREATE TABLE `alertas` ( `alt_codigo` int(11) NOT NULL AUTO_INCREMENT, `alt_nombre` varchar(50) DEFAULT NULL, `alt_titulo` varchar(50) DEFAULT NULL, `alt_descripcion` varchar(250) DEFAULT NULL, `alt_correos` text, `alt_from` varchar(100) DEFAULT NULL, `alt_estado` char(1) DEFAULT NULL, PRIMARY KEY (`alt_codigo`) ) ENGINE=MyISAM AUTO_INCREMENT=18 DEFAULT CHARSET=latin1; /*Data for the table `alertas` */ insert into `alertas`(`alt_codigo`,`alt_nombre`,`alt_titulo`,`alt_descripcion`,`alt_correos`,`alt_f
133
rom`,`alt_estado`) values (1,'ALERTA_SMS','envio sms','Envío de alertas sms','[email protected]','[email protected]','A'); /*Table structure for table `configuraciones` */ DROP TABLE IF EXISTS `configuraciones`; CREATE TABLE `configuraciones` ( `cfg_id` int(11) NOT NULL AUTO_INCREMENT, `cfg_email_admin` varchar(60) DEFAULT NULL, `cfg_email_host` varchar(60) DEFAULT NULL, `cfg_email_user` varchar(60) DEFAULT NULL, `cfg_email_pass` varchar(60) DEFAULT NULL, `cfg_email_port` int(11) DEFAULT NULL, `cfg_email_enable` int(1) DEFAULT NULL, `cfg_ultimo_usuario` int(11) DEFAULT NULL COMMENT 'ULTIMO ID DE USUARIO EN ALTITUDE', `cfg_politica_clave` int(2) DEFAULT NULL, `cfg_sms_enable` int(1) DEFAULT NULL, PRIMARY KEY (`cfg_id`), KEY `fk_politica` (`cfg_politica_clave`), CONSTRAINT `configuraciones_ibfk_1` FOREIGN KEY (`cfg_politica_clave`) REFERENCES `politicas_contrasenas` (`pol_codigo`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; /*Data for the table `configuraciones` */ insert into `configuraciones`(`cfg_id`,`cfg_email_admin`,`cfg_email_host`,`cfg_email_user`,`cfg_email_pass`,`cfg_email_port`,`cfg_email_enable`,`cfg_ultimo_usuario`,`cfg_politica_clave`,`cfg_sms_enable`) values (1,'[email protected]','[email protected]','[email protected]','[email protected]',0,1,NULL,1,1); /*Table structure for table `eventos` */ DROP TABLE IF EXISTS `eventos`; CREATE TABLE `eventos` ( `eve_codigo` int(11) NOT NULL AUTO_INCREMENT COMMENT 'a new comment2', `eve_usuario` varchar(20) NOT NULL, `eve_ip` varchar(20) NOT NULL DEFAULT '', `eve_evento` varchar(20) NOT NULL DEFAULT '', `eve_fechahoraini` datetime NOT NULL, `eve_fechahorafin` datetime NOT NULL, `eve_comentarios` text NOT NULL, PRIMARY KEY (`eve_codigo`), UNIQUE KEY `fecha_hora_evento` (`eve_usuario`,`eve_fechahoraini`,`eve_evento`), KEY `ix_fechaini` (`eve_fechahoraini`,`eve_evento`),
134
KEY `ix_fecha_hora_fin` (`eve_fechahorafin`), KEY `ix_fecha_hora_ini` (`eve_fechahoraini`), KEY `ix_usuario_ini` (`eve_usuario`,`eve_fechahoraini`), KEY `ix_evento` (`eve_evento`), KEY `ix_fht_ev_fhi` (`eve_usuario`,`eve_fechahorafin`,`eve_evento`,`eve_fechahoraini`), CONSTRAINT `eventos_ibfk_1` FOREIGN KEY (`eve_usuario`) REFERENCES `usuarios` (`usu_usuario`) ) ENGINE=InnoDB AUTO_INCREMENT=99 DEFAULT CHARSET=latin1; /*Table structure for table `opciones` */ DROP TABLE IF EXISTS `opciones`; CREATE TABLE `opciones` ( `opc_id` int(11) NOT NULL AUTO_INCREMENT, `opc_prefijo` varchar(9) NOT NULL DEFAULT '' COMMENT 'INDICE DE ORDEN DE LA OPCION', `opc_nombre` varchar(60) NOT NULL DEFAULT '' COMMENT 'ETIQUETA DE LA OPCION', `opc_url` varchar(100) DEFAULT NULL, `opc_nodopadre` int(11) DEFAULT NULL COMMENT 'CLAVE DE OPCION DEL NODO SUPERIOR', `opc_estado` char(1) NOT NULL DEFAULT '' COMMENT 'A=ACTIVO; I=INACTIVO', `opc_icono` varchar(80) DEFAULT NULL COMMENT 'IMAGEN DE LA OPCION', `opc_parametros` varchar(180) NOT NULL DEFAULT '' COMMENT 'PARAMETROS PARA ACCEDER AL ARCHIVO .PHP', PRIMARY KEY (`opc_id`), KEY `fk_nodopadre` (`opc_nodopadre`), CONSTRAINT `opciones_ibfk_1` FOREIGN KEY (`opc_nodopadre`) REFERENCES `opciones` (`opc_id`) ) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=latin1; /*Data for the table `opciones` */ insert into `opciones`(`opc_id`,`opc_prefijo`,`opc_nombre`,`opc_url`,`opc_nodopadre`,`opc_estado`,`opc_icono`,`opc_parametros`) values (-1,'0','Dashboards','',NULL,'A','fa fa-home',''),(1,'1','Seguridad','',NULL,'A','fa fa-cogs',''),(2,'1.4','Opciones','',1,'A','','module=seguridad&controller=seg_options'),(3,'1.5','Perfiles','',1,'A','','module=seguridad&controller=seg_profiles'),(4,'1.7','Usuarios','',1,'A','','module=seguridad&controller=seg_users'),(5,'1.3','Excepciones','',1,'A','','module=seguridad&controller=seg_exceptions'),(6,'1.2','Configuracion de Variables','',1,'A','','module=seguridad&controller=seg_configvar'),(7,'1.1','AlertasZZZ','',1,'A','','module=seguridad&controller=seg_alertSystem'),(8,'1.6','Politicas de
135
claves','',1,'A','','module=seguridad&controller=seg_claves'),(9,'3','Administracion','',NULL,'A','fa fa-dashboard',''),(10,'3.1','Importaciones','',9,'A',NULL,'module=procesos&controller=pro_importContacts'),(11,'4','Plusservices','',NULL,'A','fa fa-comments-o',''),(12,'4.1','Clientes Activos Siga','',11,'A',NULL,'module=procesos&controller=pro_debugRegistersSiga'),(13,'4.5','Motivo Anterior','',11,'A',NULL,'module=procesos&controller=pro_debugRegistersByReason'),(14,'4.2','Cliente Corporativo','',11,'A',NULL,'module=procesos&controller=pro_debugCorporateClient'),(15,'5','Monitoreos','',11,'A',NULL,'module=procesos&controller=pro_debugRegistersPrefixByPlan'),(16,'5.1','Prefijo por Tarjeta','',11,'A',NULL,'module=procesos&controller=pro_debugCorporateClientByCreditCard'),(17,'6','Reportes','',11,'A',NULL,'module=procesos&controller=pro_debugRegistersConsolidated'),(18,'6.1','Exportar Datos','',9,'A',NULL,'module=procesos&controller=pro_exportContacts'),(19,'6.2','Nemonico Institucional','',11,'A',NULL,'module=procesos&controller=pro_getNemonicoInstitutional'); /*Table structure for table `opcionesxperfil` */ DROP TABLE IF EXISTS `opcionesxperfil`; CREATE TABLE `opcionesxperfil` ( `oxp_perfil` int(11) NOT NULL COMMENT 'CLAVE DEL PERFIL', `oxp_opcion` int(11) NOT NULL COMMENT 'CLAVE DE LA OPCION', PRIMARY KEY (`oxp_perfil`,`oxp_opcion`), KEY `fk_opcion` (`oxp_opcion`), CONSTRAINT `opcionesxperfil_ibfk_1` FOREIGN KEY (`oxp_perfil`) REFERENCES `perfiles` (`per_id`), CONSTRAINT `opcionesxperfil_ibfk_2` FOREIGN KEY (`oxp_opcion`) REFERENCES `opciones` (`opc_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Data for the table `opcionesxperfil` */ insert into `opcionesxperfil`(`oxp_perfil`,`oxp_opcion`) values (1,-1),(4,-1),(1,1),(4,1),(1,2),(1,3),(1,4),(1,5),(1,6),(4,6),(1,7),(1,8),(1,9),(4,9),(1,10),(1,11),(1,12),(1,13),(1,14),(1,15),(1,16),(1,17),(1,18),(1,19); /*Table structure for table `perfiles` */ DROP TABLE IF EXISTS `perfiles`; CREATE TABLE `perfiles` ( `per_id` int(11) NOT NULL AUTO_INCREMENT, `per_nombre` varchar(60) NOT NULL DEFAULT '' COMMENT 'NOMBRE DEL PERFIL', `per_estado` char(1) NOT NULL DEFAULT '' COMMENT 'A=ACTIVO, I=INACTIVO',
136
`per_imagen` varchar(150) DEFAULT '' COMMENT 'IMAGEN DEL PERFIL', `per_paginainicial` varchar(250) DEFAULT '', PRIMARY KEY (`per_id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1; /*Data for the table `perfiles` */ insert into `perfiles`(`per_id`,`per_nombre`,`per_estado`,`per_imagen`,`per_paginainicial`) values (1,'ADMINISTRADOR','A','','module=homes&controller=hom_welcome_default'),(2,'SISTEMAS','A','','module=homes&controller=hom_welcome_default'),(4,'testing','A','',''); /*Table structure for table `politicas_contrasenas` */ DROP TABLE IF EXISTS `politicas_contrasenas`; CREATE TABLE `politicas_contrasenas` ( `pol_codigo` int(11) NOT NULL AUTO_INCREMENT, `pol_nombre` varchar(80) DEFAULT NULL COMMENT 'NOMBRE DE LA POLITICA', `pol_detalle` varchar(200) DEFAULT NULL COMMENT 'EXPLICACION DE LA POLITICA', `pol_longitudminima` int(11) DEFAULT NULL COMMENT 'LONGITUD MINIMA DE LA CONTRASENA', `pol_minimomayusculas` int(11) DEFAULT NULL COMMENT 'CANTIDAD MINIMA DE MAYUSCULAS', `pol_minimominusculas` int(11) DEFAULT NULL COMMENT 'CANTIDAD MINIMA DE MINUSCULAS', `pol_minimodigitos` int(11) DEFAULT NULL COMMENT 'CANTIDAD MINIMA DE DIGITOS', `pol_minimoespeciales` int(11) DEFAULT NULL COMMENT 'CANTIDAD MINIMA DE CARACTERES ESPECIALES', `pol_vigenciaminima` int(11) DEFAULT NULL COMMENT 'DIAS DE VIGENCIA DE LA CONTRASENA', `pol_historialcontrasenas` int(11) DEFAULT NULL COMMENT 'CANTIDAD DE HISTORIAL DE CONTRASENAS', `pol_intentoslogeo` int(11) DEFAULT NULL COMMENT 'INTENTOS DE LOGEOS AL SISTEMA; 0=INDEFINIDO', `pol_bloqueo` int(11) DEFAULT NULL COMMENT 'INTERVALOS DE HORAS PARA PROXIMOS INTENTOS', `pol_estado` char(1) DEFAULT 'A' COMMENT 'A=ACTIVO; I=INACTIVO', PRIMARY KEY (`pol_codigo`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; /*Data for the table `politicas_contrasenas` */ insert into `politicas_contrasenas`(`pol_codigo`,`pol_nombre`,`pol_detalle`,`pol_longitudminima`,`pol_minimomayusculas`,`pol_minimominusculas`,`pol_minimodigitos`,`pol_
137
minimoespeciales`,`pol_vigenciaminima`,`pol_historialcontrasenas`,`pol_intentoslogeo`,`pol_bloqueo`,`pol_estado`) values (1,'Politica Default','politicas de claves para los usuarios de perfil administrador',6,0,3,1,0,25,5,5,0,'A'); /*Table structure for table `privilegios` */ DROP TABLE IF EXISTS `privilegios`; CREATE TABLE `privilegios` ( `prv_codigo` char(3) NOT NULL DEFAULT '', `prv_nombre` varchar(30) NOT NULL DEFAULT '', `prv_estado` char(1) DEFAULT 'A' COMMENT 'A=ACTIVO, I=INACTIVO', PRIMARY KEY (`prv_codigo`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Data for the table `privilegios` */ insert into `privilegios`(`prv_codigo`,`prv_nombre`,`prv_estado`) values ('ADM','Administrador','A'),('SIS','Sistemas','A'); /*Table structure for table `usuarios` */ DROP TABLE IF EXISTS `usuarios`; CREATE TABLE `usuarios` ( `usu_usuario` char(20) NOT NULL DEFAULT '' COMMENT 'USUARIO DE ACCESO AL SISTEMA', `usu_clave` varchar(50) NOT NULL DEFAULT '' COMMENT 'CLAVE DE ACCESO AL SISTEMA', `usu_nombres` varchar(30) NOT NULL, `usu_apellidos` varchar(30) NOT NULL, `usu_cedula` varchar(15) DEFAULT NULL, `usu_perfil` int(11) DEFAULT NULL, `usu_genero` char(2) DEFAULT 'SO' COMMENT 'M=MASCULINO; F=FEMENINO', `usu_email` varchar(60) NOT NULL, `usu_estado` char(1) DEFAULT 'A' COMMENT 'A=ACTIVO, I=INACTIVO, S=SUSPENDIDO', PRIMARY KEY (`usu_usuario`), KEY `fk_perfil` (`usu_perfil`), CONSTRAINT `usuarios_ibfk_1` FOREIGN KEY (`usu_perfil`) REFERENCES `perfiles` (`per_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Data for the table `usuarios` */ insert into `usuarios`(`usu_usuario`,`usu_clave`,`usu_nombres`,`usu_apellidos`,`usu_cedula`,`usu_perfil`,`usu_genero`,`usu_email`,`usu_estado`) values ('dultron','5efc53f1e51f1d9ba2c18d2d68d04f0f','douglas','toral','0930168711',1,'M'
138
,'','A'),('zumbac','97d02709937f0c5c5f061ab1aa05465c','Carlos Polivio','Zumba Vásquez','0921138244',1,'','[email protected]','A'); /*Table structure for table `usuarios_contrasenaslog` */ DROP TABLE IF EXISTS `usuarios_contrasenaslog`; CREATE TABLE `usuarios_contrasenaslog` ( `ucl_id` int(11) NOT NULL AUTO_INCREMENT, `ucl_usuario` char(20) DEFAULT NULL, `ucl_contrasena` varchar(50) DEFAULT NULL, `ucl_fecha` date DEFAULT NULL, PRIMARY KEY (`ucl_id`), KEY `ucl_usuario` (`ucl_usuario`), CONSTRAINT `usuarios_contrasenaslog_ibfk_1` FOREIGN KEY (`ucl_usuario`) REFERENCES `usuarios` (`usu_usuario`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1; /*Data for the table `usuarios_contrasenaslog` */ insert into `usuarios_contrasenaslog`(`ucl_id`,`ucl_usuario`,`ucl_contrasena`,`ucl_fecha`) values (1,'zumbac','97d02709937f0c5c5f061ab1aa05465c','2015-01-09'),(2,'zumbac','97d02709937f0c5c5f061ab1aa05465c','2015-01-09'),(3,'zumbac','97d02709937f0c5c5f061ab1aa05465c','2015-01-09'),(4,'dultron','5efc53f1e51f1d9ba2c18d2d68d04f0f','2015-11-26'),(5,'dultron','5efc53f1e51f1d9ba2c18d2d68d04f0f','2015-11-26'); /*Table structure for table `usuarios_intentoslogin` */ DROP TABLE IF EXISTS `usuarios_intentoslogin`; CREATE TABLE `usuarios_intentoslogin` ( `uil_id` int(11) NOT NULL AUTO_INCREMENT, `uil_usuario` char(20) DEFAULT NULL, `uil_ip` varchar(30) DEFAULT NULL, `uil_fechahora` datetime DEFAULT NULL, PRIMARY KEY (`uil_id`), KEY `uil_usuario` (`uil_usuario`), CONSTRAINT `usuarios_intentoslogin_ibfk_1` FOREIGN KEY (`uil_usuario`) REFERENCES `usuarios` (`usu_usuario`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Data for the table `usuarios_intentoslogin` */ /*Table structure for table `usuarios_privilegios` */ DROP TABLE IF EXISTS `usuarios_privilegios`; CREATE TABLE `usuarios_privilegios` ( `usp_usuario` char(20) NOT NULL,
139
`usp_privilegio` char(3) NOT NULL DEFAULT '', PRIMARY KEY (`usp_usuario`,`usp_privilegio`), KEY `fk_privilegios` (`usp_privilegio`), CONSTRAINT `fk_privilegios` FOREIGN KEY (`usp_privilegio`) REFERENCES `privilegios` (`prv_codigo`), CONSTRAINT `fk_usuario` FOREIGN KEY (`usp_usuario`) REFERENCES `usuarios` (`usu_usuario`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Data for the table `usuarios_privilegios` */ insert into `usuarios_privilegios`(`usp_usuario`,`usp_privilegio`) values ('dultron','ADM'),('zumbac','ADM'); /* Function structure for function `fun_nombre_estado` */ /*!50003 DROP FUNCTION IF EXISTS `fun_nombre_estado` */; DELIMITER $$ /*!50003 CREATE DEFINER=`root`@`%` FUNCTION `fun_nombre_estado`(var_estado char(1)) RETURNS varchar(20) CHARSET latin1 BEGIN DECLARE var_nombre VARCHAR(20); IF(var_estado = 'A')THEN SET var_nombre = 'ACTIVO'; ELSEIF(var_estado = 'I')THEN SET var_nombre = 'INACTIVO'; ELSEIF(var_estado = 'S')THEN SET var_nombre = 'SUSPENDIDO'; ELSE SET var_nombre = 'DESCONOCIDO'; END IF; RETURN var_nombre; END */$$ DELIMITER ; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;