Найти все IP-адреса за любым DNS

Самый простой способ сделать это — нажать Ctrl + Z(приостановить выполнение скрипта )после того, как вы закончите ввод входных данных, а затем bgкоторый отправит скрипт в фоновом режиме и продолжить его выполнение. Затем вы можете использовать текущий сеанс оболочки в обычном режиме.

Однако лучшим подходом является изменение сценария таким образом, чтобы он не требовал ввода данных пользователем. Просто передайте любой ввод, который вам нужен, в качестве аргументов при запуске скрипта. Это сделает вашу жизнь и жизнь ваших пользователей проще.

Например, вместо этого:

#!/bin/bash
echo "Give me the first number! "
read num1

echo "Give me the second number! "
read num2

Используйте это:

#!/bin/bash
num1=$1
num2=$2

И запустите свой скрипт следующим образом (, где 10и 30— это примеры номеров, которые будут сохранены как num1и num2соответственно):

script.sh 10 30 > out 2>err&

Таким образом, сценарий будет немедленно отправлен в фоновый режим, любой вывод будет перенаправлен в файл с именем out, а все сообщения об ошибках — в файл с именем err. Все параметры были настроены во время запуска, и дальнейшее взаимодействие не требуется.

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

0
19.05.2021, 06:00
1 ответ

Если вы имеете в виду все IP-адреса, принадлежащие определенному имени, вы можете попробовать что-то вродеdig(1):

$ dig -t A google.com

; <<>> DiG 9.16.15-RH <<>> -t A google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62945
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;google.com.            IN  A

;; ANSWER SECTION:
google.com.     212 IN  A   64.233.186.101
google.com.     212 IN  A   64.233.186.138
google.com.     212 IN  A   64.233.186.139
google.com.     212 IN  A   64.233.186.113
google.com.     212 IN  A   64.233.186.100
google.com.     212 IN  A   64.233.186.102

;; Query time: 21 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Wed May 19 23:43:09 -04 2021
;; MSG SIZE  rcvd: 135

-t Aзапрашивает Aзаписи (, то есть IPv4-адреса ). С помощью -t AAAAвы запрашиваете адреса IPv6. Мягкое массирование (удаление строк, начинающихся с ;, и пустых строк )дает вам именно то, что вы хотите.

Команда (, устаревшая в течение достаточно долгого времени,)host(1)предоставляет аналогичную информацию в несколько более удобном -для человека формате.

0
28.07.2021, 11:31

Теги

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