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

Можно ли пропинговать сразу все адреса? — Cisco — Ответ 16547112

Лучший ответ

Сообщение было отмечено NoNaMe как решение

Решение

sergey@Wukong:~$ sysctl net.ipv4.icmp_echo_ignore_broadcasts net.ipv4.icmp_echo_ignore_broadcasts = 1

только вот современные оси по умолчанию не отвечают на броадкастовые пинги.

Если проверить факт активности узла, то скрипт, который перебирает все IP в диапазоне.
Даже если ответов нет (винда и на юникастовые пинги сейчас не ответит с дефолтными настройками),
потом проверить ARP-таблицу.

Меню пользователя @ Korax

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Готовые ответы и решения:

Пропинговать все IPv4 адреса в сети за минимальное время
Доброго времени суток! Недавно задался вопросом как пропинговать все ip адреса в сети (от.

Пропинговать все адреса из 10 TextBox и покрасить в зеленый цвет если есть пинг
Имеется 10 текстбоксов в которых записаны IP адреса — пропинговать все адреса и покрасить в зеленый.

Скачать все и сразу начиная с текущего адреса
сабж Забыл, раньше прога была, вставляешь сайт (в таком формате https://www.cyberforum.ru/), а.

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

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

Как скопировать сразу все адреса ссылок с вкладки сеть в Firefox?
В firebug есть вкладка сеть где выводятся ссылки на файлы сайта. В контекстном меню можно.

Как можно из ComboBox сохранить все записи в TextBox, а может и сразу в файл?
Привет всем, подскажите пожалуйста, как из Combo сохранить всё в TextBox, или даже сразу в файл.

Как можно автоматизировать процесс добавления данных и внести все записи сразу?
здравствуйте! есть большой список сочетаний логин-пароль (файл CSV) есть запрос на добавление.

Можно ли загрузить сразу через ftp всё альбомы, а потом уже как-то их проиндексировать?
Допустим мы пишем архив mp3 файлов, в частности музыка по исполнителям. Допустим есть уже готовых.

Как можно сделать, чтобы при нажатии кнопки заполнялись сразу все поля?
Подскажите пожалуйста в документе есть табличная часть (номенклатура, характеристика номенклатуры.

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

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

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

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

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

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

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

Пинг нескольких хостов одновременно под 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 не будет опубликован. Обязательные поля помечены *