Um domínio pode ser provido por muitos IPs distintos, então surgiu para mim a necessidade de determinar qual IP não estava respondendo.
O dig permite descobrir rapidamente quais IPs estão relacionados ao domínio no DNS.
dig +short some.random.domain
192.168.10.20
192.168.10.21
192.168.10.22
192.168.10.23
Faça de conta que a minha lista de IPs é bem grande. Quero testar todos, mas sem perder muito tempo em cada um. Para ser mais rápido com o ping, podemos usar umas opções incomuns:
ping -w 1 -c 2 192.168.10.20
PING 192.168.10.20 (192.168.10.20) 56(84) bytes of data.
--- 192.168.10.20 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms
O -w 1 encerra a espera com 1s e o -c 2 emite apenas 2 pacotes ICMP. Ajuste conforme sua necessidade
Então, para percorrer toda a minha lista e apenas imprimir os IPs que não responderam, lançamos mão do xargs e do grep.
dig +short some.random.domain | \
xargs -I{} ping -w 1 -v -c 2 {} | \
grep -B1 "0 received"
--- 192.168.10.20 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms
O -B1 do grep nos permite mostrar a linha anterior ao resumo dos pacotes, já que o ping não coloca tudo na mesma linha.
Nenhum comentário:
Postar um comentário