Перейти к содержимому

Как пропинговать несколько ip сразу

  • автор:

Как пропинговать IP диапазон (192.168.1.1 – 192.168.1.255) из командной строки?

Друзья, существует множество утилит, для поиска компьютеров в сети, например:NETSCAN.EXE вводим диапазон IP например от 192.168.1.1 до 192.168.1.255, одно нажатие кнопочки и вот список всех компьютеров в сети. Появилась необходимость проделать это же действие, но из командной строки. Как это сделать не соображу. Кроме команды PING которая пингует только 1IP в голову ничего не приходит. Подскажите, если кто сталкивался с такой проблемой.

P.S. Вопрос ранее поднимался, ping /? не помог.

Дополнен 13 лет назад

Саттелит
Простите за глупый вопрос: пинг вроде идёт, от 1.1 до1.254, но pinglist.txt
никак не могу найти. Его нужно создавать? Или как то прописывать путь к нему? Прошёлся поиском по всему диску С. .

Кот — Ученый
Почему то мое изначальное сообщение, как то криво отображается. Интересует не один пинг *.255, а пинг всего диапазона от *.*.*.1 до *.*.*.255

Лучший ответ

Прямо в командной строкуе выполняешь:
for /l %i in (1,1,254) do ping -n 1 192.168.1.%i >>%userprofile%\pinglist.txt

Соответственно результат пишется в файл. Только подправь циферки под себя 🙂

Остальные ответы
nmap -PE 192.168.1.*
Пуск-Программы-Стандартные-Командная строка
Там набрать ping 192.168.1.255 и нажать Enter.

Вот фото работы:

Пинг нескольких адресов одновременно

Всем здравствуйте! Не судите строго, т.к. только начинаю в этом разбираться. Задача у меня следующая: имеется список ip-адресов в excel файле и их необходимо проверять на доступность. В принципе, то что у меня сейчас есть устраивает, но не совсем, т.к. если список очень большой, то уходит достаточно много времени на проверку доступности этих ip-адресов, потому что проверка идет последовательно, т.е. сначала один ip-проверили, потом второй, третий и т.д. Можно ли этот процесс как-то ускорить, допустим запустить несколько параллельных процессов на проверку доступности ip-адресов? Посмотрев Интернет (в том числе и здесь), я так понимаю, что можно использовать асинхронный метод, но я что-то делаю не так, поэтому у меня особо ничего не получается. Помогите, пожалуйста 🙂

private static async void Run() < string path; Console.Write("Введите путь, указав имя файла: "); path = Convert.ToString(Console.ReadLine()); int i; int j = 1; int N; Console.Write("Количество строк: "); N = Convert.ToInt32((Console.ReadLine())); StreamReader f = new StreamReader(path); Excel.Application ObjWorkExcel = new Excel.Application(); Excel.Workbook ObjWorkBook = ObjWorkExcel.Workbooks.Open(@"" + path + "", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); Excel.Worksheet ObjWorkSheet = (Excel.Worksheet)ObjWorkBook.Sheets[1]; for (j = 1; j Ping pingSender = new Ping(); string data = "aaaaaaa"; byte[] buffer = Encoding.ASCII.GetBytes(data); PingOptions options = new PingOptions(64, true); try < PingReply reply = await pingSender.SendPingAsync(pinger); if (reply.Status == IPStatus.Success) < Console.WriteLine(string.Format("", reply.Address, reply.Status)); (ObjWorkSheet.Cells[i, j] as Excel.Range).Interior.ColorIndex = 4; > else < Console.WriteLine(string.Format("", reply.Address, reply.Status)); (ObjWorkSheet.Cells[i, j] as Excel.Range).Interior.ColorIndex = 3; > > catch (Exception) < (ObjWorkSheet.Cells[i, j] as Excel.Range).Interior.ColorIndex = 6; >> > Console.WriteLine("ЗАВЕРШЕНО"); Console.ReadLine(); ObjWorkExcel.Quit(); > 

Отслеживать

задан 26 янв 2020 в 3:56

VapeNation VapeNation

139 2 2 серебряных знака 12 12 бронзовых знаков

Попробуйте использовать nping из nmap.org/nping

26 янв 2020 в 6:59

code review: предлагаю отрефакторить, чтобы не было все в одном методе. Разделить код который пингует, от кода который парсит и кода который устанавливает результат в эксель. + async void зло

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

Подскажите пжлст, есть патч панель, свитч, куча проводов ни один не подписанный, воть вопрос:

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

Собсно вопрос: как пропинговать сразу несколько адресов?

  • Вопрос задан более трёх лет назад
  • 16153 просмотра

2 комментария

Оценить 2 комментария

gbg

Армянское Радио @gbg Куратор тега Компьютерные сети
У вас свитч управляемый?

Initiator_dot

Жека @Initiator_dot Автор вопроса

Армянское Радио: да хз, цисковский, там и сервак отдельный фри бсд и маршрутизатор, и заходить только с разрешенного ипшника, сказали не лезть без особых надобностей(точнее вобще не лезть) гос структура)

Решения вопроса 0
Ответы на вопрос 7

gbg

Армянское Радио @gbg Куратор тега Компьютерные сети
Любые ответы на любые вопросы

Правильное решение:
подключиться к консоли коммутатора, дать команду show mac address table
получите список на каком порту какой mac
дальше сопоставить эти адреса с самими компьютерами, например по кэшy arp

Ответ написан более трёх лет назад
Нравится 4 2 комментария

Initiator_dot

Жека @Initiator_dot Автор вопроса
а через командную строку нельзя на обчной машине ?

gbg

Армянское Радио @gbg Куратор тега Компьютерные сети
Жека: запускаете N командных строк, в них запускаете пинг с параметром -t и дергайте провода

