Войти

Показать полную графическую версию : Аппаратный ping


InnoSanctum
14-11-2006, 16:20
Скажите, кто знает: можно ли "пропинговать" устройство по аппаратному адресу?
Суть вот в чем: получил тему диплома. Тема такая: "Разработать систему для проверки работоспособности каналов связи". Подошел за расшифровкой к руководителю, он мне вешает примерно следующее: "задача - написать программу, которая может сообщить информацию о том, где обрыв кабеля (или же какой беспроводной адаптер не работает). Она (программа) должна уметь опрашивать такие устройства, как роутеры, свитчи и хабы. Если устройство не отвечает, то должна об этом сообщать".. Типа такого. Вот я и думаю: ну, роутер - ладно. Но свитч и хаб - не имеют ай-пи адреса. Значит, нужно "пинговать" МАК?.. Реально ли это?

Coutty
14-11-2006, 17:03
InnoSanctum, зачем пинговать хаб и свитч? Нужно спинговать узел, с которым есть соединение только через этот конкретный хаб/свитч.

InnoSanctum
14-11-2006, 17:25
Хм.. А если к узлу лежат n (n>=2) линков? И мне нужно проверить все?
Ведь мне недостаточно узнать, есть ли связь с конкретным хостом - это и простой пинг умеет. Мне нужно узнать все маршруты к этому хосту. Насколько я понимаю, сформировать отчет :
Путь 1 к abc.abc.com (ip abc.abc.abc.abc):

1: IP xxx.xxx.xxx.xxx MAC xx:xx:xx:xx:xx Host Name xxxxxxx.xxxxxx.xx
2: IP yyy.yyy.yyy.yyy MAc yy:yy:yy:yy:yy Host Name yyyyyyy.yyyyyy.yy
.
.
.

Путь 2 :
1: IP nnn.nnn.nnn.nnn MAC nn:nn:nn:nn Host Name nnnnnn.nnnnnn.nn
2: вероятный обрыв

типа такого...

Если нет ай-пи и имени, значит, указать только МАК...

То есть, софтина должна работать на всех уровнях ОСИ от физического (МАК-адреса) до сеансового, пожалуй...

Но вопрос не в том. Вопрос - реально ли в принципе получить отклик от хаба, обратившись к нему по МАКу? И как вообще узнать МАК хаба?

kim-aa
14-11-2006, 17:46
Вопрос - реально ли в принципе получить отклик от хаба
Нет, не реально. Повторитель/Reapiter в чистом виде это просто многоканальный усилитель.
У 2х скоростных повторителей 10/100 есть встроенный бридж, соответственно они должны обладать служебным MAC.

Нечто подобное тому что вы ищите представляет собой 3COM-network-supervisor.

Необходимая Вам литература по работе мостов (свичей) http://www.kuen.ru/posts/cisco/Printsipy_kommutatsii_v_Cisco.rar

Заранее соболезную, книга толстая и фундаментальная.
Вас интересуют главы 5, 6

InnoSanctum
14-11-2006, 17:54
Нет, не реально. Повторитель/Reapiter в чистом виде это просто многоканальный усилитель.

:) Спасибо. Мне тоже так казалось. Постараюсь объяснить это своему руководителю:)

И за книгу - отельное спасибо.

BuGfiX
14-11-2006, 17:55
Вопрос - реально ли в принципе получить отклик от хаба, обратившись к нему по МАКу? И как вообще узнать МАК хаба?
Вот есть в линуксе такая утилитка, называется arping.
В виндовс про нее не слышал, но возможно есть что-то аналогичное...
А по поводу маршрута - так есть же traceroute (tracert).

InnoSanctum
14-11-2006, 18:10
Вот есть в линуксе такая утилитка, называется arping.
В виндовс про нее не слышал, но возможно есть что-то аналогичное..

мне ее предстоит написать:) Совместив с traceroute. Тraceroute не выдает МАК-адреса. И в маршрут вписывает только маршрутизаторы. А моя по идее должна еще и свитчи (хабы!??) учитывать. Вот я и думаю - как:)

Tigr
14-11-2006, 22:53
А моя по идее должна еще и свитчи (хабы!??) учитывать
Уточни формулировку у того мужика: любые свичи ?

InnoSanctum
15-11-2006, 15:26
Уточни формулировку у того мужика: любые свичи ?

Она должна "говорить", где обрыв. До _любого_ устройства или же после него. То есть, выводить отчет: устрйство такое-то присутствует, устройство такое-то уже не присутствует. Чтобы человек мог найти кабель между этими устройствами и заменить/прозвонить и т.п. Похоже на сказку... :) Ведь неясно, откуда мой комп может узнать, какие устройства на маршруте. По идее, можно находить последнее доступное.. Этого, вероятно, хватит. Но - любое. Проблема тут вот в чем: препод сам в этом плавает. Он сам не знает, что конкретно требуется. И поэтому требует все и сразу. Вот я и хочу узнать, что в принципе возможно, а что - нет. Могу ли я найти доступный напрямую хаб/свитч? Тот, в который непосредствнно воткнута моя сетевая карта?

