Alcatel OXO komunikace

Milan B. milan na bastl.sk
Čtvrtek Říjen 20 22:04:31 CEST 2011


On 20.10.2011 16:22, Zapletal Martin wrote:
> Pripojim se na 30021. dam usr a pass, TYPE I, SYST at vim, s kym mam 
> tu cest. Ted se pripojim na 31002. Oba jsou spojeny. Na 30021 dam STOR 
> LOGIN.DAT, transfer je ok a automaticky se odpoji 31002. A uz nejde 
> pripojit. V tom popisu se pise, ze je to "divne spojeni". Asi lidova 
> tvorivost, nicmene pokud se divam na komunikaci toho jineho prg, tak 
> tam myslim nevidim pasivni rezim a posila se PORT!!! Tady je soubor s 
> ulozenou komunikaci z Wireshark tak, jak to funguje. 
> www.soteza.cz/OXO.pcap
>

K vete: "Na 30021 dam STOR LOGIN.DAT, transfer je ok": Aky transfer? 
Robite ho? - totiz ziaden nezmienujete Z coho usudzujete, ze je OK? On 
sa totiz neurobi sam. Ak neotvorite datovy kanal, tak ziaden prenos sa 
neudeje.

Zbezny pohlad do komunikacie prezradza nasledovne (v podstate to 
zodpoveda tomu povodnemu popisu)

- ide o kombinaciu dvoch protokolov - FTP a niecoho navyse
- Nejedna sa o komunikaciu v pasivnom mode. Zmienka o pasivnom mode 
"connection to the pbx ftp port 30021 passive mode for transfer" bola 
mozno zavadzajuca. A mozno nie, a pasivny mod funguje. Ale ten odchyteny 
zaznam nie je v pasivnom mode.
- Data sa prenasaju standardnym sposobom, ako pri STOR tak aj pri RETR, 
cisla portu si vykomunikuju klient so serverom (a nepouziva sa ten port 
31002)
- Nazvy suborov sa pri prikaze STOR echuju cez spojenie, nadviazane cez 
port 31002; toto ovsem nie je sucastou FTP protokolu, to je to nieco navyse.

Pokial nefunguje pasivny mod - co by bolo treba vyskusat jeho spravnou 
implementaciou, tak by to pre vasu aplikaciu znamenalo, ze pre datove 
prenosy musi vytvorit port, oznamit ho FTP serveru prikazom PORT a potom 
na tomto porte a zahajit cakanie na spojenie. Potom vyslat prikaz STOR 
(cez prikazovy kanal cez port 30021) a po nadviazani spojenia zo strany 
servra preniest udaje na server a potom datovy kanal uzavriet. Pre 
prikaz RETR podobne, akurat z datoveho kanala sa bude citat a datovy 
kanal by mal uzavriet server. Paralelne by aplikacia mala citat data z 
portu 31002 ...

Komunikacia by mohla vyzerat takto:

 > USER
 > PASS
=== otvorit spojenie na port 31002
 > PORT
--- otvorit novy socket na porte poslanom prikazom port
 > STOR
=== vycitat data zo spojenia 31002
--- cakat na spojenie
--- po nadviazani spojenia poslat data
--- zavriet port (socket)
 > PORT
--- otvorit novy socket na porte poslanom prikazom port
 > RETR
--- cakat na spojenie
--- po nadviazani spojenia citat data az kym sa spojenie nezavrie
a dokola

V pasivnom mode to bude podobne (ak pasivny mod bude fungovat)
 > USER
 > PASS
=== otvorit spojenie na port 31002
 > PASV
 > STOR
=== vycitat data zo spojenia 31002
--- otvorit nove spojenie na port vrateny prikazom pasv
--- poslat data
--- zavriet port (socket)
 > PASV
 > RETR
--- otvorit nove spojenie na port vrateny prikazom pasv
--- citat data az kym sa spojenie nezavrie
a dokola

Takze ak implementujete FTP protokol tak, ako ma byt implementovany - s 
tym ze sa pre datove prenosy bude zakazdym otvarat novy kanal - tak by 
to mohlo ist. Za vyskusanie by stal aj ten pasivny mod, mozno - ak sa 
implementuje spravne - bude fungovat. Predpokladam ze ste si medzicasom 
presli to RFC, takze implementacia by uz nemala byt problem.

Neda sa to jednoducho otestovat pomocou standardneho FTP klienta s tym., 
ze sa paralelne v spravny cas na port 31002 zavesi nejaky telnet klient?

-m-

> MZ
>
> ----- Original Message ----- From: "Milan B." <milan na bastl.sk>
> To: "HW-news" <hw-list na list.hw.cz>
> Sent: Thursday, October 20, 2011 3:52 PM
> Subject: Re: Alcatel OXO komunikace
>
>
> On 20. 10. 2011 14:57, Zapletal Martin wrote:
>> Jedine porty na kterych ustredna odpovi jsou 30021 a 31002. Jakmile 
>> dam jiny port, tak se nechytnu
>>
> A kedy sa nechyti? Aj po prikaze RETR/STOR/LIST? Alebo len tak vseobecne?
>
> Ak  po prikaze RETR alebo LIST nepocuva na porte vratenom cez  PASV, tak
> to nie je FTP ale nejaky ich vlastny protokol inspirovany FTP.
>
> FTP server by mal zacat pocuvat na danom porte pre datovy prenos az po
> inicializovani prenosu prikazom RETR alebo LIST  a pod.
>
> A nove spojenie na novy port otvorite tak, ako ste otvorili toto prve
> (prikazove) spojenie. Asi na to bude treba novu, druhu instanciu toho
> komponentu ci co to tam mate. Prikazovy kanal musi ostat otvoreny.
>
>
> -m-
>
>> ----- Original Message ----- From: "Petr Tomasek" <tomasek na etf.cuni.cz>
>> To: "HW-news" <hw-list na list.hw.cz>
>> Sent: Thursday, October 20, 2011 2:52 PM
>> Subject: Re: Alcatel OXO komunikace
>>
>>
>> On Thu, Oct 20, 2011 at 02:50:23PM +0200, Zapletal Martin wrote:
>>> no, ale nejak tomu nerozumim. V textu se pise a ten program to tak i 
>>> dela
>>> ze se spojim na portu 30021. Az se spojim, tak se ma otevrit port 
>>> 31002. A
>>> ja se snazim otevrit spojeni na uplne jinem portu (ten co se mi 
>>> vrati pri
>>> pasivnim modu) a na nem connect nedostanu. Uz jsem z toho magor. Jak
>>> vlastne otevru nove spojeni?
>>
>> Tak, jak otevirate jakekoliv jine TCP spojeni.
>>
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list