| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Някой да разбира интернета на ниско ниво? http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=10392 |
Страница 1 от 4 |
| Автор: | Реконструктор [ Чет Авг 16, 2012 11:57 am ] |
| Заглавие: | Някой да разбира интернета на ниско ниво? |
По-специално ICMP пакетите? |
|
| Автор: | ike [ Чет Авг 16, 2012 12:27 pm ] |
| Заглавие: | Re: Някой да разбира интернета на ниско ниво? |
Потърси от къде да си купиш тази книга http://www.google.com/search?num=100&hl ... trated+pdf Edit: Направо питай, някой може и да знае. |
|
| Автор: | Реконструктор [ Чет Авг 16, 2012 12:44 pm ] |
| Заглавие: | Re: Някой да разбира интернета на ниско ниво? |
Ами въпроса не е теоретичен, конкретен проблем е. Значи идва icmp пакет за ping и изглежда наред, с едно изключение. Полето тип съобщение правилно е равно на 8, но поради някаква причина кодът е 6, вместо единствения допустим 0. И понеже стека проверява тип==8 && код==0 този пакет се дропва и не се обработва нататък. Та въпросът е защо кодът е 6, и безопасно ли е просто да премахна проверката за кода? |
|
| Автор: | ДедоБоре [ Чет Авг 16, 2012 3:18 pm ] |
| Заглавие: | Re: Някой да разбира интернета на ниско ниво? |
с какво успяваш да произведеш такъв пакет (с code=6)? щом в RFC-то не се споменава код 6, би трябвало да игнорираш пакета. |
|
| Автор: | tgi [ Чет Авг 16, 2012 3:19 pm ] |
| Заглавие: | Re: Някой да разбира интернета на ниско ниво? |
Наизуст не ги помня, писах tcp/ip преди над 5 години, а съм навън и гордо се обаждам от грамофпна (смартфона). Но съм 90+% сигурен, че icmp пакетите бяха описани в rfc791. То и няма пинг като понятие всъщност, така се казва юникс командата. Името е ICMP ECHOпакет, има ги и други видове, може би баш това питаш ама не съм ти гледал линка. |
|
| Автор: | ДедоБоре [ Чет Авг 16, 2012 4:36 pm ] | |||||||||
| Заглавие: | Re: Някой да разбира интернета на ниско ниво? | |||||||||
792 е за ICMP. текста за type=8 e следния:
демек - ако code не е 0, за пакета няма стандартизирано поведение и е най-добре да не му се отговаря |
||||||||||
| Автор: | tgi [ Пет Авг 17, 2012 2:22 am ] |
| Заглавие: | Re: Някой да разбира интернета на ниско ниво? |
Погледнах го сега rfc792 (мислех, че са в едно с IP в 791, бая време мина). Има някакво условно споменаване за кода "ако" е 0 когато говорят за идентификатора. Възможно да има стекове дето да ползват кода за идентификатор, то rfc792 и то е от 1981 (последна редакция на тия работи, после има добавки до ден днешен но не и към ехото). Опитай да му отговориш както подобава, със същия идентификатор и същия код, но тип 0 вместо 8 та да е отговор - не че знам какво очакваш да се получи ако му хареса отговорът или ако не му хареса Впрочем wireshark как го коментира като го види? Там има бая натрупано знание през годините, впечатляващо добре съм ги виждал да разплитат какво ли не. |
|
| Автор: | Реконструктор [ Пет Авг 17, 2012 12:14 pm ] |
| Заглавие: | Re: Някой да разбира интернета на ниско ниво? |
Абе оправих се, беше моя грешка. |
|
| Автор: | Реконструктор [ Съб Авг 18, 2012 11:22 pm ] |
| Заглавие: | Re: Някой да разбира интернета на ниско ниво? |
Добре, оказва се, че преди icmp пакета се праща ARP пакет. Стека си го парсва коректно, сглобява отговор и го праща обратно, но нищо не се случва. |
|
| Автор: | miro_atc [ Нед Авг 19, 2012 2:06 pm ] | |||||||||
| Заглавие: | Re: Някой да разбира интернета на ниско ниво? | |||||||||
Ако ти се чете, ти препоръчвам Illustrated TCP-IP - A Graphic Guide To The Protocol Suite ... Хубава е, достатъчно подробна (за да разбереш всичко), но не и прекалено (че да ти е скучно). И най-важното има много картинки Истината е обаче, че ако тръгнеш сам да си правиш стек или ползваш измислен такъв, ще изгубиш много време. Струва си, само ако целта ти е чисто образователна. От друга страна има работещи стекове - lwIP за по-сериозни неща и uIP за по-непретенциозни. Препоръчвам ти първия, подкарва се много лесно. В общия случай подкарването на ethernet е по-лесно и бързо отколкото коя да е друга периферия. |
||||||||||
| Автор: | tgi [ Нед Авг 19, 2012 4:37 pm ] | |||||||||
| Заглавие: | Re: Някой да разбира интернета на ниско ниво? | |||||||||
ARP (Address Resolution Protocol) е под IP-то, само в Ethernet го има да разбере пращащият към чий MAC адрес да прати пакета със съответен IP адрес. Ако трябва и това да правиш не е много работа но вече отиваш към някакво разслояване, не е като просто да съшиеш един ICMP пакет и да го пратиш към долното ниво. Трябва да broadcast-иш ARP питането, да слухтиш за отговор който я дошъл я не, я до тебе я не и т.н. Трябва и да отговаряш на ARP питания за да могат другите да те намерят. Можеш разбира се твърдо да зададеш връзките и на двете страни и да спестиш целия ARP трафик, това е лесно. ARP е описан е в rfc826. |
||||||||||
| Автор: | ДедоБоре [ Нед Авг 19, 2012 8:21 pm ] |
| Заглавие: | Re: Някой да разбира интернета на ниско ниво? |
има и такова нещо, нарича се arping (ping по arp). няма IP адреси, протоколи и такива ми ти работи. директно от MAC адрес ping-ваш МАС адрес. това е да поискаш ехо пакет на ниво 2, докато tcp, icmp и т.н. работят на ниво 3. но ми се струва, че тръгваш по грешна пътека. преди да се научиш да летиш, трябва първо да проходиш. иначе (от пълзене към летене) резултата е трагичен. намери някоя не много дебела книжка и виж кои са главните герой като за начало. после може да се задълбочаваш в детайлите. |
|
| Автор: | tgi [ Нед Авг 19, 2012 8:55 pm ] |
| Заглавие: | Re: Някой да разбира интернета на ниско ниво? |
Не му трябва книга. Аз като писах tcp/ip-то за DPS съм чел само rfc-тата. rfc-index.txt като има човек и знае кое да търси нататък Вярно, аз първо го направих да върви с ppp, после му писах Ethernet-и отдолу, ама това не прави особена разлика. Отне ми към 6 месеца от 0 до работещо tcp/ip с DNS и т.н. де. |
|
| Автор: | Реконструктор [ Съб Авг 25, 2012 11:48 pm ] | ||||||||||||||||||
| Заглавие: | Re: Някой да разбира интернета на ниско ниво? | ||||||||||||||||||
Подкарах и lwIP със сто зора. За съжаление, неуспешно. Ето това е пакета, който пристига като напиша "ping 192.168.0.11":
Това е отговора, който се праща от lwIP:
Ако е правилно, остава физически да не излиза нищо от контролера? |
|||||||||||||||||||
| Автор: | tgi [ Нед Авг 26, 2012 2:14 am ] |
| Заглавие: | Re: Някой да разбира интернета на ниско ниво? |
Тия двете са само ARP размяната, първото бродкасти питането, второто му отговаря на кой MAC адрес е IP адресът за който пита. Тоя дето пита не праща ICMP пакет въобще, нещо не му работи ARP-приемането или нещо подобно, във всеки случай IP нивото не праща нищо. |
|
| Страница 1 от 4 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|