Ping по списку из файла
Добавлено: 12 июн 2014, 16:49
Иногда нужно пинговать группу IP-адресов, но набирать каждую команду по отдельности неудобно. Проще воспользоваться скриптом и пинговать список необходимых для тестирования хостов. Для этого можно воспользоваться скриптом следующего содержания:
и файл list.txt с перечнем адресов или имён для проверки
А вот скрипт со значительно большим функционалом
- Код: выделить все
@Echo OFF
For /F "Usebackq Delims=" %%# in ("list.txt") do (
Echo ===============================================
Echo [+] Pinging: %%#
ping -n 1 "%%#" > nul && (
Echo [Ответ от %%# получен]) || (
Echo [Хост %%# недоступен])
)
Pause
и файл list.txt с перечнем адресов или имён для проверки
- Код: выделить все
195.0.1.7
10.10.10.29
10.10.10.30
ya.ru
...
А вот скрипт со значительно большим функционалом
- Пинг по адресам
- Преобразование IP в DNS-имена (утилитой DIG)
- Запись в файл найденных DNS-имён
- Поиск PTR-записей на основе построенного файла
- Пинг по DNS именам
- Код: выделить все
@Echo OFF > name.txt
Echo *****************************
Echo * Pinging IP addresses *
Echo *****************************
For /F "Usebackq Delims=" %%# in ("ip.txt") do (
Echo ===============================================
Echo [+] Pinging: %%#
ping -n 1 "%%#" | find "TTL=" > NUL && (Echo [Ответ от %%# получен]) || (Echo [Хост %%# недоступен]))
Pause
Echo *****************************
Echo * Resolving IP to DNS names *
Echo *****************************
For /F "Usebackq Delims=" %%# in ("ip.txt") do (
Echo ===============================================
Echo [+] Resolving: %%#
dig -x "%%#" +short | find /V "" >> name.txt && (Echo [Запись PTR для %%# найдена]) || (Echo [НЕТ записи PTR для %%#]))
Pause
Echo *****************************
Echo * Resolving DNS names to IP *
Echo *****************************
For /F "Usebackq Delims=" %%# in ("name.txt") do (
Echo ===============================================
Echo [+] Resolving: %%#
dig "%%#" +short | find /V "" > nul && (Echo [Запись A сущуствует]) || (Echo [НЕТ записи A]))
Pause
Echo *****************************
Echo * Pinging DNS names *
Echo *****************************
For /F "Usebackq Delims=" %%# in ("name.txt") do (
Echo ===============================================
Echo [+] Pinging: %%#
ping -n 1 "%%#" | find "TTL=" > nul && (Echo [Ответ от %%# получен]) || (Echo [Хост %%# недоступен]))
Pause