- Menu g³ówne
- Newsy
- Forum
- Hackme 1.0
- Hackme 2.0
- Hackme 3.0
- HackmeMove

- Audiobooki
- Videoarty
- B³edy w PHP
- Linux
- Kurs PHP
- Kurs MySQL
- Kurs Smarty

- JavaScript
- HTML5

- ReverseCraft
- Assembler
- Delphi
- Pozostale
- Materia³y
- Artyku³y
- Security
- Linux
- Software
- Protoko³y
- Poka¿ wszystkie
- Nasze projekty
- UW-Shell
- Multi Koder
- Zadania z MySQL
- BlipCounter
- UW-Blog
- Muzeum FAQ
- JSCms
- GG dekoder
- Tester nickow
..:: Protokó³ IRC ::..
Protokó³ IRC (Internet Relay Chat) to kolejny z opisywanych przez nas protoko³ów tekstowych u¿ywanych w internecie. Jego nazwa mówi sama za siebie - jest on u¿ywany g³ównie w sieci IRCnet (i w sieciach pochodnych). Daemon us³ugi IRC uruchomiony jest zwykle na porcie numer 6667.
Lista polskich serwerów irc:- warszawa.irc.pl
- krakow.irc.pl
- lublin.irc.pl
- poznan.irc.pl
- polska.irc.pl (to alias)
Nawi±zywanie po³±czenia
Jako ¿e sieæ IRC dzia³a w oparciu o protokó³ tekstowy, z wybranym serwerem ³±czymy siê przy u¿yciu programu telnet, pisz±c:
telnet jakis_host.irc.pl 6667Po nawi±zaniu po³±czenia
Pierwsz± czynno¶ci± jak± musimy wykonaæ po po³±czeniu jest identyfikacja, czyli podanie naszego hosta, nicka, nazwy u¿ytkownika, oraz prawdziwego imienia (to siê tylko tak nazywa, mo¿emy tu podaæ co chcemy). Piszemy wiêc poni¿sze dwie linijki:
user nazwa_u¿ytkownika nazwa_hosta nazwa_serwera :prawdziwe_dane nick nasz_pseudnonimTak bedzie wygladala informacja o nas po wej¶ciu na kana³:
-!- nasz_pseudonim [nazwa_u¿ytkownika@nazwa_hosta] -!- ircname : prawdziwe_dane -!- server : warszawa.irc.pl [ICM Warszawa, Poland]
Jako nazwe serwera wg. RFC powinni¶my podaæ nazwe serwera IRC z którym nawi±zujemy po³±czenie (troche to dziwne). Nazwa hosta mo¿e byæ naszym vhostem, o ile nasz system obs³uguje vhosty - w przeciwnym razie zostanie nam przyporz±dkowana nazwa hosta odpowiadaj±ca najczêsciej naszemu dostawcy internetu, czyli w moim przypadku bêdzie to: *.neoplus.adsl.tpnet.pl
Nazwa u¿ytkownika w przypadku domowych komputerów mo¿e byæ zwykle dowolna, lecz je¶li korzystamy z konta shellowego na którym zainstalowany jest daemon us³ugi ident, to zmuszeni jeste¶my do u¿ywania nazwy u¿ytkownika odpowiadaj±cej naszemu loginowi.
I tak oto zostali¶my po³±czeni z serwerem i siedzimy sobie na nim... no ale wypada³oby z kim¶ pogadaæ, wej¶æ na jaki¶ kana³ itp.
Podstawowe poleceniaZwykle przyzwyczajeni jeste¶my do tego, ¿e uruchamiaj±c IRC wchodzimy natychmiast na jaki¶ konkretny kana³. W takim wypadku wydajemy przez telnet polecenie:
join #kanal
Ale uwaga! jeste¶ po³±czony przez telnet, a nie przez klienta IRC, wiêc przed poleceniami nie dajesz ¿adnego slasha!
Wpisuj±c powy¿sze polecenie, pojawisz siê na kanale. Bêdziesz widoczny dla innych, a zaraz po wej¶ciu wy¶wietli ci siê lista userów. Od tej chwili bêdziesz widzia³ co pisz± inni, jednak nie bêdzie to czysty tekst, lecz informacje oprawione w ró¿nego rodzaju znaczniki. Oto przyk³ad:
:K3resek!keres@80.50.170.X PRIVMSG #uw-team :re
Powy¿szy tekst znaczy jedynie tyle, ¿e u¿ytkownik K3resek z ustawionym identem 'keresek' z hosta 80.50.170.X na kanale #uw-team powiedzia³ publicznie 're' ;]
Wypada³oby mu odpowiedzeæ, wiêc piszemy:
PRIVMSG #uw-team :hi keresek!
Uwaga! zauwa¿, ¿e po poleceniu PRIVMSG jako adresata poda³em #uw-team a nie K3resek. Sprawi³o to, ¿e mój tekst zosta³ wys³any na kana³, a nie na Priva.
Czêsto u¿ywane na IRC s± tzw. 'akcje', które na kanale wygl±daj± np. tak:
* Unknow zaraz wraca
Je¶li chcemy wywo³aæ co¶ takiego przez protokó³ IRC, musimy wpisaæ poni¿sze polecenie:
PRIVMSG #uw-team :\001ACTION zaraz wraca\001
Dodam jedn± wa¿n± uwagê. Przed wiêkszo¶ci± wypowiadanych tekstów dodajemy znak dwukropka, oznacza to, ¿e po nim wystêpuje wiêcej ni¿ jedno s³owo do zacytowania w poleceniu. Je¶li dwukropek nie wystêpuje, jest to znak, ¿e po adresacie wiadomo¶ci znajduej siê jedynie pojedyñcze s³owo do zacytowania.
Przyk³adowo:
privmsg #kanal :re all!wyswietli na kanale:
<nick> re all!
privmsg #kanal czesc wszystkim!wyswietli na kanale:
<nick> czesc
Rozmowe na PRIV prowadzi siê dok³adnie tak samo jak na kanale, z t± ró¿nic±, ¿e zamiast #kana³ podajemy nick u¿ytkwonika, do którego chcemy przes³aæ wiadomo¶æ
Utrzymywanie po³±czeniaJe¶li czytaj±c ten artyku³, sprawdzasz podane tu informacje w praktyce, to z pewno¶ci± dziwisz siê, dlaczego co ¶rednio 180 sekund serwer zrywa z Tob± po³±czenie. Dzieje siê tak za spraw± pinga, jednak nie chodzi tu o pakiet ICMP, lecz o specyficzny IRC'owy rodzaj komunikatu kontrolnego o tej samej nazwie.
Co kilkaset sekund (zwykle 180 lub wiêcej) serwer IRC przesy³a do u¿ytkownika tekst kontrolny, przyk³adowo:
PING 1234567890
Zabieg ten s³u¿y do sprawdzenia, czy u¿ytkownik nadal jest po³±czony z serwerem, jak i do obliczenia szacunkowego laga (opó¼nienia) w przesy³aniu informacji. Ci±g cyfr 1234567890 to zwykle timestamp, czyli unixowy znacznik czasu.
Po otrzymaniu od serwera podanego wy¿ej komunikatu, trzeba odpowiedzieæ na niego mo¿liwie szybko komunikatem PONG, zawieraj±cym ten sam timestamp. Na udzielenie odpowiedzi mamy zwykle oko³o 180 sekund, czyli dok³adnie tyle, za ile przyjdzie drugi pakiet kontrolny.
Przyk³ad komunikacji powinien wiêc wygl±daæ nastêpuj±co:
Serwer:PING 1234567890U¿ytkownik:
PONG 1234567890Zakoñczenie
Przedstawi³em Ci absolutne podstawy protoko³u IRC, niezbêdne do komunikacji z serwerem, lub do napisania prostego klienta. Je¶li zainteresowa³ Ciê ten temat, to odsy³am do dokumentów RFC po¶wiêconych protoko³owi IRC.
Uwa¿asz, ¿e prezentowane przez nas informacje s± u¿yteczne? Pomó¿ nam je wypromowaæ!
- Newsletter
- Je¶li chcesz byæ powiadamiany o nowo¶ciach na stronie, wpisz tu swój e-mail
Copyright © 2003-2012 by UW-Team.org - All rights reserved.
Design by Skwara, coded by Unknow




Shell status: 

