реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Ping на новое устройство в сетке не проходит
gam71
сообщение Dec 6 2006, 18:40
Сообщение #1





Группа: Новичок
Сообщений: 12
Регистрация: 15-11-06
Пользователь №: 22 344



Что нужно послать с устройства в локальную сетку, чтобы определялись его IP
и МАС - адреса, короче был ответ на Ping.

Посылал ответ на APR-запрос(который посылается прогой Ping), ничего не получается, устройство в сетке не определено

Может кроме APR-ответа нужно еще что-нить послать...?

что делать, мож знает кто?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 6 2006, 18:45
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



APR-ответа достаточно. Скорее всего, у Вас где-нибудь ошибка в формате ответа.

P.S. А что значит "не определено"? Его нет в ARP-таблице?
Go to the top of the page
 
+Quote Post
gam71
сообщение Dec 6 2006, 19:03
Сообщение #3





Группа: Новичок
Сообщений: 12
Регистрация: 15-11-06
Пользователь №: 22 344



Цитата(aaarrr @ Dec 6 2006, 18:45) *
APR-ответа достаточно. Скорее всего, у Вас где-нибудь ошибка в формате ответа.

P.S. А что значит "не определено"? Его нет в ARP-таблице?


Делаю пинг с помощью проги MegaPing...
например при Пинге любого компа в сетке, загорается зеленая лампочка...типа прошел
а при пинге своего устройсва - красная лампочка и error!

в APR-таблице адрес прописывается и компов и устройства!

выкинуть прогу?? : ))
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 6 2006, 19:12
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(gam71 @ Dec 6 2006, 19:03) *
выкинуть прогу?? : ))

Я бы не стал спешить smile.gif А "обычный" ping работает?
Go to the top of the page
 
+Quote Post
Raimis
сообщение Dec 6 2006, 21:46
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 49
Регистрация: 23-11-05
Пользователь №: 11 279



Цитата(gam71 @ Dec 6 2006, 20:03) *
Делаю пинг с помощью проги MegaPing...

Незнаю я MegaPing, но могу посоветовать при наладке пользовать самую простую прогу (ping) и смотреть не на ответ, а через hub трафик на ethereal (или другим снифером).
А когда прибор работает, тогда можно и MegaPing'ом и чем угодно баловатся...
Go to the top of the page
 
+Quote Post
gam71
сообщение Dec 7 2006, 10:06
Сообщение #6





Группа: Новичок
Сообщений: 12
Регистрация: 15-11-06
Пользователь №: 22 344



Цитата(aaarrr @ Dec 6 2006, 19:12) *
Цитата(gam71 @ Dec 6 2006, 19:03) *

выкинуть прогу?? : ))

Я бы не стал спешить smile.gif А "обычный" ping работает?



обычный ping тоже не работает...

может есть инфа у кого....как правильно сформировать APR-ответ и запрос?
Go to the top of the page
 
+Quote Post
ValeraK
сообщение Dec 7 2006, 11:28
Сообщение #7


Частый гость
**

Группа: Новичок
Сообщений: 164
Регистрация: 11-01-05
Из: Россия, Снежинск
Пользователь №: 1 900



Цитата(gam71 @ Dec 7 2006, 12:06) *
может есть инфа у кого....как правильно сформировать APR-ответ и запрос?


Я делал ARP протокол следующим образом:

Адрес: Размер - Назначение (примечание) [обычное содержимое]
00: 6байт - PktDest (MAC) [FF FF FF FF FF FF]=при запросе
06: 6байт - PKtSrc (MAC)
0C: 1байт - PktTypeIP [08]
0D: 1байт - PktTypeARP [06]
0E: 2байта - HwType (Ethernet) [00 01]
10: 2байта - PrType (IPv4) [08 00]
12: 1байт - LHA (длинна MAC адреса) [06]
13: 1байт - LPA (длинна IP адреса) [04]
14: 2байта - OpCode [00 01]=запрос, [00 02]=ответ
16: 6байт - SHA (MAC от кого)
1C: 4байта - SPA (IP от кого)
20: 6байт - THA (MAC кому) [00 00 00 00 00 00]=при запросе
26: 4байта - TPA (IP кому)
При приёме данного пакета, если он бродакс и TPA совпадает со своим IP делаем:
1. копируем в PktDest из PktSrc, в PktSrc заносим свой MAC
2. в OpCode заносим [00 02]
3. копируем в THA из SHA, в SHA заносим свой MAC
4. меняем местами SPA и TPA
5. отсылаем этот пакет (размером 2Ah)

Собственно это всё что нужно сделать на ARP запрос.


ICMP (Ping) немногим сложнее, нужно принять IP пакет проверить контрольные суммы и т.д.,
в RFC это достаточно подробно описано.
Go to the top of the page
 
+Quote Post
KRS
сообщение Dec 7 2006, 12:16
Сообщение #8


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Поставте ethereal и посмотрите какие пакеты ходят по сети! (он их полностью расшифрует и укажет на ошибки)
http://www.ethereal.com
Go to the top of the page
 
