===== Nível Básico ===== === 1. Verificação de Conectividade === * **ping** - Testa a conectividade com um endereço IP ou domínio. - Exemplo de uso: ping google.com - Descrição: Envia pacotes ICMP para ''google.com'' e exibe o tempo de resposta, verificando se o host está acessível. * **ping -c** - Limita o número de pacotes ICMP enviados. - Exemplo de uso: ping -c 4 google.com - Descrição: Envia 4 pacotes ICMP para ''google.com'' e exibe o resultado, ideal para testes rápidos de conectividade. === 2. Exibição de Configuração de Rede === * **ifconfig** - Exibe informações sobre interfaces de rede (versões mais antigas de Linux). - Exemplo de uso: ifconfig - Descrição: Exibe as configurações de rede de todas as interfaces, incluindo endereços IP, máscara de rede e status da interface. * **ip addr** - Exibe informações detalhadas das interfaces de rede (versões mais recentes). - Exemplo de uso: ip addr - Descrição: Mostra as configurações de rede das interfaces disponíveis no sistema, como endereço IP e status das interfaces. === 3. Resolução de DNS === * **nslookup** - Faz consultas de DNS para resolver um nome de domínio em IP. - Exemplo de uso: nslookup google.com - Descrição: Consulta servidores DNS para obter o endereço IP associado ao domínio ''google.com''. * **dig** - Ferramenta avançada para consultas de DNS. - Exemplo de uso: dig google.com - Descrição: Realiza uma consulta DNS detalhada para o domínio ''google.com'', exibindo informações sobre o servidor DNS, o tempo de resposta e o IP. === 4. Exibição de Rotas de Rede === * **route** - Mostra a tabela de rotas do sistema. - Exemplo de uso: route -n - Descrição: Exibe a tabela de roteamento de IPs com informações sobre gateways e sub-redes. A opção ''-n'' mostra os endereços IP em formato numérico. * **ip route** - Exibe as rotas de rede configuradas no sistema. - Exemplo de uso: ip route - Descrição: Exibe a tabela de roteamento de forma mais detalhada em sistemas modernos. ===== Nível Intermediário ===== === 1. Configuração de Interfaces de Rede === * **ip link set** - Ativa ou desativa interfaces de rede. - Exemplo de uso: sudo ip link set eth0 up - Descrição: Ativa a interface de rede ''eth0'', permitindo a comunicação de rede. * **ip addr add** - Atribui um endereço IP a uma interface. - Exemplo de uso: sudo ip addr add 192.168.1.10/24 dev eth0 - Descrição: Atribui o endereço IP ''192.168.1.10'' com a máscara de sub-rede ''/24'' (255.255.255.0) à interface ''eth0''. * **dhclient** - Solicita um endereço IP via DHCP. - Exemplo de uso: sudo dhclient eth0 - Descrição: Solicita um endereço IP de um servidor DHCP para a interface ''eth0'', configurando automaticamente a rede. === 2. Diagnóstico e Solução de Problemas de Rede === * **traceroute** - Exibe o caminho que os pacotes percorrem até um destino. - Exemplo de uso: traceroute google.com - Descrição: Mostra o caminho (hops) que os pacotes percorrem até o domínio ''google.com'', útil para identificar problemas de roteamento ou latência. * **mtr** - Combinação de ping e traceroute com atualização contínua. - Exemplo de uso: mtr google.com - Descrição: Exibe uma combinação de ping e traceroute em tempo real, permitindo visualizar latência e perda de pacotes em cada hop até o destino. * **netstat** - Exibe conexões de rede e portas abertas. - Exemplo de uso: netstat -tuln - Descrição: Exibe todas as portas TCP/UDP abertas no sistema e suas conexões ativas. A opção ''-tuln'' mostra a saída em formato numérico, útil para depuração de rede. === 3. Teste de Transferência de Dados === * **nc (netcat)** - Ferramenta básica para envio e recebimento de dados via rede. - Exemplo de uso: nc -l 1234 - Descrição: Inicia um servidor TCP simples que escuta na porta 1234, permitindo que qualquer cliente se conecte e envie dados. * **iperf** - Mede a largura de banda da conexão entre dois hosts. - Exemplo de uso: iperf -s (Servidor) e iperf -c 192.168.1.1 (Cliente) - Descrição: O comando ''iperf -s'' inicia o servidor de teste de largura de banda, enquanto ''iperf -c'' testa a largura de banda entre o cliente e o servidor. === 4. Firewall com `ufw` === * **ufw status** - Exibe o status atual do firewall. - Exemplo de uso: sudo ufw status - Descrição: Exibe o status do firewall ''ufw'', incluindo regras ativas e o estado (habilitado ou desabilitado). * **ufw allow** - Permite o tráfego de uma porta específica. - Exemplo de uso: sudo ufw allow 22/tcp - Descrição: Permite o tráfego de entrada na porta 22 via protocolo TCP, normalmente usado para SSH. * **ufw deny** - Bloqueia o tráfego de uma porta específica. - Exemplo de uso: sudo ufw deny 80/tcp - Descrição: Bloqueia o tráfego de entrada na porta 80 via protocolo TCP, normalmente usado para servidores HTTP. ===== Nível Avançado ===== === 1. Análise de Pacotes com `tcpdump` === * **tcpdump** - Captura pacotes de rede em uma interface. - Exemplo de uso: sudo tcpdump -i eth0 - Descrição: Captura e exibe os pacotes que estão passando pela interface de rede ''eth0'', útil para análise e depuração de problemas de rede. * **tcpdump -w** - Salva pacotes capturados em um arquivo. - Exemplo de uso: sudo tcpdump -i eth0 -w captura.pcap - Descrição: Captura os pacotes da interface ''eth0'' e os salva no arquivo ''captura.pcap'' para análise posterior com ferramentas como Wireshark. * **tcpdump port** - Filtra pacotes por porta. - Exemplo de uso: sudo tcpdump -i eth0 port 80 - Descrição: Captura apenas os pacotes que trafegam pela porta 80 na interface ''eth0'', útil para análise de tráfego HTTP. === 2. Tunelamento Seguro com `ssh` === * **ssh -L** - Cria um túnel local para encaminhar portas via SSH. - Exemplo de uso: ssh -L 8080:localhost:80 usuario@servidor_remoto - Descrição: Cria um túnel local na porta 8080 que redireciona o tráfego para a porta 80 do servidor remoto, permitindo acessar serviços remotos como se fossem locais. * **ssh -D** - Cria um proxy SOCKS via SSH. - Exemplo de uso: ssh -D 1080 usuario@servidor_remoto - Descrição: Estabelece um proxy SOCKS na porta 1080, permitindo redirecionar o tráfego da rede através do servidor remoto via SSH, útil para navegação segura. === 3. Controle Avançado de Firewall com `iptables` === * **iptables -L** - Lista todas as regras do firewall. - Exemplo de uso: sudo iptables -L - Descrição: Exibe todas as regras de firewall configuradas no ''iptables'', incluindo regras de entrada (INPUT), saída (OUTPUT) e encaminhamento (FORWARD). * **iptables -A** - Adiciona uma nova regra ao firewall. - Exemplo de uso: sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT - Descrição: Adiciona uma regra permitindo tráfego TCP na porta 22 (SSH) na tabela de entrada (INPUT). * **iptables -D** - Remove uma regra específica do firewall. - Exemplo de uso: sudo iptables -D INPUT 1 - Descrição: Remove a primeira regra da cadeia de entrada (INPUT) no ''iptables'', permitindo o ajuste fino das regras de firewall. === 4. Redirecionamento de Pacotes com `iptables` === * **iptables -t nat -A PREROUTING** - Redireciona tráfego de uma porta. - Exemplo de uso: sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80 - Descrição: Redireciona o tráfego da porta 8080 para a porta 80, útil para servidores que precisam redirecionar conexões HTTP. * **iptables -t nat -A POSTROUTING** - Habilita masquerading para compartilhamento de internet. - Exemplo de uso: sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE - Descrição: Configura masquerading na interface ''eth0'', permitindo que uma rede local compartilhe a conexão de internet. === 5. Configuração de VPN com `openvpn` === * **openvpn --config** - Inicia uma conexão VPN usando um arquivo de configuração. - Exemplo de uso: sudo openvpn --config cliente.ovpn - Descrição: Estabelece uma conexão VPN usando o arquivo de configuração ''cliente.ovpn'', criando um túnel seguro entre o cliente e o servidor VPN. * **openvpn --genkey** - Gera uma chave para a VPN. - Exemplo de uso: openvpn --genkey --secret chave_vpn.key - Descrição: Gera uma chave secreta para criptografia e a salva no arquivo ''chave_vpn.key'', usado para configurar uma VPN segura. === 6. Gerenciamento de Bandwidth com `tc` === * **tc qdisc** - Configura controle de tráfego na interface de rede. - Exemplo de uso: sudo tc qdisc add dev eth0 root tbf rate 1mbit burst 32kbit latency 400ms - Descrição: Configura o controle de tráfego na interface ''eth0'' com uma taxa limitada de 1 Mbps, útil para simular redes lentas ou gerenciar o consumo de largura de banda. * **tc class** - Cria classes para controle de largura de banda. - Exemplo de uso: sudo tc class add dev eth0 parent 1:1 classid 1:10 htb rate 512kbit - Descrição: Cria uma classe de controle de largura de banda, limitando a taxa de tráfego para 512 kbps em uma subinterface de rede, ideal para gerenciamento avançado de redes. ===== Nível Especializado ===== === 1. Monitoramento e Análise de Rede com `nmap` === * **nmap** - Escaneia portas abertas em um host ou rede. - Exemplo de uso: nmap 192.168.1.1 - Descrição: Escaneia o host com endereço IP ''192.168.1.1'' e exibe todas as portas abertas, útil para descobrir serviços ativos e potenciais vulnerabilidades. * **nmap -sS** - Realiza um escaneamento stealth (SYN scan). - Exemplo de uso: nmap -sS 192.168.1.1 - Descrição: Realiza um escaneamento de portas usando pacotes SYN, sem completar a conexão TCP, o que dificulta a detecção em logs de segurança. * **nmap -A** - Escaneia portas e tenta identificar o sistema operacional e serviços. - Exemplo de uso: nmap -A 192.168.1.1 - Descrição: Além de escanear as portas, tenta identificar o sistema operacional e os serviços em execução, fornecendo uma análise mais detalhada do host. === 2. Manipulação de Pacotes com `scapy` === * **scapy** - Ferramenta interativa para criar e manipular pacotes. - Exemplo de uso: scapy - Descrição: Inicia o modo interativo do Scapy, uma poderosa ferramenta de manipulação de pacotes para testes de redes, análise e exploração. * **scapy (envio de pacotes ICMP)** - Envia pacotes ICMP (ping). - Exemplo de uso: send(IP(dst="192.168.1.1")/ICMP()) - Descrição: Envia um pacote ICMP para o IP ''192.168.1.1'', útil para testes personalizados de conectividade. * **scapy (spoofing de pacotes)** - Cria pacotes IP com spoofing de origem. - Exemplo de uso: send(IP(src="1.2.3.4", dst="192.168.1.1")/ICMP()) - Descrição: Envia um pacote ICMP com o IP de origem falsificado como ''1.2.3.4'', o que pode ser usado para testar comportamentos de firewall ou IDS. === 3. Otimização de Tráfego com `ethtool` === * **ethtool** - Exibe e modifica configurações de uma interface de rede. - Exemplo de uso: sudo ethtool eth0 - Descrição: Exibe as configurações detalhadas da interface de rede ''eth0'', como velocidade, modo duplex e estatísticas de erros. * **ethtool -s** - Ajusta a velocidade da interface de rede. - Exemplo de uso: sudo ethtool -s eth0 speed 100 duplex full - Descrição: Configura a interface de rede ''eth0'' para operar em 100 Mbps com modo full-duplex, útil para otimizar o desempenho de rede em cenários específicos. * **ethtool -K** - Habilita/desabilita offloading na interface. - Exemplo de uso: sudo ethtool -K eth0 rx off tx off - Descrição: Desabilita o offloading de recebimento e transmissão na interface ''eth0'', útil para testes de desempenho e troubleshooting de rede. === 4. Segurança de Rede com `fail2ban` === * **fail2ban-client** - Gerencia o serviço fail2ban, que bloqueia IPs maliciosos. - Exemplo de uso: sudo fail2ban-client status - Descrição: Exibe o status atual do serviço fail2ban, incluindo quais jails estão ativas e quantos IPs estão banidos. * **fail2ban-client set** - Bloqueia manualmente um IP. - Exemplo de uso: sudo fail2ban-client set sshd banip 192.168.1.100 - Descrição: Bloqueia manualmente o IP ''192.168.1.100'' para o serviço SSH (jail sshd), útil para ações imediatas contra ataques de força bruta. * **fail2ban-client unban** - Desbloqueia um IP banido. - Exemplo de uso: sudo fail2ban-client set sshd unbanip 192.168.1.100 - Descrição: Remove o banimento do IP ''192.168.1.100'', liberando o acesso bloqueado anteriormente. === 5. Túnel de Rede com `wireguard` === * **wg-quick up** - Inicia uma conexão VPN WireGuard usando uma configuração. - Exemplo de uso: sudo wg-quick up wg0 - Descrição: Ativa a interface VPN WireGuard chamada ''wg0'' usando as configurações definidas no arquivo de configuração, estabelecendo o túnel seguro. * **wg show** - Exibe o status atual da conexão WireGuard. - Exemplo de uso: sudo wg show - Descrição: Mostra o status da conexão VPN, incluindo peers conectados, chaves públicas e estatísticas de pacotes enviados/recebidos. === 6. Qualidade de Serviço com `tc` e `qdisc` === * **tc qdisc** - Configura a disciplina de enfileiramento para controle de tráfego. - Exemplo de uso: sudo tc qdisc add dev eth0 root fq_codel - Descrição: Aplica o algoritmo de controle de fila ''fq_codel'' na interface ''eth0'', uma técnica usada para reduzir latência e evitar congestionamento de rede. * **tc class add** - Define classes de QoS (Quality of Service). - Exemplo de uso: sudo tc class add dev eth0 parent 1:1 classid 1:10 htb rate 1mbit ceil 2mbit - Descrição: Cria uma classe de tráfego que limita a largura de banda da interface ''eth0'' para 1 Mbps, com picos permitidos até 2 Mbps, garantindo o controle do uso de recursos de rede.