Conecte-se conosco

Linux Windows

Linux: Comando Traceroute

Caio Lucas

Publicado

em

O traceroute é uma excelente ferramenta para rastrear as rotas que faz um pacote até que chegue em um destino.

A ferramenta traceroute tenta rastrear a rota que um pacote IP seguiria para algum host da Internet, iniciando pacotes de análise com um pequeno ttl (tempo de vida) e, em seguida, ouvindo uma resposta de “tempo excedido” do ICMP de um gateway. 

Ele inicia suas análises com um ttl de um e aumenta isso em um até obter uma “porta inacessível” (ou redefinição de TCP ) do ICMP , o que significa que chegamos ao “host” ou atingimos um máximo (o padrão é 30 saltos)) Três sondas (por padrão) são enviadas em cada configuração ttl e uma linha é impressa mostrando o ttl, o endereço do gateway e o tempo de ida e volta de cada sonda. 

O endereço pode ser seguido por informações adicionais quando solicitado. Se as respostas da sonda vierem de diferentes gateways, o endereço de cada sistema respondente será impresso. Se não houver resposta dentro de 5,0 segundos (padrão), um ” * ” (asterisco) será impresso para essa sonda.

Devido ao uso generalizado de firewalls muitas das vezes no ambiente de rede moderno que temos , os métodos tradicionais do proprio traceroute nem sempre são aplicáveis.

Esses firewalls filtram as portas UDP “improváveis” ou mesmo ecos de ICMP. Para resolver isso, alguns métodos adicionais de rastreamento são implementados (incluindo o tcp); Esses métodos tentam usar um protocolo específico e uma porta de origem / destino, para ignorar os firewalls (para serem vistos pelos firewalls apenas como um início do tipo permitido de uma sessão de rede).

A Sintaxe do Comando

Opções do Comando