+Quote Post
gam71
сообщение Dec 7 2006, 14:29
Сообщение #9





Группа: Новичок
Сообщений: 12
Регистрация: 15-11-06
Пользователь №: 22 344



Всем спасибо за инфу!..буду работать )
Go to the top of the page
 
+Quote Post
boez
сообщение Dec 8 2006, 13:59
Сообщение #10


Частый гость
**

Группа: Новичок
Сообщений: 79
Регистрация: 1-11-06
Пользователь №: 21 868



Извини, если глупый вопрос. ARP это хорошо. А на сам ICMP запрос ты отвечаешь? smile.gif

Кстати натыкался на то что контрольную сумму ICMP считать надо полюбому. Там вроде возможен в протоколе вариант, когда она нулем,то есть не используется - так вот винда такое игнорирует (я правда наоборот пинговал винду).
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Dec 8 2006, 18:20
Сообщение #11


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(boez @ Dec 8 2006, 13:59) *
Извини, если глупый вопрос. ARP это хорошо. А на сам ICMP запрос ты отвечаешь? smile.gif

Кстати натыкался на то что контрольную сумму ICMP считать надо полюбому. Там вроде возможен в протоколе вариант, когда она нулем,то есть не используется - так вот винда такое игнорирует (я правда наоборот пинговал винду).


более того...
на IP уровне Вам нужно поддержать разборку-сборку ай-пи пакетов (более 1500 по умолчанию, форточки)..
ARP - правильно формировать ответ (обеспечивая уникальность мак адреса, это так - к слову. потому как начинаешь шить кристалы одной прошивкой - так и приехал)...
ICMP - контролку правильно считать...

это пинг...
если дальше - то больше...
Тут правильно сказали - ничего лучше нет, как снифером ловить СТАНДАРТНЫЕ пакеты (не ваши) и смотреть как реагирует Ваше устройство.


с уважением
(круглый)
Go to the top of the page
 
+Quote Post
gam71
сообщение Dec 11 2006, 10:33
Сообщение #12





Группа: Новичок
Сообщений: 12
Регистрация: 15-11-06
Пользователь №: 22 344



APR-ответ формирую правильно, вот только как обеспечить уникальность МАС-адреса я что-то не подумал...как это сделать? прописывать новые МАС в регистрах контроллеров новых устройств?

ICMP-ответ генерю так-
принимаю данные обычно 32 байта (например в Ping'e Total Commander'a), переписываю данные в ICMP-ответ считаю суммы самого IP-пакета и ICMP-пакета внутри него и отправляю...
вроде нормально проходит и устройство определяесть в сети!

"это пинг...
если дальше - то больше..."

а что дальше? что еще нужно, если устройство в сети определено..
пакеты направляемые с компа по IP-устройства...доходят к нему
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 11 2006, 12:43
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(gam71 @ Dec 11 2006, 10:33) *
APR-ответ формирую правильно, вот только как обеспечить уникальность МАС-адреса я что-то не подумал...как это сделать? прописывать новые МАС в регистрах контроллеров новых устройств?

Ну да, а как иначе два одинаковых устройства смогут работать рядом?

Цитата(gam71 @ Dec 11 2006, 10:33) *
ICMP-ответ генерю так-
принимаю данные обычно 32 байта (например в Ping'e Total Commander'a), переписываю данные в ICMP-ответ считаю суммы самого IP-пакета и ICMP-пакета внутри него и отправляю...
вроде нормально проходит и устройство определяесть в сети!

Так, заходим на новый круг wacko.gif
Что подрузамевается под невнятным термином "устройство определяется в сети"?
Что говорит "arp -a" после попытки пинга?
Правильно ли в ответном пакете указаны адреса получателя?
Проверяется ли контрольная сумма принятого пакета?
Go to the top of the page
 
+Quote Post
gam71
сообщение Dec 11 2006, 16:00
Сообщение #14





Группа: Новичок
Сообщений: 12
Регистрация: 15-11-06
Пользователь №: 22 344



>>Что подрузамевается под невнятным термином "устройство определяется в сети"?
>>Что говорит "arp -a" после попытки пинга?

Это значит, что Ping проходит и пишется 192.168.0.32 - 32 байт ок - 128 TTL

>>Правильно ли в ответном пакете указаны адреса получателя?
Правильно!

>>Проверяется ли контрольная сумма принятого пакета?
А вот контрольная сумма принятого ICMP-пакета не проверяется, просто переписываются данные из этого пакета в ICMP-ответ ,подсчитываю его контрольную сумму и отсылаю...
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 11 2006, 16:44
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(gam71 @ Dec 11 2006, 16:00) *
А вот контрольная сумма принятого ICMP-пакета не проверяется, просто переписываются данные из этого пакета в ICMP-ответ ,подсчитываю его контрольную сумму и отсылаю...

Попробуйте проверить контрольную сумму пришедшего пакета той же процедурой, которая используется при отправлении.
Если есть возможность, выложите здесь полные дампы запроса и ответа.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th July 2025 - 03:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.01504 секунд с 7
ELECTRONIX ©2004-2016