23.7.18

O que é troubleshooting em TI?

                Desconectar todos os cabos, reiniciar o computador e o provedor da Internet para que a conexão de sua rede seja reestabelecida. Reconectar as redes Wi-Fi e 3G do seu celular porque o sistema travou ou parou de funcionar. Quem nunca passou situações como essas?

                No campo profissional, imagine chegar em sua empresa e constatar que algum serviço não está funcionando. Isso, com certeza, provocaria um grande problema em todas as áreas do negócio, não é mesmo?

                Estes são apenas alguns exemplos de situações indesejadas que enfrentamos em nosso cotidiano, seja em nossa casa ou na empresa onde trabalhamos. É para isso que o Troubleshooting de TI existe. Esse procedimento de “nome complicado” nada mais é do que um processo para diagnosticar, analisar e solucionar problemas técnicos como os exemplos citados acima, identificando a causa raiz.

                O Troubleshooting é causado pela falha de algum tipo de processo. Seguindo um passo a passo, uma ordem ou um fluxograma os problemas de Troubleshooting podem ser solucionados. Na maioria das vezes, nessa solução é utilizado o processo de eliminação para então, determinar o possível problema. Para as falhas mais críticas, é importante levar em consideração que essa lista de procedimentos pode ser bem maior que apenas reiniciar o sistema ou o computador e para isso será necessário à contratação de um especialista.

                Recentemente um usuário reclamou que a câmera de seu IPHONE não estava funcionando. Foi aí, que a perguntei o que havia feito para troubleshooting. O usuário tomou um susto e só faltou perguntar quem era essa tal de Troubleshooting (ok, usuários não são familiarizados com termos técnicos). Expliquei que era para ele tentar passos básicos para resolução de problemas, como reiniciar o aparelho.

                Fiquei surpreso, porque ele nunca havia reiniciado o Iphone, e também ficou surpreso, pois, após reiniciá-lo, a câmera voltou a funcionar e o aparelho ficou até mais rápido.

                Podemos traduzir a palavra como “solução de problemas”. Mas geralmente mantemos o termo em inglês, assim como diversos outros termos em TI.

                É muito raro encontrarmos um consultor no mercado especializado nessa área, muitas vezes, quando enfrentamos um problema grave em nossa rede de computadores ou sistemas recorremos para analistas sêniors ou especialistas.

                Mesmo assim, nem sempre dispomos dessas pessoas em nossas estruturas e quando as temos, com certeza elas te perguntarão o que já fez para tentar solucionar o problema.

                Segue abaixo uma pequena lista de tarefas que pode te ajudar na resolução da maioria dos problemas de infraestrutura em sistemas windows. Quando não ajudarem, pelo menos, te darão informações suficientes para escalar o problema para outro analista.

                Verificar se o aplicativo está travado em gerenciador de tarefas (atalho CTRN + Shift + ESC - primeira aba, se o atalho não funcionar, clique com o botão direito na barra do Windows e localize o recurso). Caso esteja, force o encerramento dele. Caso não consiga fechar o programa pela aba de aplicativos, clique com o botão direito no aplicativo que está rodando, vá até a última opção “ir para processo”, em processos clique para finalizar o processo.

         


                Verificar os serviços do Windows usando comando services.msc


                Sugiro classificar os serviços por “modo de inicialização” e verificar se todos os serviços que estão configurados para iniciar automaticamente estão rodando. Caso não estejam verifique o motivo.



                Geralmente é problema de dependência de outro serviço, usuário inválido ou arquivo de configuração corrompido.

                Verificar uso de CPU, RAM, REDE e IOPS em gerenciado de tarefas. Muitas pessoas estão acostumadas a verificar somente os 3 primeiros (quarta e quinta aba), porém IOps (Input e Output) de disco pode ser o gargalo para problemas em sua máquina. Esse monitoramento está disponível na opção monitoramento de atividades na aba de desempenho.

                Agora não faça mais nada. Se sua máquina tiver dados críticos sugiro fazer backup completo, antes de qualquer outra intervenção.

                Reiniciar a máquina. Agora sim. Muitas pessoas fazer isso antes de qualquer coisa, mas não vale a pena, pois você pode perder a oportunidade de checar a causa raiz do problema.

                Comando msconfig na barra de run. Desde Windows XP esse comando ajuda muito para saber programas\serviços que o sistema starta logo na inicialização (quarta aba). É sempre útil verificar se existe algum programa suspeito ou mesmo inútil iniciando o Windows. Ajustes neste local podem melhorar o desempenho da máquina somente fazendo uma limpeza nessa lista.

                Métodos de Comparação = Comparar configuração da máquina parada com uma em produção

                Antivírus muitas vezes ao invés de ajudar atrapalha. Mantenha sempre atualizado, customizado segundo sua necessidade e nunca tenha mais de um rodando na máquina.

                Remover e fazer testes pode ajudar a encontrar o problema da máquina. Nunca fique sem um antivírus.

                Firewall do Windows. Se estiver usando um bom Anti Virus, não vai precisar do firewall do Windows.

                Políticas do Windows – Todo Windows tem políticas de segurança definidas por padrão. Verifique elas usando comando RSOP ou visualizando suas políticas locais. Se sua máquina estiver em um domínio, teste tirar ela para verificar se o problema persiste.

                Elimine problemas de infraestrutura. Teste sua máquina fora da sua rede atual usando modem 3 ou 4g.

                Resetar Internet do internet explore, em painel de controle, opções de internet, aba avançado, reset também pode resolver problemas de navegação.

                Se o problema persistir, teste usando outro browser de internet, como Google Chrome ou FireFox.

                Tente com outro cabo de rede de uma máquina que esteja funcionando ou mesmo acesso wireless.

                Verificar espaço disponível em disco. Unidades C, D…etc.

                Ainda estamos longe de fazer todos os testes. Seu problema pode ser de um componente de hardware com problema e precisaria de um pequeno laboratório para fazer esses teste. Porém se se atentar as pequenas dicas acima já vai deixar de ser um iniciante.

                Já tratamos de otimização no tópico https://lookinfo.blogspot.com/2013/06/otimizando-desempenho-do-windows.html confiram!!!


                Sete comandos para realizar troubleshooting de redes

                PING

                O PING é um comando que é utilizado para descobrirmos se uma placa de rede está respondendo ou não, ou seja, se um computador está ligado ou não. Muitos profissionais da área (até mesmo experientes) acreditam que o PING é uma ferramenta de teste que realiza testes de conectividade, o que na realidade não é, o PING é uma ferramenta de testes de rede. Quando se deseja realizar testes de conexão devemos utilizar outra ferramenta como o TELNET e o NETSTAT.

                O PING se limita a camada de rede do modelo OSI e caso no firewall do host de destino existe uma regra que bloqueie o sinal do PING o teste não será realizado.

                Utilizando o PING você também realizar consultas de nome a um servidor DNS da sua organização com a seguinte sintaxe:

                PING – a IP_DO_COMPUTADOR_REMOTO

                Exemplo:

                Sintaxe de utilização do comando ping -a


                TRACERT/PATHPING

                O TRACERT e o PATHPING nada mais são do que versões mais robustas do PING, com o seu uso voltado para a resolução de problemas de roteamento, como quando você não consegue acessar um recurso em outra filial da empresa ou até mesmo a internet.

                Ambos os comandos enviam pacotes para cada nó de rede no caminho da origem e destino o que nos permite visualizar em qual é o último roteador dessa rota está com problema. Além da utilização para resolução de problemas de roteamento os comandos TRACERT e             PATHPING nos permitem conhecer a rota que os pacotes dentro da nossa rede tomam entre a origem e o destino, o que nos auxilia na construção da documentação da rede caso não existe.

                Como nos exemplos abaixo:

                PATHPING



                Sintaxe de utilização do pathping

                TRACERT



                Sintaxe do comando tracert

                PATHPING x TRACERT

                A diferença básica entre o PATHPING e o TRACERT é que o PATHPING ao término das suas requisições ele monta uma estatística sobre o percurso percorrido, já o TRACERT não tem nenhuma informação adicional.




                NSLOOKUP

                O NSLOOKUP é uma ferramenta utilizada para resolução de problemas associados a DNS (sistema de resolução de nomes). O NSLOOKUP realiza consultas a/aos servidores de nomes da sua rede e retorna todos os IPs dos registros do tipo A ou AAAA (IPv6) associados aquele nome. E os registros de CNAME (Alias).