–SocorroExiba uma mensagem de ajuda e saia.
-4 , -6Forçar explicitamente o rastreamento IPv4 ou IPv6 . Por padrão, o programa tentará resolver o nome fornecido e escolherá o protocolo apropriado automaticamente. Se a resolução de um nome de host retornar endereços IPv4 e IPv6, o traceroute usará o IPv4.
-EUUse o ICMP ECHO para análises.
-TUse TCP SYN para análises.
-dHabilite a depuração no nível do soquete (se o kernel suportar).
-FNão fragmente pacotes de análise. (Para o IPv4, também define o bit DF, que informa aos roteadores intermediários que não devem se fragmentar remotamente também).Variando o tamanho do pacote de análise pelo parâmetro da linha de comando packet_len , você pode obter manualmente informações sobre o MTU de saltos de rede individuais. A opção –mtu (veja abaixo) tenta fazer isso automaticamente.Observe que os recursos não fragmentados (como -F ou –mtu ) funcionam corretamente desde o kernel Linux 2.6.22 apenas. Antes dessa versão, o IPv6 era sempre fragmentado, o IPv4 podia usar apenas o mtu final descoberto (a partir do cache de rota ), que pode ser menor que o mtu real de um dispositivo.
-f first_ttlEspecifica com qual TTL iniciar. O padrão é 1.
-g gatewayDiz ao rastreador para adicionar uma opção de roteamento de origem IP ao pacote de saída que informa à rede para rotear o pacote através do gateway especificado (a maioria dos roteadores desativou o roteamento de origem por motivos de segurança). Em geral, a especificação de vários gateways é permitida (como uma lista separada por vírgula). Para IPv6, a forma de num addr addr … é permitida, onde num é um tipo de cabeçalho de rota (o padrão é o tipo 2). (Nota: o cabeçalho da rota do tipo 0 agora está obsoleto, de acordo com a rfc 5095).
interface -iEspecifica a interface através da qual o traceroute deve enviar pacotes. Por padrão, a interface é selecionada de acordo com a tabela de roteamento.
-m max_ttlEspecifica o número máximo de saltos (valor máximo de tempo de vida útil) que o traceroute analisará. O padrão é 30.
-N squeriesEspecifica o número de pacotes de análise enviados simultaneamente. O envio simultâneo de várias sondas pode acelerar consideravelmente o traceroute . O valor padrão é 16 . Observe que alguns roteadores e hosts podem usar a otimização da taxa ICMP. Em tal situação, especificar um número muito grande pode levar à perda de algumas respostas.
-nNão tente mapear endereços IP para nomes de host ao exibi-los.
porta -pPara o rastreamento UDP, especifica o traceroute da porta de destino que será usado (o número da porta de destino será incrementado por cada análise). Para rastreamento de ICMP, especifica o valor inicial da sequência de ICMP (incrementado por cada análise também). Para TCP e outros, especifica apenas a porta de destino (constante) a ser conectada. Ao usar o wrapper tcptraceroute , -p especifica a porta de origem.
-t tosPara IPv4, defina o valor do Tipo de serviço (TOS) e Precedência. Os valores úteis são 16 (baixo atraso) e 8 (alto rendimento). Observe que, para usar alguns valores de precedência do TOS, você precisa ser superusuário . Para IPv6, defina o valor do Controle de Tráfego.
-l flow_labelUse o flow_label especificado para pacotes IPv6.
-w waittimeDefina o tempo (em segundos) para aguardar uma resposta a uma análise (o padrão é 5.0 ).
-q nqueriesDefine o número de pacotes de análise por salto. O padrão é 3 .
-rIgnore as tabelas de roteamento normais e envie diretamente para um host em uma rede conectada. Se o host não estiver em uma rede conectada diretamente, um erro será retornado. Esta opção pode ser usada para executar ping em um host local por meio de uma interface que não possui rota.
-s source_addrEscolhe um endereço de origem alternativo. Observe que você deve selecionar o endereço de uma das interfaces. Por padrão, o endereço da interface de saída é usado.
-z sendwaitIntervalo de tempo mínimo entre análises (padrão 0). Se o valor for maior que 10, ele especificará um número em milissegundos , caso contrário, será um número de segundos ( valores de ponto flutuante também são permitidos). Útil quando alguns roteadores usam limite de taxa para mensagens ICMP.
-eMostrar extensões ICMP. A forma geral é CLASS / TYPE: seguida por um dump hexadecimal . Os dados MPLS (Multiprotocol Label Switching) são mostrados analisados , em uma forma: MPLS: L = rótulo , E = exp_use , S = stack_bottom , T = TTL (com quaisquer outros objetos separados por uma barra (” / “)).
-UMAExecute pesquisas de caminho AS nos registros de roteamento e imprima os resultados diretamente após os endereços correspondentes.
-VImprima as informações da versão e saia.

As seguintes opções destinam-se a um uso avançado (outros métodos de rastreamento, etc.):

–sport = portaEscolhe a porta de origem a ser usada. Implica -N 1 . Normalmente, as portas de origem (se aplicável) são escolhidas pelo sistema.
–fwmark = marcaDefina a marca de firewall para pacotes de saída (desde o kernel do Linux 2.6.25).
Método -MUse o método especificado para operações de traceroute. O método udp tradicional padrão é chamado padrão , e icmp ( -I ) e tcp ( -T ) têm os nomes icmp e tcp , respectivamente. Opções específicas do método podem ser passadas por -O . A maioria dos métodos possui atalhos simples ( -I significa -M icmp , etc).
-O opçãoEspecifica alguma opção específica do método. Várias opções são separadas por vírgula (ou use várias especificações -O na linha de comando). Cada método pode ter suas próprias opções específicas, ou muitos nem sequer as têm. Para imprimir informações sobre as opções disponíveis, use -O ajuda.
-VOCÊUse o UDP para uma porta de destino específica para rastreamento de rastreamento (em vez de aumentar a porta por cada análise). A porta padrão é 53 (dns).
-ULUse UDPLITE para rastreamento (a porta padrão é 53).
-DUse Solicitações DCCP para análises.
Protocolo -PUse pacote bruto do protocolo especificado para rastreamento. O protocolo padrão é 253 , conforme rfc3692.
–mtuDescubra o MTU ao longo do caminho que está sendo rastreado. Implica -F -N 1 . O novo mtu é impresso uma vez na forma de F = NUM na primeira sonda de um salto que exige que o mtu seja alcançado. (Na verdade, a mensagem icmp correspondente “frag needed” normalmente é enviada pelo salto anterior).Observe que alguns roteadores podem armazenar em cache uma vez as informações vistas em uma fragmentação. Assim, você pode receber o mtu final de um salto mais próximo. Tente especificar um número incomum de to -t , isso pode ajudar em uma tentativa (então também pode ser armazenado em cache lá). Veja a opção -F para mais informações.
–de voltaImprima o número de saltos para trás quando parecer diferente com a direção para frente. Esse número é calculado na suposição de que os saltos remotos enviam pacotes de resposta com ttl inicial definido como 64 , 128 ou 255 (o que é uma prática comum). É impresso como um valor negativo na forma de ‘ – NUM ‘.