fredyk

nmap -sP 10.10.10.0/24
nmap -sP 10.10.10.1-15
Ответ написан более трёх лет назад
Комментировать
Нравится 3 Комментировать

ifaustrue

Пишу интересное в теллеграмм канале @cooladmin

Сканер IP адресов поможет.

Но решение с мак адресами для управляемого свича лучше и точнее.
Ещё можно отключать патч со стороны компа и смотреть какой порт погас.

Ответ написан более трёх лет назад
Нравится 2 1 комментарий

Initiator_dot

Жека @Initiator_dot Автор вопроса

OLS

Создайте файл-список интересующих IP по одному на строке, например, назовем «ips.txt».
Потом
FOR /F %%A IN (ips.txt) DO ping -n 1 %%A | FIND /i «Ответ»
P.S. Если будете создавать CMD-файл, то кодировка должна быть DOS (CP866)
P.P.S. Если CLI англоязычный, то искать соответственно «Reply» и кодировка безразлична

Ответ написан более трёх лет назад
Нравится 1 3 комментария

Initiator_dot

Жека @Initiator_dot Автор вопроса
интересно, можно по подробней на примере ип адреса 10.10.10.1 и 10.10.10.2

OLS

Initiator_dot

Жека @Initiator_dot Автор вопроса
Иван @LiguidCool

Это костыль, т.к. пинги могут гасить файерволы.
Проще всего дергать патч и смотреть где погас линк.
Ну или вариант с arp на свиче, но это если на нем консоль есть.

Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать

fzfx

если linux — fping.
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
EricCartmanDens @EricCartmanDens

Хоть старая тема, но добавлю в копилку пару предложений.
Есть простые, но удобные утилиты:
gping межплатформенная с построением графиков
и
PingInfoView от Nirsoft для Windows

Так же есть еще другие хорошие утилиты, но платные, такие как PingPlotter (есть ограниченная бесплатная версия).
А так же если нужно создать карту сети и в дальнейшем администрировать или контролировать, то для удобства могу посоветовать утилиту Dude от микротик (бесплатная утилита), или Solarwinds Dameware (платная). На вскидку удобные и простые, но все же нужно разбираться.

Ответ написан 2 часа назад
Комментировать
Нравится Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

веб-разработка

  • Веб-разработка
  • +3 ещё

Как обойти запрет одновременной параллельной авторизации одного аккаунта на сайте с разных устройств(+-15)?

  • 1 подписчик
  • 13 часов назад
  • 98 просмотров

Пинг нескольких хостов одновременно под SSH-прокси

Недавно у меня была интересная задача — пингануть несколько хостов одновременно. Для многих это может показаться тривиальным из-за множества инструментов, которые позволяют это сделать, но загвоздка в том, что хосты находятся за SSH-прокси, и у меня нет возможности дополнительный софт.

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

Для решения этой задачи потребуется:

  • cat — позволяет прочитать IP-адреса из CSV-файла.
  • xargs — для распараллеливания заданий ping.
  • bash — для создания сессии bash для каждого задания ping.
  • ssh — для выполнения ping через прокси.
  • echo — для вывода сообщений на экран.

Как на прямую пинговать несколько хостов

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

Создаем файл с именем server . csv и добавляем хосты, которые необходимо пингануть:

После чего выполняем команду:

cat servers . csv | xargs — I < >— P8 bash — c «ping -c4 <> &> /dev/null && echo <>:success || echo <>:fail»

Ожидаемый результат, если все хосты доступны, будет таким:

server1 : success
server2 : success
server3 : success
server4 : success

Если один или несколько хостов не пингуются:

server1 : success
server2 : success
server3 : fail
server4 : success

Это работает следующим образом:

  • cat передает содержимое server . csv в xargs .
  • xargs запускает команду bash — c «» , все, что находится между «» , будет выполнено bash.
  • Параметр — I указывает xargs заменить < >каждой строкой из файла server . csv .
  • Параметр — P8 создает 8 параллельных процессов xargs .
  • Команда ping — c4 < >отправляет 4 пакета ICMP на имя хоста/ip, которые заменят
  • & > / dev / null это перенаправит все stdout и stderr из ping в / dev / null , чтобы скрыть любой вывод ping с экрана.
  • && echo < >: success | | echo < >: fail , если ping удалось получить ответ ping от хоста, тогда он отобразит имя/ip хоста и добавит к нему success (успешное соединение), если ему не удастся, отобразит имя/ ip хоста и добавит к нему fail (соединение не удалось).

Как пинговать несколько хостов под SSH-прокси

В моем случае имя прокси-сервера ssh — proxy01. В таком случае нужно внести следующие изменения в предыдущую команду:

cat servers . csv | xargs — P8 — I < >bash — c «ssh proxy01 ‘ping -c4 <> &> /dev/null && echo <>:success || echo <>:fail'»

Я добавил в команду ssh proxy01 » . Команда подключится к серверу proxy01 и выполнит команды ping, как вы можете видеть, изменений немного, но в результате все команды теперь выполняются из proxy01, у которого есть доступ к хостам, которые я хочу пингануть.

  • — P — изменение этого параметра изменяет количество параллельных заданий.
  • -c4 — изменение этого параметра изменит количество посылаемых на хост ICMP (пинг-пакетов).
  • ssh — может принимать множество различных параметров, которые я не использовал. Например, имя пользователя; если вы не используете ключи ssh. Он запросит у вас пароль, если вы не используете инструмент sshpass.

На этом все. Теперь вы знаете, как пинговать несколько хостов одновременно. Надеюсь, статья была интересной и полезной.

РЕКОМЕНДУЕМ:

  • ICMP-туннелирование при пентесте
  • Как создать VPN-туннель на Windows и Linux

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *