Jump to content

Recommended Posts

Posted

Нужно выполнить пинг диапазона.

Для надежности использую несколько пакетов на каждый узел.

Узлы в локальной сети, поэтому чтобы ускорить процесс, указываю небольшой таймаут.

Примерно так:

ping -w 50 -n 5 192.168.1.1

Но в таком виде между отправкой каждого пакета проходит 1 секунда и эта строка выполняется не менее 5 секунд (5 секунд плюс суммарное время отклика или таймаута).

Чтобы ускорить процесс, делаю так:

for /L %i in (1,1,5) do ping -w 50 -n 1 192.168.1.1

Теоретически эта строчка должна выполниться максимум за 250 миллисекунд.

Однако на самом деле проходит больше 2 секунд.

То есть работает быстрее, чем просто ping с ключом -n, но намного медленнее, чем должно быть.

Не подскажите, почему?

Posted

Вам принципиально нужен ping, или просто нужно попинговать диапазон? Если второе, то попробуйте fping

Posted

Бесполезно указывать там маленькие значения таймаута, не сработает.

Да как бы нет, если в командной строке просто выполнить ping -w 50 -n 1 192.168.1.1, то отрабатывает моментально.

 

Вам принципиально нужен ping, или просто нужно попинговать диапазон?

Строго говоря, мне нужно актуализовать ARP-таблицу хоста.

Но обходится при этом встроенными утилитами.

Posted

Сделал такой тестовый скрипт:

@echo off
echo.
echo start %TIME%
ping -w 50 -n 1 192.168.1.1 > nul
echo stop %TIME%
echo.
echo n5-start %TIME%
ping -w 50 -n 5 192.168.1.1 > nul
echo n5-stop %TIME%
echo.
echo loop-start %TIME%
for /L %%i in (1,1,5) do ping -w 50 -n 1 192.168.1.1 > nul
echo loop-stop %TIME%
echo.
echo n1-start %TIME%
ping -w 50 -n 1 192.168.1.1 > nul
ping -w 50 -n 1 192.168.1.1 > nul
ping -w 50 -n 1 192.168.1.1 > nul
ping -w 50 -n 1 192.168.1.1 > nul
ping -w 50 -n 1 192.168.1.1 > nul
echo n1-stop %TIME%

И получил такие странные результаты:

start 10:37:36,14
stop 10:37:36,47

n5-start 10:37:36,47
n5-stop 10:37:42,47

loop-start 10:37:42,47
loop-stop 10:37:44,97

n1-start 10:37:44,97
n1-stop 10:37:47,47

У меня впечатление, что задержка производится, когда ping вычисляет и выводит статистику (отправлено ..., принято ...).

Posted

Вам принципиально нужен ping, или просто нужно попинговать диапазон?

Строго говоря, мне нужно актуализовать ARP-таблицу хоста.

Но обходится при этом встроенными утилитами.

Почему нужно обходиться встроенными утилитами? fping в сто раз удобнее в случае массовых пингов: fping -qg 10.0.0.0/24

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.