1 Unoeste – Universidade do Oeste Paulista FIPP – Faculdade de Informática de Presidente Prudente Iniciação Científica Título: Aplicação para Monitoramento de Estações Linux Discente: Hugo Baker Goveia Docente orientador: Francisco Assis da Silva Palavras-Chaves: Linux, Cliente/Servidor, Monitoramento de Estações. Resumo A idéia principal deste projeto de pesquisa é desenvolver um software cliente/servidor que possibilite o administrador de sistemas de uma rede local (LAN – Local Área Network) a obter informações remotamente das estações de trabalho Linux. A parte do servidor deverá ser instalada na máquina do usuário (sistema operacional Linux) e o cliente será usado pelo administrador da rede na sua máquina de gerenciamento (sistema operacional Windows). As informações que serão obtidas das estações de trabalho são: imagem da tela atual e os programas em execução pelo usuário na estação de trabalho. Além destas informações, pretende-se disponibilizar ao administrador o controle do teclado e mouse da máquina do usuário. O cliente deverá ser implementado no ambiente de programação Delphi e deverá ser instalado em um computador com sistema operacional Windows, já o servidor deverá ser implementado na linguagem C ou C++ e instalado em um computador com sistema operacional Linux. Uma vez que a máquina que estiver executando a parte cliente do software e estiver conectada com a máquina que possua a parte do servidor, o cliente poderá capturar a tela do computador servidor e ter acesso ao controle operacional do mouse e teclado. Introdução e Revisão de Literatura O avanço tecnológico na área de computação tem sido surpreendentemente rápido, quando comparado ao de outras áreas. Inicialmente, os sistemas de computadores eram altamente centralizados. Uma empresa de porte médio ou universidade possuía apenas alguns computadores trabalhando de forma isolada. Com o advento da tecnologia de redes, que permitiu que os computadores fossem interligados, surgiram novos mecanismos para administrar sistemas, dentre eles, encontra-se o gerenciamento remoto de computadores conectados na mesma rede. Este gerenciamento pode ser de algumas formas, entre elas, pode-se destacar o acompanhamento remoto do uso das estações de trabalho e até mesmo a manutenção no que diz respeito ao software (alteração na configuração, instalação e atualização de softwares, etc). Baseado nos recursos disponíveis pensou-se em um projeto de pesquisa para o desenvolvimento de um software que permita o monitoramento de estações Linux a partir de uma estação Windows. Para a concepção deste projeto, pretende-se utilizar os recursos de sockets disponíveis no Windows e no Linux. 2 Sockets são bibliotecas que permitem a uma máquina comunicar-se com outra, através de aplicações de rede. Os sockets são utilizados tanto em sistemas operacionais Unix e derivados como no Windows (conhecidos como winsocks). Os sockets também são conhecidos como sockets Application Program Interface (sockets API) e trabalham sobre os protocolos TCP e UDP. Formulação do Problema Atualmente, a Faculdade de Informática é constituída de cinco laboratórios de informática exclusivos onde são ministradas aulas práticas e onde os alunos dos cursos de Ciência da Computação, Sistemas de Informação e Tecnologia em Informática realizam os diversos trabalhos e projetos impostas pelas disciplinas dos cursos. O sistema operacional Linux está cada vez mais sendo utilizado nestes laboratórios, o que demanda da necessidade de uma maior fiscalização e monitoramento das estações. Surge então a necessidade de um mecanismo para facilitar estas atividades, com a finalidade de manter a ordem e o bom uso dos laboratórios segundo as normas regidas pela Faculdade. Justificativas Com a justificativa de facilitar as atividades do administrador da rede, propõe-se a construção de um software de monitoramento das estações Linux dos laboratórios da Faculdade de Informática. Com este software, o administrador da rede poderá obter algumas informações das estações, como: imagem da tela atual e os programas em execução pelo usuário na estação de trabalho. Pretende-se também disponibilizar um mecanismo ao administrador para que ele possa ter acesso ao teclado e mouse da estação no laboratório. Objetivos Este trabalho tem por objetivo estudar as técnicas e mecanismos de programação no ambiente de programação Delphi e a linguagem de programação C mais a fundo, principalmente no que diz respeito a como fazer para duas aplicações em rede, implementadas em linguagens diferentes se comunicarem utilizando sockets. Pode-se ressaltar que será de grande valia os conhecimentos adquiridos, ao estudar mais a fundo o sistema operacional Linux para que se possa implementar o servidor (agente) na linguagem de programação C. O ambiente de programação Delphi foi escolhido para este trabalho devido à presença de componentes para comunicação entre aplicações e suas importantes características de construção de programas para Windows. Propõe-se a construção de um sistema de monitoramento que possibilite ao administrador da rede assumir o controle do teclado e mouse de uma estação Linux, bem como poder visualizar a imagem da tela e ter acesso a uma listagem dos programas em execução. No final do trabalho, espera-se ter um estudo abrangente e relevante sobre aplicações de comunicação e controle de computadores remotos em rede utilizando sockets. Para comprovar a eficácia deste software serão realizados experimentos na própria Faculdade de Informática nos laboratórios de informática. Pretende-se submeter 3 o software desenvolvido à avaliação de alguns funcionários do setor de manutenção dos laboratórios e pessoas que tenham interesse no trabalho. Bibliografia CANTÚ, M.; MIYASAKI, E. K.; ASSUMÇÃO FILHO, M.M. Dominando o Delphi 2. São Paulo:Makron Books, 1997. COMMER, D. E..Interligação em rede com TCP/IP. 3ª edição. Rio de Janeiro:Campus, 1998. CORNELL, G.; STRAIN, T.; UNONIUS, L.G. E.; ASSUMÇÃO FILHO, M, M. Delphi:segredos e soluções. São Paulo: Makron Books, 1996. DAMACENO JÚNIOR, A. Aprendendo delphi 3.0. 1.ed. São Paulo: Editora Ética, 1997. KELLEN, V.; TODD, B.; NOVAK, R.; SAENZ, B. et al. Delphi 2 :guia do desenvolvedor. São Paulo:Makron Books, 1997. TEIXEIRA, S.; PACHECO, X.; VIEIRA, D. Delphi 5 : guia do desenvolvedor. Rio de Janeiro: Campus, 2000. NOVAES, H.S.; CAMARA, F. Delphi APIs & Sockets. 1ª Edição. Visual Books, 2000. THOMAS, R. M. Introdução às Redes Locais. São Paulo:Makron Books, 1997. TOBLER, M. J.; FURMANKIEWICZ, E.; FIGUEIREDO, J. Desvendando Linux. Rio de Janeiro: Campus, 2001. WELSH, M.; KAUFMAN, L.; MACHADO, E. V.; MARQUES, P. ANDRÉ P. Dominando o linux. Rio de Janeiro: Ciência moderna, 1997. DANESH, A.; TORTELLO, J. E. N.; ASSUMPÇÃO FILHO, M. M. DE. Dominando o linux : a bíblia. São Paulo: Makron Books, 1999. BALL, B.; PITTS, D.; BENTES, A. DA G., ; RÜDIGER, D., ; MARQUES, P. A. P. Dominando Red Hat Linux 7. Rio de Janeiro: Ciência moderna, 2002. NORTON, P.; GRIFFITH, A.; FACCHIM, S. Guia completo do LINUX. 2.ed. São Paulo: Berkeley, 2002. SIEVER, E.; FURMANKIEWICZ, E.; FIGUEIREDO, J.; O'REILLY E ASSOCIATES. LINUX : o guia essencial. Rio de Janeiro: Campus, 2000.