Para agilizar , normalmente várias sondas são enviadas simultaneamente. A desvantagem disso é que isso cria uma “tempestade de pacotes” na rede loacal e até a de destino, especialmente na direção da resposta. Os roteadores podem limitar a taxa de respostas icmp, e algumas respostas podem ser perdidas. Para evitar isso, diminua o número de análises simultâneas ou defina-o como 1 (como na implementação inicial do traceroute ), ou seja, -N 1

O host final (alvo) pode eliminar algumas das análises simultâneas e pode até responder apenas as mais recentes. Isso pode levar a lúpulos extras “parecidos com expirados” perto do salto final. O traceroute usa um algoritmo inteligente para detectar automaticamente essa situação, mas se não puder ajudar no seu caso, basta usar -N 1 .

Para uma estabilidade ainda maior, você pode retardar o trabalho do programa com a opção -z . Por exemplo, use -z 0,5 para uma pausa de meio segundo entre as análises.

Se alguns saltos não reportarem nada para todos os métodos, a última chance de obter algo é usar o comando ping com a opção -R (IPv4 e apenas para os 8 saltos mais próximos).

Exemplos Práticos

Vamos rastrear uma rota e gerar uma sequência de saltos a té esse destino, o destino então será o clubedarede.com.

netstat – Imprime informações sobre conexões de rede, tabelas de roteamento, estatísticas de interface, conexões mascaradas e associações multicast.
ping – Envia pacotes do tipo ICMP ECHO_REQUEST a um determinado host na rede local ou fora dela.

Gostou? Curte e compartilha com geral!

Continue lendo

Linux

SSH no Ubuntu – Instalação e Configuração

O SSH é um protocolo de rede criptográfico para a operação de serviços de rede de maneira segura sobre qualquer rede insegura.

Caio Lucas

Publicado

em

O Secure Shell (SSH) , fornece para você um canal de acesso seguro sobre uma rede insegura em um tipo de arquitetura chamada Cliente-Servidor.

Este tutorial tem por objetivo ensinar como realizar as configurações básicas de um servidor SSH.

Porém, antes de começarmos a configurar o SSH no Ubuntu precisamos compreender o que ele é e para o que ele serve, pois só assim conseguiremos saber como realmente aplicá-lo para atender de maneira mais eficiente suas necessidades administrativas dentro da sua rede.

O SSH trabalha em uma arquitetura chamada de Cliente-Servidor,por isso ela permite que de qualquer lugar da rede, você estando em uma máquina com Linux ou Windows, consiga se comunicar com o servidor a fim de realizar rotinas administrativas como se estivesse diante do próprio servidor.

Ele permite que de qualquer lugar da rede, você estando em uma máquina com Linux ou Windows, consiga comunicar-se com o servidor a fim de realizar rotinas administrativas como se estivesse diante do próprio servidor.

