==================================
By: z3r0.und3r
To: #n3ur0n4
Url: http://n3ur0n4.org
Reply to: z3r0.und3r@n3ur0n4.org
==================================
==================================
=>> PROTOCOLO IRC
==================================
1.- Relax e introducción
2.- Qué; es el protocolo IRC?
3.- Servidores
4.- Clientes
5.- Canales
6.- Usuarios
7.- EOF y avances
Relax e Introducción
Después de estar alejado de las redes un largo tiempo, me decidí a escribir un articulo sobre el protocolo IRC, perdonen si meto la pata ya que es mi primer tuto y que mejor que darles a conocer un poco de la funcionalidad detrás de los clientes IRC, y porque no, programarnos una robotina que nos auxilie dentro de nuestro canal de charla.
Este tema ya que hace algún tiempo que lo estuve investigando, ya que me decidí a programar un IRC Bot, así que tuve que aprender por la buena el funcionamiento del protocolo.
Al final de este tutoríal podrás crear, mantener, manejar, una conexión IRC mediante nuestro querido NetCat y/o Telnet, o por lo menos eso espero ya que si no adquieres esos conocimientos mínimos, entonces búscate otro paper que este no te sirvió de nada XD. Le dirás adiós a mIRC, Xchat, etc. Al igual que a sus scripts remotos con los que puedes crear pequeños Bots, y que mejor que php o algún lenguaje de tu preferencia para programar a los mismos.
¿Qué es el protocolo IRC?
El protocolo IRC (Internet Relay Chat) esta diseñado para conferencias basadas en texto. Desarrollado para que funcione sobre sistemas usuarios del protocolo TCP/IP.
El IRC es un protocolo que trabaja con el modelo cliente-servidor para el intercambio de información entre ambas partes de la comunicación.
Servidores
Un software que juega el rol de servidor, es aquel que provee un “servicio” a programas clientes, como por ejemplo un navegador Web, el cual se conecta al puerto 80 (el mas usual, pero dependiendo del administrador puede ser cualquier otro), y conforme el protocolo envía comandos y recibe respuestas a tales comandos.
Así un servidor IRC pone a la escucha un puerto para aceptar conexiones del exterior y así lograr la comunicación con los mismos, el puerto mas usual es el 6667 para clientes, y de la misma forma deja a la escucha algún puerto diferente para que se conecten otros servidores y así formar una red.
Clientes
Es aquel programa diseñado para conectarse a un servidor.
Cada cliente al conectarse a un servidor será distinguido del resto por un nombre identificativo (Nick), este no deberá ser igual al de otro cliente conectado a la red IRC, al ser idéntico, el servidor pedirá otro nick para poder ceder la conexión. Si es una red de servidores IRC, todos los servidores interconectados deberán de tener la información de los clientes conectados en toda la red para así lograr la comunicación.
Canales
Un canal es un espacio virtual en la red de servidores de IRC, en los cuales se lleva a cavo la comunicación entre los clientes conectados a un servidor. Un ejemplo muy citado en el tema del IRC es el de una casa (servidor), cada cuarto de la casa es un canal de Chat, si te encuentras dentro de un cuarto podrás comunicarte con todos lo presentes, pero en caso de que desees conversar con una persona que este en otra habitación tendrás que trasladarte a ese otro canal. En el IRC es parecido solo que no tendrás que salir de un canal para poder participar en una conversación que se efectué en otro canal. Podrás participar en tantos canales puedas atender.
Cada canal de charla esta destinado a tratar un tema o temas en específico, esto se puede deducir del nombre o del topic del canal.
Todos lo canales son listados en el servidor, para que los usuarios que apenas se conectan puedan consultarle y así entrar en el que mas les llame la atención, a menos que este en modo oculto.
Usuarios
En el IRC al igual que en cualquier ordenador, existen jerarquías de usuarios para llevar el control de los privilegios de cada uno y los roles a seguir, así como las responsabilidades.
- IRCOP: Este es el rey del servidor, tiene la posibilidad de bannearte permanentemente del servidor, bannear rangos de IP, entrar en un canal que necesite de password, patear a cualquier usuario dentro de un canal sea cual sea su rango y privilegios, se encarga del buen funcionamiento del servidor.
- OP: Administrador de un canal, se distingue de por un “@” antepuesto a su Nick, tiene los privilegios de dar/quitar OP temporal, voz, expulsar del canal (kick), setear topics, bannear, setear comandos del canal, etc.
- VOICE: Usuario con privilegios solo de participar en un canal moderado y se distingue por un “+” antes de su Nick.
Estos rangos de usuarios son los mas usados, ya que para los OP’s de los canales hay niveles de privilegios y superioridad, el usuario encargado de asignar estos niveles es el OWNER. Así el administrador de nivel 10 no podrá tocar a un administrador de nivel 100, etc. mientras mas nivel tengas nadie te podrá tocar (kick, bannear).
EOF y avances
Para mi basta con esto de la teoría introductoria ya que es mas dinámico proseguir con ejemplos, para que no quedemos con cara de :S de que no ven en donde se aplica esta teoría, no es el gran comienzo, ya que siempre he sido de la idea de “por que leer teoría si puedes ponerle en practica”, pero con algo de tiempo les publico la segunda parte :D.
Para nuestra siguiente entrega de este hilo del protocolo IRC del cual no he estimado en cuantas partes lo redactare, haremos nuestra primer conexión a un servidor real y sobre la marcha comentaremos para que nos sirve cada comando que enviemos y cada respuesta al comando dado.
==EOF==

