LINUX.ORG.RU

Pasiba.

Ono.

anonymous
()

Дорогой anonymous - какая у вас стоит операционная система если не секрет?
(собираю небольшую статистику)
потому что очень меня напрягает вещь что многое ставиться бинарями и народ не привыкает
что софт должен всегда собираться из сорцов .. в этом плане мне очень нравится
идеология FreeBSD - в ней вроде "все правильно". [holly war - сосать].

lg ★★
()

Privet lg!!!

Etot tot samiy anonimus, kotoriy zadal etot vopros, takje tot samiy, kotoriy zadaval voprosi neskol'ko ranee o tom, kak napisat' TCP clienta (imeetsya vvidu hardware part a ne vsyakay soft fignya tipa: "open, bind, listen, accept...") na controllere.

I vot poyavilas' u menya problemka sleduyuschego tipa: - moya jelezyaka zvonit Linux mashine i po PPP s svyazivaetsya Lin mashinoy, - TCP otveta na perviy TCP/IP paket ya ne poluchayu.

Voznikaet vopros: "Why?". Zapuskayu tcpdump, on mne pishet, chto u menya nepravil'naya checkSum IP paketa.

Vot dlya etogo mne i ponadobilis' ishodniki tcpdump. Interesno, kak je tcpdump rasschitivaet checksum.

Pasiba sasha999, ishodniki Ok i bolee togo, tcpdump schitaet checkSum takje kak i ya!!! Chert.

I vot Dorogoy lg, esli uj Vi stol' opitni v *nix sistemah, podskajite tupomu anonimusu, kak skompilit' ishodniki s dobavlennoy v nih Debug figney.

Mujiki, ocen nado ;)))

A na schet Operacionki. Tochno ne znayu, po-moemu Suse6.1, komp stoit na rabote, pritaschil ya ego dlya otladki iz sosedney komnati ;))) Dlya menya versiya i tip *nix - sovershenno nevajno.

anonymous
()

транслит все таки плохо по мне ну да ладно:
так я и не понял:
> kak napisat' TCP clienta (imeetsya vvidu hardware part a ne vsyakay soft
fignya
ты имеешь ввиду не napisat' а spayat'? или все же написать soft для контроллера этой железки?
если спаять то я тут мало чем помочь могу. Если софт то надо определиться:
1) что за железка такая? какая архитектура и все такое
2) что от нее тебе надо? (a: будет у меня автоматически дозваниваться провайдеру при получении
IP пакета и обрывать соединение после некоторого idle timeout b: будет роутить или натить чтото c: иметь telnet севис
etc etc)

Еще у меня возникла мысль что эта железка некая карта (PCI | ISA)? И ты хочешь написать к ней некий специфичный
драйвер?
тогда напиши что это за карта:
1) Что умеет
2) Что надо

еще не понятно о какой checksum идет речь:
1) о ip checksum
2) tcp checksum
3) other checksum (f.i: icmp checksum)

еще раз спрошу - не портит ли этот checksum на своем хардверном уровне.
то есть допустим не проставлен флаг во время записи пакета в ее буффер что checksum уже посчитана.
или checksum delayed - типа ей надо посчитать все это дело ..

вобщем давай все подробно описывай и не стесняйся ..

lg ★★
()

Izvini za translit, mne i samomu prosche pisat' na English or Deutsch, but I'm not sure you can understand me.

Ya - student v odnom nemeckom VUZe i parallel'no podrabativayu na jizn' :)) Zadachka sleduyuschaya:

1. Est' kakaya-to jelezyaka, kotoraya sobiraet dannie. Posle togo, kak dannie sobranni ih nado kuda-to det'.

2. Est' odin pribor, nazivaetsya defibrillyator i nositsya na cheloveke. Defibrillyator imeet v sostave analizytor kardiogrammi i, kogda u cheloveka ne vse v poryadke s serdcem, rabotaet kak shocker. Parallel'no nado dat' znat' vrachu chto u pacienta problemi.

3. Est' esche kakie-to byaki, kotorie doljni posilat' i prinimat' dannie.

Vse, chto opisano vishe, snabjeno GSM modemom. Pri neobhodimosti dozvanivaetsya kuda nado i t.d. Ti, konechno, znaesh, o "sloistosti" steka:

SERIAL, PPP, IP, TCP, Application level.

Application level budet svoy, no seychas, dlya testa ya zadalsya HTTP clientom. V konechnom itoge, esli ya smogu po TCP/IP, port 80, poslat' stroku "GET" i poluchit' vrazumitel'niy otvet ot apache, znachit PPP and TCP/IP stack are OK.

>что за железка такая? какая архитектура и все такое V jelezke stoit MSP kontroller ot Texas Instrument, kotoriy po RS232 soedinen s modemom.

тогда напиши что это за карта: 1) Что умеет 2) Что надо

Poka nichego ne umeet, chto nado - napisal vishe.

Tak vot. S modemom ya uje "dogovorilsya": on zvonit i dozvanivaetsya. S PPP toje proshel: otkril LCP, po IPCP poluchil IP address sebya i hosta, oblomal CCP na schet compression - no compression are used. Vse eto testiroval s pomosch'yu pppd na Linux mashine: delal log file i smotrel che proishodit. Teper' Linux mashina shlet mne LCP Echo Request packets, moya jelezyaka bodro ovvechaet LCP Echo Reply.

Sleduyuschiy shag - otkrit TCP/IP level. Poetomu, posle togo, kak otkrilsya PPP, ya shlyu perviy TCP/IP packet, s PPP on viglyadit sleduyuschim obrazom (log ot moego kontrollera):