Да, и еще: программа должна использовать bit-error-rate. Не совсем понятно, откуда возьмутся биты ошибки, если канала нет в принципе.. Но тем не менее. Препод объяснять что-либо отказывается, потому что (видимо) не знает, что сказать.

InnoSanctum
15-11-2006, 16:13
http://zhurnal.ape.relarn.ru/articles/2006/027.pdf

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

kim-aa
15-11-2006, 16:17
Есть такая программулина Dude - она может кое-что о чем Вы писали. И самое главное она Free. может Вам попробовать списаться с разработчиком. Он, по моему, из прибалтики.

Tigr
16-11-2006, 23:07
препод сам в этом плавает. Он сам не знает, что конкретно требуется
Поговори с ним без свидетелей и докажи, что он требует невозможного. Если заложить в прогу топологию сети, то по наличию/отсутствию пинга обрыв найти можно. Если такой информации нет, то задача, IMHO, невыполнима.

Greyman
20-11-2006, 21:05
InnoSanctumСпасибо. Мне тоже так казалось. Постараюсь объяснить это своему руководителю
Это не связано с поставленной им задачей:
задача - написать программу, которая может сообщить информацию о том, где обрыв кабеля (или же какой беспроводной адаптер не работает). Она (программа) должна уметь опрашивать такие устройства, как роутеры, свитчи и хабы. Если устройство не отвечает, то должна об этом сообщать
Ты сам себя изначально запутал сразу решив прользоватся транспортным уровнм модели OSI, т.е. протоколом IP... Но это уже 3-ий уровень..., что подразумевает, что под ним есть еще 2... Чтобы решить поставленную задачу тебе надо будет разбитатся в премудростях программирования управлением приемом/передачей/контролем непосредственно кадров протокола Ethernet (например)...

TigrПоговори с ним без свидетелей и докажи, что он требует невозможного. Если заложить в прогу топологию сети, то по наличию/отсутствию пинга обрыв найти можно. Если такой информации нет, то задача, IMHO, невыполнима.
Если препод действительно разбирается в сетевой модели, то в дураках окажется именно InnoSanctum. Вопрос в том, давали ли им необходимые знания..., но ведь всегда остается факультатив... Ну а аналогичных коммерческих продуктов в сети не так уж и мало (точно больше одного...;))...

InnoSanctum
22-11-2006, 15:41
:) знаете, бывают такие люди, которые признают только 2 мнения: свое собственное и неправильное. Вот мой препод именно из таких. Даже если совершенно очевидно, что он неправ, продолжает гнуть свое. Мне понравилось очень, когда он объяснял алгоритм шифрования ГОСТ и начал говорить, что исходный текст разбивается на фрагменты по 256 бит, а потом случайным образом выбирается фрагмент для шифрования с индексом i mod 8, где i возрастает до длины ключа, потому что 256 - это степень двойки, как и 8, и таким образом, все фрагменты обрабатываются в случайном, неизвестном предполагаемому хакеру, порядке. Когда же я ему заметил, что i mod 8 всегда меньше 8, и поэтому с таким подходом можно зашифровать не более 8 фрагментов, то есть, максимальный размер шифруемого сообщения - 256*8, он благоразумно отослал меня к литературе и авторам алгоритма. Туда же он отослал всех, у кого возникли вопросы "А почему все-таки именно 256?"..

Greyman я не решал пользоваться транспортным уровнем. Я как раз и пытаюсь узнать, как бы мне воспользоваться физическим или канальным.. Потому что исходник, скажем, пинга на С++ я может и найду, быть может, даже и разберусь в нем и смогу создать аналог. А вот аппаратный пинг (то есть, сперва узнать (КАК??) мак-адрес устройства, не имеющего ай-пи вообще, а потом выяснить, нормально ли оно функционирует). Был бы очень благодарен, если бы ты указал здесь хоть один. Dude (я его не копал глубоко, могу ошибаться) не выдает подобной инфы, он просто определяет (или угадывает?) топологию данного сегмента. Согласен, это немало, но он вряд ли пойдет дальше.

Greyman
23-11-2006, 12:38
InnoSanctum
Исходник... Хм-м-м... Т. е. нужно уже все готовенькое... Я уже давно забросил программирование, особенно системное, поэтому не слежу за соответствующими примерами реализаций решения тех или иных программерских задачь... Но сами-то спецификации протоколов являются открытыми. Найти соответсвующие библиотеки реализующие нужные функции тоже ИМХО не проблема... Т. ч. в практическом плане помочь не могу, но уверен что при желании нужную инфу всегда можно найти... Если нужен совет, то попробуй обратится с линух-программистам, они чаще сталкиваются с необходимостью решения ситсемных задач с помощью программирования... Ну и конечно очень желательно знание инглиша, большая часть инфы доступна именно на нем.

InnoSanctum
23-11-2006, 15:10
Ок, спасибо..
Буду копать интернет. :)




© OSzone.net 2001-2012