Sintaxe nslookup




Sintaxe nslookup Wikipedia, exemplo do uso do alias

                DIG

                O comando DIG é um comando Linux e que pode ser instalado no Windows que possui a mesma função do NSLOOKUP e é muito simples de se obter as informações sobre os registros DNS de um determinado endereço.




Uso do comando dig para verificação de registros MX




Uso do dig para registros do tipo A ou AAAA




Comando dig demonstrando um site com registro do tipo CNAME (alias)

                A força do DIG está no seu modelo de relatório que é muito mais detalhado do que o do NSLOOKUP como você pode ver nas imagens anteriores.

                Para utilizar o DIG no Windows é necessário ter o BIND instalado, esse pode ser baixado em http://www.isc.org/software/bindnão é necessário instalar o serviço de DNS do DIG no computador apenas os utilitários.

                Agora os comandos que eu considero os mais importantes para serem utilizados no dia a dia são o TELNET e o NETSTAT

                Inicialmente vamos falar do TELNET. O TELNET é um protocolo de rede que trabalha na Camada 7 do modelo OSI (que é a camada de aplicação), além disso ele também é um programa, que nos dias de hoje ele é usado basicamente para a realização de testes de conectividade. Esses testes indicam se um serviço de rede (FTP, DNS, HTTP e outros) estão em funcionamento ou não.

                O seu uso é muito simples: TELNET ip_do_destino PORTA

