Как иметь терминальное повторение с другим IP?

Было бы возможно стать терминальным для повторения nslookup запуск с 192.168.1.2 через 192.168.1.20 смотреть на все компьютеры в сети, не имея необходимость входить в сервер. Действительно ли это возможно?

1
задан 15 December 2014 в 12:30

2 ответа

nslookup самостоятельно не имеет поддержки нотации CIDR, диапазонов или подстановочных знаков, таким образом, Ваш наилучший вариант вероятен простой цикл удара.

for ip in 192.168.1.{2..20}; do nslookup $ip; done
2
ответ дан 10 November 2019 в 09:20

Ответ dfarrell07 решает проблему общим способом, не в зависимости от nslookup - который является правильным способом сделать это, я думаю.

Но ради разнообразия и примеров синтаксиса оболочки, вот другой подход, более связанный с поиском доменного имени:

Программе поиска можно было сказать обработать все адреса сразу; Это, кажется, хитро с nslookup, (это может потребовать использования expect) таким образом, я буду использовать dig вместо этого.

Существует опция -x для dig сделать обратные поиски. Та опция берет только один адрес, поэтому просто перечисление их не работает. Но на командной строке может быть несколько запросов, таким образом, опция может быть повторена.

Мы не можем использовать 192.168.1.{2..20} для списка адресов, потому что нам нужен a -x перед каждым. Используя '-x 192.168.1.'{2..20} места a -x перед ними - но не как отдельный параметр командной строки - dig добрался бы -x 192.168.1.2 как один аргумент, в то время как это должно видеть -x и 192.168.1.2. Я буду использовать расширение подоболочки в качестве обходного решения для разделения слов - но я уверен, что существует больше очевидных способов, чтобы сделать это.

Эта команда должна перечислить имена хостов, которые Вы хотите:

dig +noall +answer $(echo '-x 192.168.1'{2..20})

показ чего-то как

$ 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.



Относительно отдельных параметров командной строки: можно попробовать следующие команды, они покажут тот же вывод, но в первом, echo впереди получает 11 аргументов, каждого -x и отдельный IP-адрес, в то время как во втором, echo только получает 7 аргументов:

$ 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
1
ответ дан 7 December 2019 в 12:48

Другие вопросы по тегам:

Похожие вопросы: