Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Как быстро просканировать сеть

Ответить
Настройки темы
Любой язык - [решено] Как быстро просканировать сеть

Аватара для root221

Старожил


Сообщения: 177
Благодарности: 13

Профиль | Отправить PM | Цитировать


Изменения
Автор: root221
Дата: 13-07-2011
Нашел bat скрипт который сканирует сеть, хочу узнать, как ускорить процесс в несколько раз.

Код: Выделить весь код
@echo off
rem 	13.08.2008

if `%1`==`_` (GoTo L%2) else (
if `%1`==`` (set Base=10.10.127) else set Base=%1)

set Logs=IP_List
Echo.>>IP_List.txt
Echo  IP-List of %Base%.0 at %Date%  %Time:~0,8%>>IP_List.txt
Echo ==================================================>>IP_List.txt

for /L %%z in (1,1,254) do (
 echo %Base%.%%z
 cmd /v:on /c %0 _ 1 %Base% %%z>>IP_List.err.txt
 )
GoTo End

:L1
ping -a -w 1 -n 1 %3.%4>%Temp%\IP_List-%4.tmp
if ErrorLevel 1 (del %Temp%\IP_List-%4.tmp
 GoTo End)
set n=.
for /f "tokens=2 delims= " %%a in (%Temp%\IP_List-%4.tmp) do if !n!==. set n=%%a
set m=??-??-??-??-??-??
for /f "tokens=1,2 delims= " %%a in ('arp -a') do if `%%a`==`%3.%4` set m=%%b
echo %3.%4	%m%	%n% >>IP_List.txt
del %Temp%\IP_List-%4.tmp

:End
exit

Отправлено: 10:00, 12-07-2011

 

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


если я правильно понял и задача лишь обновить ARP кэш:
Код: Выделить весь код
for /l %%a in (1,1,254) do start "" /MIN ping -w 100 -n 1 10.0.0.%%a

Последний раз редактировалось amel27, 12-07-2011 в 11:54.

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:44, 12-07-2011 | #2



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

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


Аватара для root221

Старожил


Сообщения: 177
Благодарности: 13

Профиль | Отправить PM | Цитировать


да именно так оно и есть...

только окон открывается столько что мама негорюй, после запуска этого скрипта

Последний раз редактировалось root221, 13-07-2011 в 05:49.


Отправлено: 11:50, 12-07-2011 | #3


Аватара для Xaegr

Сотрудник Microsoft


Сообщения: 56
Благодарности: 24

Профиль | Сайт | Отправить PM | Цитировать


Задачка показалась интересной, так что минус час, плюс многопоточный сканер сети на PowerShell
http://xaegr.wordpress.com/2011/07/12/threadping/
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:51, 12-07-2011 | #4


Аватара для root221

Старожил


Сообщения: 177
Благодарности: 13

Профиль | Отправить PM | Цитировать


подскажите как переписать чтобы не открывалось много консольных окон

Код: Выделить весь код
for /l %%a in (1,1,254) do start "" /MIN ping -w 100 -n 1 10.0.0.%%a

Отправлено: 14:07, 12-07-2011 | #5


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата root221:
переписать чтобы не открывалось много консольных окон »
только через вызов из CMD дополнительного VBS:
Код: Выделить весь код
(for /l %%a in (1,1,254) do @Echo CreateObject^("WScript.Shell"^).Run "ping -w 100 -n 1 10.0.0.%%a",0
)>"%TEMP%\%~n0.vbs"
start "" wscript /Nologo "%TEMP%\%~n0.vbs"
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:39, 12-07-2011 | #6


Аватара для root221

Старожил


Сообщения: 177
Благодарности: 13

Профиль | Отправить PM | Цитировать


а как сделать чтобы только после выполнения этого скрипта через vbs продолжал выполняться мой скрипт

Последний раз редактировалось root221, 29-02-2012 в 07:43.


Отправлено: 15:03, 12-07-2011 | #7


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата root221:
сделать чтобы только после выполнения этого скрипта через vbs продолжал выполняться мой скрипт »
Код: Выделить весь код
@echo off
(for /l %%a in (1,1,254) do Echo CreateObject^("WScript.Shell"^).Run "ping -w 100 -n 1 10.0.0.%%a",0
 Echo WScript.Sleep^(3000^))>"%TEMP%\%~n0.vbs"
cscript /Nologo "%TEMP%\%~n0.vbs"
del "%TEMP%\%~n0.vbs"
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:14, 12-07-2011 | #8


Аватара для root221

Старожил


Сообщения: 177
Благодарности: 13

Профиль | Отправить PM | Цитировать


Огромное спасибо тебе, как самому активному и быстро реагирующему спецу))

Последний раз редактировалось root221, 13-07-2011 в 05:48.


Отправлено: 15:29, 12-07-2011 | #9


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата root221:
сделать както проверку если этот файл доступен то продолжение скрипта приостанавливается как только скрипт неможет найти скрипт vbs из папки темп тогда только он продолжал выполнять тот самый скрипт который вы мне написали для arp -a »
Спецу будет гораздо легче, если Вы начнёте использовать знаки препинания.
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:45, 12-07-2011 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Как быстро просканировать сеть

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Блог - Как быстро загрузиться в Windows PE Vadikan Microsoft Windows 7 0 16-12-2010 10:30
Вопрос - [решено] пытаются просканировать IP.адрес gemazaev Защита компьютерных систем 13 22-09-2009 07:15
Как быстро просканировать сеть? RasKolbas Сетевые технологии 5 25-03-2008 16:02
Как просканировать компьютер на наличие открытых портов Merlin de Kamelot Сетевые технологии 2 13-01-2004 10:41
как быстро открыть флаш Dil Защита компьютерных систем 2 22-09-2003 12:30




 
Переход