alibek Опубликовано 19 мая, 2017 · Жалоба Скрипт, который сканирует локальную подсеть и фиксирует в ARP-таблице обнаруженные записи. Полезен в том случае, когда в сети есть несколько устройств с одинаковым IP-адресом. В моем случае это IP-камеры — обычно они монтируются, а затем разом настраиваются (это быстрее, чем настраивать каждую камеру по месту перед монтажом). BAT-файлы на форуме запрещены, поэтому выкладываю в спойлере. @echo off setlocal EnableDelayedExpansion for /F %%a in ('"prompt $H&for %%b in (1) do rem"') do set \b=%%a set Z=%1 set W=%2 set N=%3 if "*"=="%Z%*" ( echo Lock ARP-records echo Usage: %~nx0 ^<IP^|mask^|range^> echo Examples: echo %~nx0 192.168.1.* echo %~nx0 192.168.1.1-99 echo %~nx0 192.168.1.100 goto :EOF ) if "*"=="%W%*" set W=100 if "*"=="%N%*" set N=2 for /F "usebackq tokens=1,2,3,4 delims=." %%a in ('%Z%') do ( set NET=%%a.%%b.%%c set IP=%%d ) for /F "usebackq tokens=1,2 delims=-" %%a in ('%IP%') do ( set IP1=%%a set IP2=%%b ) if "**"=="%IP%*" ( set IP= set IP1=1 set IP2=254 ) else if "*"=="%IP2%*" ( set IP= set IP2=%IP1% ) else ( set IP= ) arp -d > nul 2>&1 echo Check network [%NET%.%IP1%-%IP2%] set MAC=* for /L %%i in (%IP1%,1,%IP2%) do ( set IP=%NET%.%%i if "*"=="!MAC!*" ( for /L %%z in (1,1,40) do <nul set /P "=%\b%" for /L %%z in (1,1,40) do <nul set /P "= " for /L %%z in (1,1,40) do <nul set /P "=%\b%" ) <nul set /P "= - !IP!..." set MAC= for /F "usebackq tokens=1,2" %%a in (`ping -w %W% -n %N% !IP! ^| arp -a ^| find "!IP! " ^| find /V "00-00-00-00-00-00"`) do set MAC=%%b if "*"=="!MAC!*" ( <nul set /P "= not found" ) else ( <nul set /P "=%\b%%\b%%\b% %\b%%\b%%\b%, locked on !MAC!" arp -s !IP! !MAC! > nul 2>&1 echo. ) ) echo. echo Press any key for release locks and done... pause > nul 2>&1 arp -d > nul 2>&1 Первым аргументом указывается IP-адрес (например 192.168.1.1), диапазон (например 192.168.1.1-100) или подсеть (например 192.168.1.*). Вторым и третьим аргументом можно указать время таймаута для обнаружения и количество попыток, но по умолчанию значения оптимальные. Запускается на Windows XP и выше, за работу на Windows 2000 не уверен. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
orlik Опубликовано 20 мая, 2017 · Жалоба Для того чтоб отлавливать дублирующиеся адреса есть arping , гораздо удобнее чем просматривать апр таблицу Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
alibek Опубликовано 20 мая, 2017 · Жалоба Под Windows? В скрипте используются только встроенные инструменты. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
orlik Опубликовано 21 мая, 2017 · Жалоба Да под виндовс . Про решение задачи через встроенное по вы ничего не писали. Использование доп утилит сильно упрощает жизнь Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...