Configurações avançadas de rede ping fping arping hostname ifconfig ip arp rarp netstat ss lsof netcat systemctl service invoke-rc.d nmap traceroute route systctl host nslookup whois dig /etc/network/interfaces (debian) /etc/sysconfig/network-scripts/ (red-hat) /etc/resolv.conf /etc/hosts /etc/hosts.allow /etc/hosts.deny tail /var/log/syslog tail /var/log/messages Comandos e arquivos relacionados
ping O comando ping usa o datagrama ECHO_REQUEST do protocolo ICMP para provocar um ICMP ECHO_REPLAY de um host, muito usado para verificar a disponibilidade um host na rede. A saída do comando ping exibe os seguintes campos: O endereço de IP O número de Bytes enviados O tempo gasto em milissegundos de ida e volta do pacote O "TTL" ou "Time to Live" é o tempo de vida do pacote Linux 64 Windows 128 Unix 255 Opções do comando ping: -c = Essa opção significa count. Limita o número de pacotes ICMP enviados -i = Esta opção define o valor Time to Live (TTL) com tamanho máximo de 255 -t = Limita a número de saltos dados até chegar ao destino -f = Flood ping. Envia novos pacotes antes de receber a resposta do pacote anterior -i = Aguarda em segundos antes de enviar cada pacote -q = Não mostra as requisições enquanto são enviadas, somente mostra o resultado -s = Especifica o tamanho do pacote que será enviado Exemplos de uso das opções do ping traceroute ricardoalexandre.eti.br ping -i 000.3 localhost ping -f localhost ping -q -c 03 localhost ping -s 50000 172.29.250.1 fping O fping é uma ferramenta parecida com o ping tradicional mas com a vantagem de enviar echo request para vários hosts ou uma faixa de hosts de uma só vez. fping -c02 172.29.250.1 172.29.250.2 192.168.10.3 fping -c02 -g 172.29.250.1 172.29.250.10
arp O comando arp as entradas da tabela arp de endereços MAC da máquina local. -d = Apaga uma entrada para o host especificado. -f = Mapeia estaticamente os hostnames e endereços MAC a partir de arquivo. -s = Cria uma uma correspondência estática entre o hostname e o endereço mac. Exemplos de uso: arp -a arp -s hostname mac arp -f /mnt/arp.txt arp -d hostname arping O arping é outra ferramenta que semelhante ao ping usa o protocolo ICMP para enviar uma mensagem chamada de ARP REQUEST, que traz o endereço MAC da placa de rede durante o teste de conexão. arping c02 172.29.250.1 hostname = Exibe o nome do host local, conteúdo do arquivo /etc/hostname hostname hostname -f hostname -d hostname -s Ifconfig O comando ifconfig possui muitas opções de configuração mas sua função normalmente é definir endereços de IP e máscara de rede para interfaces. Vejamos alguns exemplos da configuração de uma interface eth0 com um endereço de sub-rede da classe B. ifconfig eth0 172.29.255.9 netmask 255.255.255.128
ifconfig eth0 172.29.255.9/25 ifconfig eth0 down ifconfig eth0 up Opções avançadas para o comando ifconfig: hw - Permite alterar o endereço MAC do dispositivo de rede ifconfig eth0 down ifconfig eth0 hw ether 00:D0:D4:51:C4:F3 ifconfig eth0 172.29.255.10/25 up promisc - Ativa ou desativa o modo promíscuo, a qual quando está habilitado pode receber todos os pacotes da rede mesmo não sendo endereçados a esta interface de rede. ifconfig eth0 promisc ifconfig eth0 grep -i promisc ifconfig eth0 -promisc arp - Permitir ou desabilitar o protocolo arp na interface. ifconfig eth0 -arp arp -a ifconfig eth0 arp Interfaces Virtuais - O comando ifconfig também é capaz de configurar interfaces virtuais a partir de um interface em funcionamento. ifconfig eth0:0 192.168.148.2/27 up ifconfig eth0:1 10.16.255.40/24 up ip O Linux tem diversas ferramentas para o controle da comunicação do protocolo IP e existem diversos comandos para as mais variadas funções, no entanto foi desenvolvido o comando ip que realiza a maioria dessas funções com uma única linha de comando.
Exemplos de uso do comando ip ip -s link = Exibe informações sobre as interfaces de rede ip -s addr = Exibe as informações de endereço de IP ip -s addr show eth0 = Exibe informações sobre um interface específica ip neigh = Exibe informações sobre a tabela de endereços MAC ip route = Exibe informações sobre a tabela de roteamento netstat O comando netstat é usado para exibir as conexões de rede e as tabelas de roteamento -a = Exibe informações das interfaces fazendo a resolução de nomes -n = Exibe as informações da interfaces sem fazer resolução de nomes -p = Exibe informações sobre as conexões do protocolo TCP -u = Exibe informações sobre as conexões do protocolo UDP -r = Exibe as informações sobre tabela de roteamento -c = Exibe as informações em tempo real, listagem continuada -i = Exibe estatísticas das interfaces disponíveis -s = Exibe o estado das interfaces configuradas e estatísticas pacotes -l = Lista todas as conexões e portas abertas dos sockets Exemplos de uso: netstat -nat netstat -s less netstat -i netstat -aup less netstat -r netstat -natc netstat -ic netstat -inet less
ss O comando ss assim como comando ip são os sucessores dos comandos tradicionais como o ifconfig e o netstat, semelhante ao ip o ss também mantém várias opções a mais para investigação de conexões, sockets, portas e serviços de rede. -n = Não tenta resolver os nomes dos serviços -r = Ao contrário do -n tenta resolver o nomes de serviços -l = Lista todos os sockets disponíveis -p = Exibe os processos usando determinados sockets -o = Exibe mais informações detalhadas sobre o socket -t = Exibe informações relativas ao protocolo TCP -u = Exibe informações relativas ao protocolo UDP Exemplos de uso: ss -l ss -pl less ss -ul less ss -natupl less lsof O comando lsof é capaz de listar os arquivos e processos relacionados a utilização do sistema Linux. +d = Procura por todas as instâncias abertas em um diretório -u = Exibe os arquivos e processos abertos por um usuário -g = Exibe os arquivos e processos abertos por um grupo de usuários -p = Exibe os arquivos e diretorios abertos por um processo em execução -i = Mostra uma lista de sockets de rede abertos -i :n = Mostra as conexões abertas na porta n -i [tcp udp] = Mostra as conexões ativas usando TCP ou UDP -t = Retorna apenas identificadores de processos (somente PIDs) -c comando = Mostra quais arquivos e conexões de rede um comando está usando -4 = Em combinação com a opção -i exibe informações de socket IPV4-6 = Em combinação com a opção -i exibe informações de socket IPV6 Exemplos de uso do comando LSOF: lsof -i tcp lsof -i udp lsof +d /dev
lsof -u usuário lsof -i -s TCP:LISTEN lsof -i grep LISTEN lsof -u ^aluno kill -9 $(lsof -t -u aluno) lsof -c ping lsof -i -6 lsof -i :porta lsof -i @IP fuser O comando fuser é usado para identificar os processo que estão utilizando determinado arquivo, diretório ou socket de rede fuser -v -n tcp 22 fuser -u /mnt/ nc O comando netcat é uma ferramenta poderosa do Linux que tem o função de estabelecer conexões entre computadores em rede, e o que o netcat faz é estabelecer uma conexão entre a pilha protocolos TCP ou UDP como meio de tráfego e é possível gravar dados entre as conexões de rede. Opções para o comando nc: -e = Permite especifica o nome do programa a ser executado após uma conexão -l = Habilita o modo LISTEN do netcat e passa a escutar as conexões de uma porta -p = Especifica qual porta será utilizada pelo netcat ao estabelecer uma conexão -u = Habilita o uso do protocolo UDP. O padrão é o protocolo TCP/IP -v = Exibe mais informações e detalhes sobre a conexão -w = Permite limitar o tempo de uma conexão com um valor em segundos -z = Faz um scanner em uma faixa de portas Exemplos de uso: Abrir estabelecer uma conexão e enviar uma mensagem do cliente para o servidor nc -vv -l -p 7700 (servidor 172.29.250.10) Como cliente verificar uma faixa de portas abertas no servidor nc -vz 172.29.250.10 22-1024
echo ola conexão estabelecida nc 172.29.250.10 7700 (cliente) Enviar informações pela conexão estabelecida nc -vv -l -p 7700 > arquivo.txt (servidor) nc 172.29.250.10 7700 < /etc/resolv.conf (cliente) # Executar comandos no bash do servidor remoto nc -le /bin/bash -p 1000 (servidor) thark -f port 1000 (outro terminal do servidor) nc -v servidor 1000 (cliente) ip a ; tail /etc/passwd ; hostname -f ; init 6 systemctl O systemd é um gerenciador de sistemas e serviços compatível como o padrão Sys V e LSB. Ele é baseado no conceito de unidades, e a unidade é chamada de service. systemctl start systemctl status vsftpd.service = Iniciar o serviço vsftpd.service = Ver o status do serviço iniciado systemctl stop vsftpd.service = Interromper o serviço. Certifique-se com status novamente systemctl enable vsftpd.service = Colocar o serviço para inicializar no boot do sistema systemctl disable vsftpd.service = Desabilitar o serviço de inicializar no boot do sistema systemctl is-enabled vsftpd.service = Verificar se o serviço está ou não habilitado para iniciar no boot do sistema.
nmap O comando nmap é usado para fazer varredura de portas e exibir detalhes de serviços de rede no servidor remoto. # Encontrar os hosts pertencentes a rede nmap -v IP/MASK nmap -v 192.168.1.0/26 # Encontrar a versão do serviço instalado nmap -sv -p 22 servidor # Analisar o sistema operacional do servidor nmap -O servidor # Descobrir hosts ativos em uma determinada rede nmap -sp IP/MASK # Verificar portas abertas de um determinado host nmap --open servidor.host # Exibir pacotes enviados e recebidos por determinado host nmap --packet-trace servidor.host # Examinar determinada porta TCP nmap -p T:80 servidor.host # Examinar porta 53 UDP nmap -p U:53 servidor.host # Descobrir todos os hosts ativos de uma determinada rede nmap -T5 IP/MASK
traceroute É uma ferramenta de diagnóstico que rastreia a rota de um pacote através de uma rede de computadores que utiliza os protocolos IP e o ICMP, traceroute www.terra.com.br route O comando route é utilizado para exibir ou manipular a tabela de roteamento IP. Para habilitar o roteamento no sistema Linux é necessário alterar o valor de alguns arquivos dependendo da versão IP que estiver utilizando. systctl -w net.ipv4.ip_forward=1 Para manipular a tabela de roteamento com o comando route existem várias opções: -add = Adiciona registro a tabela de roteamento -del = Deleta o registro da tabela de roteamento -net = Adiciona registro de uma rota de rede -host = Adiciona registro de uma rota de host default = Define a rota padrão netmask = Define a máscara de sub rede da rota gw = Define o gateway para o sistema dev = Define a interface pela qual o destino será alcançado -n = Não resolve nomes na saída do comando Exemplos de uso: route -n route add -net 192.168.0.0/25 gw 192.168.0.1 route add default gw 172.29.255.1 route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.29.255.1 route add -net 10.10.0.0/27 dev eth0 route add -host 172.29.255.4 dev eth1 Mesmo após a rota está corretamente configurada pode ser que ainda tenha algum erro e não funcione corretamente, por isso existe a coluna opções chamada de flags que informa as características de cada rota.
U = Rota configurada corretamente H = O alvo é um host tradicional G = Gateway padrão R = Restabelecer rota por caminho dinâmico D = Rota estabelecida por daemon ou redirecionamento M = Modificada por daemon ou redirecionada! = Rota rejeitada O comando traceroute é utilizado para verificar as rota que um pacote fez até chegar ao seu destino. host É um simples utilitário nslookup, ele também faz resolução de ip para nomes ou nomes para ip. host 192.168.4.1 host linux.laboratorio.ti nslookup O comando nslookup é usado para fazer requisições de nomes e IPs para um servidor de DNS. nslookup ricardoalexandre.eti.br 200.175.5.139 whois O comando whois procura informações sobre um domínio específico, se trata de um protocolo de consulta e resposta utilizado para pesquisar por usuários registrados de um recurso, como por exemplo um nome de domínio ou um bloco de endereço IP entre outras atividades.