--> Gesendeter PPP Frame: 7e ff 03 00 21 45 10 00 2c 00 00 00 00 40 06 97 07 c0 a8 01 02 c0 a8 01 01 07 e4 00 50 00 00 00 00 00 00 00 00 60 02 01 00 6b 3a 00 00 02 04 01 00 5f 8c 7e

dlya testa ispol'zuyu tcpdump, on mne daet

192.168.1.2.2020 > 192.168.1.1.http: S 0:0(0) win 256 <mss 256> [tos 0x10] (ttl 64, id 0, bad cksum 9707!) 4510 002c 0000 0000 4006 9707 c0a8 0102 c0a8 0101 07e4 0050 0000 0000 0000 0000 6002 0100 bda4 0000 0204 0100

chto-to yavno ne to, poskol'ku ya vchera vzyal funkciyu vichisleniya IP checksum iz tcpdump programmi - rezul'tat tot je chto daet i moya funkciya.

Ochen' hochetsya v tcpdump, v mesto rasscheta checksum vstavit' neskol'ko debugovih shtuchek, perekompilit tcpdump, a potom posmotret' v chem je problema.

No ya - ne slishkom opiten v Linuxe, vchera slil ishodniki tcpdump, raspakoval, a dal'she che? Dayu '#make', Linux pishet

make: *** No targerts. Stop.

dayu "make install", pishet: 'make: Nothing to be done for install'

Esli ne trudno, prosvyatite chaynika. Mojet k tomu vremeni ya i sam naydu, no vse je poka ne nashel :)

A vasche ya baldeyu ot Open Source. Klassnaya shtuka. V proshlom godu pisal UDF generator faylovoy sistemi dlya Nero (oni nedaleko nahodyatsya), dlya testa vstavlyal debug primochki v drayver UDF sistemi Linuxa, delal 'make modules', zameschal stariy drayver novim, potom montiroval projjeniy mnoyu disk ot moego generatora. V /var/log/messages smotrel, che proishodit. Interesno, kak bi ya otlajival takoy pribambas ne bud' Linuxa? ;-))) Teper' pochti takaya je ficha, tol'ko nado nayti kak peresobrat' paket.

Bye. Bis dann. Sergey.

anonymous
()

Che-to ne vse 'Enter' srabotali :)

anonymous
()

клевая фишка :) я видел подобное по телику ..
сразу видно по пакету что говно ..
и что это за 5f 8c 7e? явно левость .. 02 04 01 00 я так понимаю что это maximum segment size = 256 к томуже ip_len = 44 (00 2c) а у тебя 47 - то есть
3 лишних байта откуда то (может ты в checksum засунул тоже?).

есть уже написаные "мини ip/tcp стеки" с рабочим интерфесом для app level
называется эта хрень uip:
In recent years, the interest of connecting small embedded devices to IP networks has increased. In order to be able to communicate over the Internet, an implementation of the TCP/IP protocol stack is needed. uIP is an implementation of the most important parts of the TCP/IP protocol suite. The goal of the uIP implementation is to reduce both the code size and the memory usage to a minimum. uIP is an order of magnitude smaller than any existing generic TCP/IP stack today - in fact, it is probably the smallest TCP/IP stack ever written in a high level language. uIP is written in the C programming language and the source code is free to distribute and use for both non-commercial and commercial use

http://dunkels.com/adam/uip/

Удачи!

lg ★★
()

клевая фишка :) я видел подобное по телику ..
сразу видно по пакету что говно ..
и что это за 5f 8c 7e? явно левость .. 02 04 01 00 я так понимаю что это maximum segment size = 256 к томуже ip_len = 44 (00 2c) а у тебя 47 - то есть
3 лишних байта откуда то (может ты в checksum засунул тоже?).

есть уже написаные "мини ip/tcp стеки" с рабочим интерфесом для app level
называется эта хрень uip:
In recent years, the interest of connecting small embedded devices to IP networks has increased. In order to be able to communicate over the Internet, an implementation of the TCP/IP protocol stack is needed. uIP is an implementation of the most important parts of the TCP/IP protocol suite. The goal of the uIP implementation is to reduce both the code size and the memory usage to a minimum. uIP is an order of magnitude smaller than any existing generic TCP/IP stack today - in fact, it is probably the smallest TCP/IP stack ever written in a high level language. uIP is written in the C programming language and the source code is free to distribute and use for both non-commercial and commercial use

http://dunkels.com/adam/uip/

Удачи!

lg ★★
()

и что это за 5f 8c 7e? явно левость .. Kak ya uje pisal vishe TCP/IP sidit na PPP. 5f 8c - checkSum PPP packeta. 7e - flag okonchaniya PPP paketa.

Esli zametil, vnachale stoit toje PPP header: 7e ff 03 00 21

7e - flag PPP paketa. 0021 - IP paket.

>ip_len = 44 (00 2c) а у тебя 47 - то есть >3 лишних байта откуда то (может ты в checksum засунул тоже?).

Ugu. TCP/IP paket 44 bayta. 47 vzyalos ot togo, chto 3 bayta v konce prinadlejat PPP level. PPP doljen proverit' svoyu checkSum (te samie 5f 8c) i dat' IP tol'ko 44 bayta. Kstati, PPP rabotaet, pppd daet dannie "vishe", a tam uje fignya :)

Pasiba za ssilochku, pozje glyanu. Thanks and Good luck :)))

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.