ICQ & nat

Roman DAVID rdavid na danet.cz
Pátek Září 22 12:31:15 CEST 2000


Jan Satko wrote:
> 
> > > Mame tu pripojeni take NATem, beznou maskaradou 1:n. ICQ tu lidi pouzivaji
> > > bezproblemove (maji nejakou tu novejsi verzi, ja sam ho nepouzivam).
> > > Spravne ho tu mame mit zakazane, takze jsem koukal, ze se vzdycky snazi
> > > spojit se serverem login.icq.com - tech je nekolik s ruznymi IP a bezi to
> > > tam na vetsine portu.
> 
> A pre pripadneho zaujemcu este doplnim, ze ten popis fungovania icq2000
> nie je celkom spravny.
> icq2000 sa iba registruje na login.icq.com a potom sa snazi liezt na
> nejake ine-ipcka. Doteraz som nezistil odkial ich zobrali, ale
> prepokladam ze to budu servery, na ktorych bude chodit ta komunikacia.
> Bohuzial tie servery sa vzdy menia. T.j. treba zistit najprv ake ip-adresy
> pouzivaju a potom to mozte povolit na firewalle, pripadne socks5 proxy.
> Ked niekto zisti odkial ich beru nech mi napise. Mne sa to
> nepodarilo(nemaju ani reverzny zaznam :-()
> 

Nebyla nahodou puvodne rec o ICQ 99b ?

Cela vec trosku slozitejsi, pokusim se to tu popsat, pokud neco napisu
spatne, tak me opravte.

ICQ client si po spusteni otevre "nahodny" UDP a TCP port, spoji se s
serverem
(napr. icq.mirabilis.com:4000), posle mu username, pass, informaci o
IP adrese, zvolenem UDP +TCP portu. Potom si vyzada IP adresy + porty
uzivatelu uvedenych v contact listu. (toto se deje kazdych x minut).
Pokud potom chcete poslat zpravu uzivateli z vaseho contact listu,
icq client si zjisti (z lokalniho seznamu, pripadne na serveru), jakou 
ma IP a na kterem UDP nasloucha a pokusi se mu zpravu dorucit.
Tzn. ze do tohoto okamziku nebylo server zapotrebi, komunikace probiha
primo mezi klienty. (to budou zrejme ty zahadne IP :))
Pokud se mu to nepodari, nabidne volbu "zaslat pres server", kam zpravu
ulozi. Tu si potom cilovy uzivatel "vyzvedne" pri dalsim dotazu na
server.

Toto je velice zkraceny popis principu zasilani zprav pres ICQ.

V pripade prenosu souboru, nebo chatu pres ICQ, se navazuje 
prime TCP spojeni mezi klienty, moznost zaslani pres server odpada.
Z tohoto duvodu tyto sluzby nefunguji za maskaradou, respektive
pouze jednim smerem (smerem ven).


K celemu problemu lze nalezt specifikaci komunikace, ovsem je to velice
narocne cteni.


Roman DAVID


Další informace o konferenci Linux