Obs: Se de uma maquina com windows você quiser acessar o Linux , você precisará de um programa chamado Putty , ele é um cliente de acesso remoto gratuito para todas as plataformas e você pode estar baixando direto do site oficial:

https://www.putty.org/

Instalação

sudo apt install openssh-server

Antes de tudo, vamos verificar se o SSH já está funcionando ou não, para isso vamos consultar o status com o comando abaixo:

sudo service ssh status

Como mostra , após a minha verificação me consta o serviço como ativo

Pressione a tecla q de quit para sair dessa tela

Liberando as portas SSH no Firewall UFW do Ubuntu

a próxima etapa agora é fazer a liberaração da porta do SSH no Ubuntu.

Execute o comando abaixo para que a liberação ocorra:

sudo ufw allow ssh

Hora de configurar o SSH

Por padrão você já está com o serviço do SSH ativo, mas se por algum motivo você queira alterar as configurações padrão, isso é possível. Porém, saiba o que está fazendo. Para alterar as configurações do SSH execute o comando abaixo, utilizando o editor de sua preferência:

sudo nano/etc/ssh/sshd_config

Essa é a tela onde você vai conseguir configurar o SSH do jeito que você quiser:

E após fazer essas alterações é necessário reiniciar o serviço para que as alterações entrem em vigor. Para isso, execute o comando abaixo:

sudo service ssh restart

Acesso ao Ubuntu via Cliente SSH

A sintaxe do SSH é muito simples, e você pode executar ela direto do seu Cliente SSH de escolha:

ssh usuario@ip-alvo

Você precisará inserir o nome do usuário e o IP remoto, ou seja, da máquina que você quer acessar. É importante ter o SSH instalado e ativado na outra máquina, ou não vai funcionar.

Por padrão a porta do SSH é a 22, mas algumas pessoas alteram a porta e neste caso é preciso informar a porta correta ou não vai funcionar.

A sintaxe do SSH informando a porta destino é:

ssh usuario@ip-alvo -p numerodaporta

Continue lendo

Infraestrutura

VPN: IPSec Mikrotik

Imagina que para atravessar de um canto a outro de uma cidade ou país , você tivesse a opção de driblar os engarrafamentos, trânsitos, sinais, ou paradas obrigatórias , estando em posse de algo que levaria você até o destino desejado eliminando lentidões no tráfego e aumentando a velocidade de ir e vir?

Caio Lucas

Publicado

em

Rede virtual privada (Virtual Private Network). VPN é uma conexão estabelecida sobre uma infraestrutura pública ou compartilhada, usando tecnologias de tunelamento e criptografia para manter seguros os dados trafegados.

VPNs seguras usam protocolos de criptografia por tunelamento que fornecem a confiabilidade, autenticação e integridade necessárias para garantir a privacidade das comunicações requeridas pelo usuário.

Protocolos de criptografia

Alguns desses protocolos que são normalmente aplicados em uma VPN são: L2TP, L2F, PPTP e o IPSec.

Quando adequadamente implantados , estes protocolos podem assegurar comunicações seguras através de redes inseguras.

Deve ser notado que a escolha, implantação e uso desses protocolos não é algo trivial, e várias soluções de VPN inseguras são distribuídas no mercado.

Por essa razão, adverte-se aos usuários para que investiguem com cuidado os produtos que fornecem VPNs.

Funcionamento da VPN

Quando uma rede quer enviar dados para a outra rede através da VPN, um protocolo por exemplo, IPSec, faz o encapsulamento do quadro normal com o cabeçalho atribuído ao Roteador, um cabeçalho do tipo AH, que é o cabeçalho de autenticação e o cabeçalho ESP, que é o cabeçalho que provê integridade, autenticação e criptografia à área de dados do pacote.

Quando esses dados encapsulados chegarem á outra extremidade, é feito o desencapsulamento do IPSec e os dados são encaminhados ao referido destino da rede local.

Continue lendo

EM ALTA