nslookup
em si não tem suporte para notação CIDR, intervalos ou curingas, portanto, sua melhor opção é provavelmente um loop bash simples.
for ip in 192.168.1.{2..20}; do nslookup $ip; done
Seria possível fazer com que o terminal repita nslookup
, começando de 192.168.1.2
a 192.168.1.20
, para ver todos os computadores na rede sem precisar entrar no servidor. Isso é possível?
nslookup
em si não tem suporte para notação CIDR, intervalos ou curingas, portanto, sua melhor opção é provavelmente um loop bash simples.
for ip in 192.168.1.{2..20}; do nslookup $ip; done
A resposta do dfarrell07 resolve o problema de uma maneira geral, não dependendo do nslookup
- que é o jeito certo de fazê-lo, eu acho.
Mas, para fins de diversidade e exemplos de sintaxe de shell, aqui está outra abordagem, mais relacionada à pesquisa de nomes de domínio:
O programa de pesquisa pode ser solicitado para lidar com todos os endereços de uma só vez; Isso parece ser complicado com nslookup
, (pode ser necessário usar expect
), então vou usar dig
.
Existe uma opção -x
para dig
fazer pesquisas inversas. Essa opção leva apenas um endereço, então apenas listá-los não funciona. Mas pode haver várias consultas na linha de comando, então a opção pode ser repetida.
Não podemos usar 192.168.1.{2..20}
para a lista de endereços, porque precisamos de um -x
na frente de cada um. Usando '-x 192.168.1.'{2..20}
coloca um -x
na frente deles - mas não como um argumento de linha de comando separado - dig
obteria -x 192.168.1.2
como um argumento, enquanto deveria ver -x
e 192.168.1.2
. Usarei uma expansão de subshell como solução para separar as palavras - mas tenho certeza de que há maneiras mais limpas de fazer isso.
Este comando deve listar os nomes de host que você deseja:
dig +noall +answer $(echo '-x 192.168.1'{2..20})
mostrando algo como
$ dig +noall +answer $(echo '-x 193.99.144.'{80..83})
80.144.99.193.in-addr.arpa. 20800 IN PTR redirector.heise.de.
81.144.99.193.in-addr.arpa. 20134 IN PTR www.ix-konferenz.de.
83.144.99.193.in-addr.arpa. 21599 IN PTR limesurvey.heise.de.
Em relação aos argumentos de linha de comando separados: você pode tentar os seguintes comandos, eles mostrarão a mesma saída, mas no primeiro, echo
na frente recebe 11 argumentos, cada -x
e endereço IP separados, enquanto em o segundo, o echo
obtém apenas 7 argumentos:
$ echo dig +noall +answer $(echo '-x 193.99.144.'{80..83})
dig +noall +answer -x 193.99.144.80 -x 193.99.144.81 -x 193.99.144.82 -x 193.99.144.83
$ echo dig +noall +answer '-x 193.99.144.'{80..83}
dig +noall +answer -x 193.99.144.80 -x 193.99.144.81 -x 193.99.144.82 -x 193.99.144.83