As saídas possíveis são:



telnet 445 fechado

                Como na porta 445 não há uma aplicação que suporte o TELNET para utilização a tela fica preta, isso quer dizer que a conexão foi realizada com sucesso. Ela também poderá apresentar algum conteúdo e isso quem irá determinar é a aplicação em que estamos realizando o teste.




telnet 23 falha

                Já a imagem anterior demonstra uma conexão sem sucesso na porta 23. E isso se deve a alguns fatores que são:

                1 – O pacote não chegou ao destino

                Nesse caso o TRACERT ou PATHPING ajudarão a descobrir isso porque eles verificam todos os roteadores do caminho entre a origem e o destino. Caso o TRACERT e o PATHPING não apresentarem falhas poderá existir algum tipo de bloqueio de firewall para o protocolo ICMP Echo Request que é o protocolo utilizado pelo PING

                2 – Caso você esteja utilizando o nome do servidor no lugar do IP, podemos estar enfrentando um problema na resolução de nomes onde o NSLOOKUP ou DIG poderão nos ajudar

                3 – Existe uma aplicação que realize a escuta nessa porta, porém não há liberação no firewall para essa aplicação. Nesse caso já é a hora de utilizarmos o NETSTAT para sabermos qual status da conexão.

                NETSTAT

                Normalmente o NETSTAT é utilizado em conjunto com outro aplicativo, que normalmente é o TELNET. A funcionalidade do NETSTAT é a de listar todas as conexões de rede e listar os seus status que podem ser:

Status de conexão TCP/UDP
Descrição
LISTEN
Aguardando uma requisição de conexão de um computador remoto
SYN-SENT
O status indica que o computador local está esperando pelo sinal de ACK (acknowledgment) a partir do computador remoto. Quando uma conexão não sai do status SYN-SENT isso indica três pontos: 1 – Bloqueio de firewall; 2 – A aplicação não está respondendo naquela porta; 3 – O serviço não está sendo executado. O ponto mais comum é o ponto número 1 onde existe um bloqueio de firewall
SYN-RECEIVED
O host remoto recebeu a solicitação de conexão e envia um sinal de ACK (acknowledgment) para o host que solicitou a conexão. E o host remoto está aguardando o último sinal de ACK para estabelecer a conexão.
ESTABLISHED
É o estado em que a conexão se encontra quando há tráfego de dados entre os dois pontos de rede
FIN-WAIT-1
Aguardando por um sinal de ACK para finalizar a conexão, esse estado normalmente tem curta duração de tempo.
FIN-WAIT-2
Aguardando por uma requisição de encerramento de conexão com o host remoto, assim como o FIN-WAIT-1 o FIN-WAIT-2 tem pouco tempo de duração. Muitos estados de FIN-WAIT-2 é um indicador de erro na aplicação remota
CLOSE-WAIT
O computador recebeu uma requisição para encerrar a conexão e está aguardando por um sinal FIN-WAIT para encerrar a conexão
CLOSING
Estado que indica que a conexão está sendo finalizada
LAST-ACK
Esse estado existe apenas quando o host recebe o sinal de finalização de conexão antes de receber a solicitação para encerrar a conexão.
TIME-WAIT
Aguardando para a confirmação do recebimento do sinal de ACK
CLOSED
Não existem conexões


                Utilização:

                A sintax do NETSTAT é extremamente simples, como visto na linha abaixo

                Sintax: NETSTAT



netstat

                Como podemos ver o comando sem a utilização de parâmetros nos atende para descoberta de portas bloqueados em firewall ou não. Porém o comando ainda pode ser melhorado com a utilização da opção -n. A opção -n faz com que o comando ignore a resolução de nomes e exiba apenas os endereços IP’s do destino e origem, o que em muitos casos facilita a visualização.


netstat-n

                Quando o netstsat é utilizado no Windows temos a opção -b. Essa opção faz com que o NETSTAT exiba o nome dos executáveis que iniciaram a conexão. Quando um executável inicia diversos outros aplicativos (como por exemplo SVCHOST) as aplicações filho serão exibidas entre colchetes []. Para a opção -b funcionar é necessário abrir o prompt de comando como administrador.

                Sintax: NETSTAT -b



netstat-b



Um comentário:

Anônimo disse...

caramba copiou legal esse texto aqui (https://www.tiespecialistas.com.br/troubleshooting-para-iniciantes/) hein. E ainda adaptou mal, que horrível