Как пропинговать несколько ip сразу
Перейти к содержимому

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

  • автор:

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

Всем здравствуйте! Не судите строго, т.к. только начинаю в этом разбираться. Задача у меня следующая: имеется список 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 зло

Как пропинговать 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.

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

Команда Ping

В этой статье мы расскажем, что делает команда Ping, и разберём, где может понадобиться команда Ping.

Ping: описание команды

Серверы требуют постоянной диагностики своих систем. Одним из базовых инструментов, который помогает в администрировании сервера, является утилита Ping. Её основная задача ― определение работоспособности узла, сайта или сервера в интернете.

Как это работает? Команда Ping в cmd посылает небольшие пакеты на сервер, который нужно проверить. Через некоторое время от сервера приходит ответ ― те же пакеты, что и были отправлены. Исходя из этого ответа оценивается работоспособность сервера. Устройство работает нормально, если отправленные пакеты вернулись полностью и быстро.

Кроме проверки доступности удаленного хоста, с помощью этой команды можно:

  • измерить время, за которое сервер отвечает на команду,
  • выявить IP-адреса хоста в локальной и глобальной сети,
  • определить качество соединения (были ли потеряны пакеты в пути),
  • внедрить команду в bash-скрипт для автоматической проверки сетевого устройства.

Обратите внимание

Если вы используете прокси-сервер, команда пинг работать не будет, так как для её действия нужно прямое соединение с устройством.

У команды есть несколько параметров, которые предназначены для разных задач. Чтобы посмотреть все возможные опции, введите в командной строке:

ping /?

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

tsklab

или уточните вопрос, что вы именно хотите получить от пинга, как у вас хранится список адресов.
Хотя бы пример текущего «батника» покажите.

Ответ написан более трёх лет назад
Егорынский @theMANTIS Автор вопроса

У меня в наличии более 100 сет мастеров. По отдельности каждый выписывать займет часа 3-4. Поэтому хотелось бы как-нибудь настроить батник, чтобы просто в него внести эти самые айпишки.

Jump

Егорынский,
FOR /F «TOKENS=1*» %%i IN (C:\ip.list) DO ping %%i
Saboteur @saboteur_kiev

В наличии это где? В файлике, в системе, в экселе? Что такое сет мастер?

Из вопроса непонятно ни как вас этот список адресов хранится, ни в каком виде вы хотите результат.

Вы пробовали написать батник, который проверяет хотя бы несколько адресов вручную и выдает результат в том виде, в котором он вам нужен?
Потому что просто пропинговать — что это вам дает?

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

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