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

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

Ответить
Настройки темы
CMD/BAT - [решено] Как вывести в лог значения из arp -a

Аватара для root221

Старожил


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

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


Изменения
Автор: root221
Дата: 13-07-2011
Вобщем такая задача, надо чтобы собиралась информация

из arp -a

и в лог записывались, только два значения.

Код: Выделить весь код
IP Машины     Мак адрес


10.0.0.1      001BF6F69B13
10.0.0.91     00DD105979F5
10.0.0.100    00BF1327D4D3
10.0.0.190    001FF6B41BC5

и.т.д

Отправлено: 11:40, 11-07-2011

 

Аватара для root221

Старожил


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

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


Foreigner, а если не одна ?

Я, указал, две переменные, которые должны выходить в конфиг.

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

Например, со второй и 4-ей строки, а параметр который будет в первой и 3-й строке, не читались вобще, т.к это будет коментарий, к двум параметрам, указанных ниже.


Код: Выделить весь код
LOG=arp.log
ARP=ON

Отправлено: 04:01, 16-07-2011 | #21



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

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


Ветеран


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

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


Код: Выделить весь код
; Мой комментарий 1
LOG=arp.log
; Мой комментарий 2
ARP=ON
Код: Выделить весь код
for /f "tokens=* eol=;" %%i in (config.cfg) do 1>nul set "%%i"
Это сообщение посчитали полезным следующие участники:

Отправлено: 05:52, 16-07-2011 | #22


Ветеран


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

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


root221,
Да хоть сто одна, все переменные определятся. Если есть комментарии, то прими поправку от Iska.
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:16, 16-07-2011 | #23


Аватара для root221

Старожил


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

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


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

И вот он:

Код: Выделить весь код
(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"
пример

in (1,1,254) - 254 переписать в переменную и вывести в конфиг чтобы было вот так 10.0.13.254

10.0.13.%%a - ну и вот это, тоже в переменную. (А вот как сделать чтобы вот это число %%a было последним как выделенно в будущем конфиг файле)

например, чтобы я написал в файле конфига 254.254.254.254 и просканировались все 254.254.254.254 компьютеров.

Канечно же, как вы уже догадались, так я сканировать никогда небуду, просто я к тому, чтобы я мог в конфиге мог написать 10.0.13.254

и все компьютеры, c 1 по 254 просканировались, которые находятся в 13 подсети Это число тоже хотелось бы менять произвольно на другой номер подсети.

Как же это можно сделать, чтобы не писать отдельно число 254 в файле скрипта, создавая для него ещё одну переменную, внутри скрипта.

Вот так я бы хотел чтобы выглядел весь конфиг файл:

Код: Выделить весь код
# Файл в котором хрянятся логи  кэша
LOG=file.txt
# Вывод в консоль ON= Только компьютеры, которых в момент проверки небыло в кэше.
# Вывод в консоль OFF= Только компьютеры, которые есть в списке лог файла.
ARP=ON

# Адрес сканирования, ((254) - количество запросов).
10.0.13.254
В данны момент, пока что мозгов хватило только на:

Код: Выделить весь код
# Файл в котором хрянятся логи из таблицы кэша
LOG=file.txt
# Вывод в консоль ON= Только компьютеры, которых в момент проверки небыло в кэше.
# Вывод в консоль OFF= Только компьютеры, которые есть в списке лог файла.
ARP=ON

# Адрес сканирования, ((254) - количество запросов).
IPAddr=10.0.13.
IPNum=254
Foreigner,
Цитата Foreigner:
Да хоть сто одна, все переменные определятся. Если есть комментарии, то прими поправку от Iska. »
Я только начал вникать, если что не так сказал, извини.)

твой скрипт работал, просто ошибки были, когда комментарии оставлял в конфиге, поэтому решил спросить, "а если не одна"

Последний раз редактировалось root221, 16-07-2011 в 12:41.


Отправлено: 08:10, 16-07-2011 | #24


Ветеран


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

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


root221,
Подставь те переменные, что указаны в конфиге в батник, например:
Код: Выделить весь код
@echo off
setlocal

for /f "tokens=* eol=#" %%i in (config.cfg) do 1>nul set "%%i"

(for /l %%a in (1,1,%IPNum%) do ... "ping -w 100 -n 1 %IPAddr%%%a ...
ЗЫ. А зачем vbs из батника? Ведь все это можно и без vbs

Цитата:
Я только начал вникать, если что не так сказал, извини.)
За что? Ты спросил я ответил.

Отправлено: 08:43, 16-07-2011 | #25


Аватара для root221

Старожил


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

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


Цитата Foreigner:
Подставь те переменные, что указаны в конфиге в батник, например:

Код: Выделить весь код
@echo off
setlocal
for /f "tokens=* eol=#" %%i in (config.cfg) do 1>nul set "%%i"
(for /l %%a in (1,1,%IPNum%) do ... "ping -w 100 -n 1 %IPAddr%%%a ... »
Вы мне ещё написали несовсем так, как я хотел, вы мне написали так, как у меня сейчас сделано, о чём я писал выше.

Config.cfg
Заметтьте, я хотел чтобы число писалось не отдельно, как у вас %IPNum%, а слитно вместе с IP

чтобы не так было:

Код: Выделить весь код
IPAddr=10.0.13.
IPNum=254
а вот, так

Код: Выделить весь код
IPAddr=10.0.13.254

Отправлено: 09:40, 16-07-2011 | #26


Ветеран


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

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


Цитата root221:
потому что я просто обновляю арп кеш, т.к через vbs посылается разом 254 запроса а если через cmd то по 1-му каждые 100 милисекунд »
Единственный плюс для vbs -- не создаются окна. А пинг и в cmd идет одновременно по всем адресам:
Код: Выделить весь код
for %%i in (ya.ru mail.ru google.ru) do start ping -n 11 %%i

Последний раз редактировалось Foreigner, 16-07-2011 в 13:43.


Отправлено: 13:35, 16-07-2011 | #27


Аватара для root221

Старожил


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

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


Цитата Foreigner:
»
Про такой приём я знаю, вот только 255 компьютеров вбивать в одну строку, я устану.

Код: Выделить весь код
for /l %%a in (1,1,254) do ping -w 100 -n 1 10.0.0.%%a
255 окон открывается разом а через VBS этого невидно.

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


Аватара для root221

Старожил


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

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


так что насчёт конфига ? его вобще можно сделать ?

хотябы

Код: Выделить весь код
s=10.0.0.1
po=10.0.0.254

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


Googler


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

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


Цитата root221:
так что насчёт конфига ? »
пост #29

Отправлено: 16:53, 18-07-2011 | #30



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Quake 3 server не максимально использует сеть. naxaH Игры 0 07-06-2011 13:54
[решено] Как получить MAC -адрес сетевой карты на удаленном компьютере garanov AutoIt 2 16-12-2009 16:07
Прочее - как получить доступ в городскую сеть sergchopper Сетевые технологии 3 11-01-2009 12:35
Как быстро просканировать сеть? RasKolbas Сетевые технологии 5 25-03-2008 16:02
Как запретить сканирующему сеть получить информацию обо мне? pazdak Microsoft Windows NT/2000/2003 9 03-04-2004 01:27




 
Переход