2013-11-19 6 views
2

Я создал пакетный файл, который проверяет, находится ли ip-адрес в сети (в той же сети). Я использую команду ping. Программа отлично работает, но, к сожалению, они сильно меняют IP-адреса устройств, поэтому мне нужно повторно просмотреть IP-адрес и перезапустить программу. Я ищу легкую замену IP-адреса, так как это больше не работает. я также должен знать метод обнаружения, находится ли он в сети, предполагая, что я не могу продолжать использовать ping с errorlevel или трассировать с уровнем ошибок. Мне просто нужно убедиться, что адрес не меняется.обнаружение, если устройство находится в сети

Редактировать: Я думаю, что буду использовать MAC-адрес, поскольку это не меняется, только мне нужен способ определить, находится ли адрес mac в сети, но не используется команда arp -a, поскольку это отображает список адреса mac, но не позволяет вам его вычеркивать. Надеюсь, это с тех пор.

+0

Вы можете использовать имя компьютера? 'ping serverfarm25', если имя компьютера serverfarm25 – foxidrive

+0

Это сработает, но если бы я сделал это с помощью некомпьютерного устройства, например, ipod ... – coltonon

+0

Вы действительно пытаетесь выполнить ping iPod, чтобы узнать, есть ли он в Интернете ? : D – foxidrive

ответ

0

Хорошей идеей для замены IP является поиск MAC-адреса с использованием IP-имени, известного и хранящегося для дальнейших пингов. Если ip не существует из-за повторного назначения, поиск с использованием MAC, который не изменится.

В Linux

#Get the from local arp table 
ipaddr=$(arp | grep 52:45:32:3E:B3:C9 | awk ' { print $1 } ') 

Этот код может быть песок Witched в существующий код, который проверяет наличие периодически. Refer: How to ping MAC adrress in linux

+1

Я думаю, что вопросник хочет, чтобы soloution исполнялся в пакетном скрипте. – Monacraft

+0

Удивительно, но мне нужно это для партии. Всякий раз, когда я пытаюсь «пинговать» адрес Mac, я получаю только ошибку. – coltonon

+1

@coltonon Использование в windows as: arp -a | findstr 192.168.0.2, это вернет строку, вторым параметром которой является MAC-адрес. Например, выход для «arp -a | findstr 192.168.0.2» выглядит следующим образом: 192.168.0.2 01-00-5e-00-00-16 static -> здесь «01-00-5e-00-00-16» - это MAC-адрес. если ping с ip не удаляет relookup arp с сохраненным адресом mac as arp -a | findstr 01-00-5e-00-00-16 –

3

В Windows вы можете запустить 'arp -a', чтобы увидеть все устройства, подключенные к вашему компьютеру.

Эта команда перечисляет MAC-адрес и IP-адрес каждого устройства, поэтому вы можете использовать этот вывод для поиска обновленного IP-адреса вашего устройства в этом списке.

В вашей .bat скрипт, вы можете разобрать переменные

Ссылка: ARP: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/arp.mspx?mfr=true

Синтаксический текст в .bat сценария: Parsing string in batch file

Смежные вопросы