Grundlagen des Internet Relay Chat

Aus LinuxUser 12/2005

Grundlagen des Internet Relay Chat

Schwatzhaftes Netzwerk

Der Internet Relay Chat gehört zu den Senioren unter den Diensten im WWW. Nichtsdestotrotz eröffnet er zahlreiche Möglichkeiten, die weit über die direkte Kommunikatin hinausgehen.

Den Internet Relay Chat, kurz IRC, empfindet eine Vielzahl von Internet-Nutzern als einen der größten Zeitverbrenner neben den Computerspielen. Zahlreichen Fernsehsendungen berichteten von Internet-Süchtigen, die die Gesellschaft nicht zuletzt ihrer im IRC aufgebauten und ausgelebten zweiten Identität wegen als manisch abstempelt und bemitleidet. Heute scheinen auf dem Gebiet der Realtime-Kommunikation Dienste wie ICQ, Jabber, MSN und AIM unsere Computer in fester Hand zu haben.

Doch die Möglichkeiten der Chat-Plattform IRC vereint dabei keiner der genannten Dienste unter einem Dach. Sinnvoll genutzt, um beispielsweise Live-Support zu bieten oder Projektmitglieder während der gemeinsamen Arbeit miteinander zu vernetzen, bleibt der IRC ein bis heute unerreichtes Medium.

Herkömmliche Kommunikationsnetze, wie der Mail oder das gute alte Telefon bieten nicht das effiziente Verhältnis von Aufwand und Nutzen: Mail-Verkehr bremst die Arbeit durch den teilweise enormen Zeitversatz, und die Kosten für das Telefon bieten Privatpersonen kaum die Möglichkeit, mehr als drei Personen miteinander zu verbinden. So verliert auch heute ein 17 Jahre alter Dienst nichts von seiner Bedeutung. Dieser Artikel klärt neben der Geschichte des IRC die wichtigsten Dienstmerkmale und Befehle der Plattform.

Blick zurück nach vorn

Wie viele netzwerkspezifische Dienste der frühen Computerwelt entstand auch das IRC-Netzwerk in der Unix-Welt. Bereits 1988, als Linus Torvalds sein Studium in Helsinki gerade erst begann, kam ein anderer finnischer Student namens Jarkko Oikarinen an der Universität Oulu auf die zündende Idee, die bereits vorhandene Bulletin-Board-Software der Universität um die Möglichkeit einer Realtime-Kommunikation zu erweitern.

So entstand der erste Chat-Server für die finnische Universität und bald übernahmen auch die anderen nordischen Universitäten dieses Konzept. Als kurz darauf hielten die amerikanischen Universitäten Einzug in das finnische IRC-Netz, und so begann der internationale Siegeszug des IRC im Internet.

In den folgenden Jahre waren sich die Entwickler uneins über den Aufbau eines IRC-Netzwerkes. Erste Abspaltungsversuche fanden statt, um beispielsweise ein alternatives Netzwerk (A-Net) ohne Passwörter und Benutzerbeschränkungen aufzubauen.

Weitere Alternativen, wie die des Undernet oder des Dalnet entstanden ebenfalls aus der Unzufriedenheit einiger Nutzer. Sie wollten die Sicherheit des Netzes erhöhen oder neue Services (beispielsweise Channel-Bots) einbringen. Einige dieser Netze haben bis heute überlebt und gehören zu den größten IRC-Netzwerken weltweit. Als größtes Hauptnetzwerk arbeitete aber nach wie vor das EFnet.

1996 kam es erstmals zu einem Split mit deutlichen Auswirkungen: In Uneinigkeit über die Zukunft des Serverdämonen Ircd spaltete sich das große EFnet in die Teile Ost und West. Nordamerika behielt das heutige EFnet, und die europäischen Server vereinigten sich zum IRCnet. Bereits wenige Jahre später zeigte sich sehr deutlich der größere Erfolg des IRCnet in Form einer höheren Nutzerzahl.

Das Medium IRC ist längst beim Internet-Nutzer außerhalb der Universitäten angekommen. Es brachte von nun an eine Vielzahl kleinerer und größerer IRC-Netze hervor, die aber lose nebeneinander stehen. Das ergäbe bei den heutigen Nutzerzahlen (siehe Tabelle 1) auch keinen Sinn mehr.

Aufbau des IRC-Netzwerkes

Eigentlich ist es falsch, heute von dem IRC-Netzwerk zu sprechen. Es existieren Hunderte von IRC-Netzwerken völlig unabhängig voneinander. Ein Netzwerk besteht aus mindestens einem IRC-Server; große Netzwerke aus über 50. Eine Übersicht der wichtigen und bekannten IRC-Netzwerke zeigt Tabelle 1.

Tabelle 1: Wichtige IRC-Netzwerke

Name Adresse Homepage User-Zahl Channel-Zahl Dienste
QuakeNet http://irc.quakenet.org http://www.quakenet.org 150?000 190?000 kein Nickserv, Q- und L-Bots für den Kanal
Undernet http://eu.undernet.org http://www.undernet.org 100?000 40?000 Chanserv, Nickserv
IRCnet http://irc.fu-berlin.de/http://irc.leo.org http://www.ircnet.info 100?000 50?000 Noteserv, kein Nickserv, kein Chanserv
EFnet http://irc.efnet.nl http://www.efnet.org 80?000 40?000 Chanfix, kein Nickserv, kein Chanserv
Freenode http://irc.freenode.org http://www.freenode.org 25?000 10?000 Nickserv, Chanserv, Memoserv
EUIRC http://irc.euirc.net http://www.euirc.net 5000 3000 Nickserv, Chanserv, Memoserv, Hostserv
InsiderZ http://noctem.insiderz.de/http://matrix.insiderz.de http://www.insiderz.de 1?400 800 Nickserv, Chanserv, Memoserv, Hostserv, Botserv, SSL

Welches Netzwerk Sie auswählen, hängt von Ihren Erwartungen ab. Suchen Sie eher Server von allgemeiner, sehr vielfältiger Themenstruktur mit europäischen Gästen, empfiehlt sich wohl das alte IRCnet. Linux-Begeisterte, Open-Source-Anhänger und Programmierer finden im kleineren Netzwerk Freenode Gleichgesinnte. Spielernaturen bevorzugen eher die Channels der verschiedenen Netzwerkspiele-Clans im QuakeNet.

Für Service-Versessene und sicherheitsbewußte Chatter lohnt sich ein Blick in das noch recht kleine InsiderZ oder das EUIRC-Netzwerk. Sicher gibt es auch große Linux-Channels im IRCnet und Räume zur Partnerschaftssuche im QuakeNet, doch allgmein akzeptieren Benutzer die Aufteilung.

Abbildung 1: Für die schnelle Kommunikation über das Internt existieren Kommandozeilen-Programm und grafische Clients, wie Konversation.

Abbildung 1: Für die schnelle Kommunikation über das Internt existieren Kommandozeilen-Programm und grafische Clients, wie Konversation.

Als Benutzer wählen Sie einen, dem eigenen Standort möglichst nahen Server aus. Um weitere Server, als die in Tabelle 1 angegebenen zu finden, besuchen Sie die Homepage des jeweiligen IRC-Netzwerkes. Dort erhalten Sie auch weiterführende Informationen über spezielle Services und Server-Regeln.

Auf den großen Server befinden sich meist viele tausend Benutzer, die sich in vielen tausend sogenannten Channels, den Chat-Räumen des IRC, tummeln. Aufgrund der Verbindungen zwischen den Servern eines Netzwerkes spielt es keine Rolle, welchen Server Sie ansteuern. Sie treffen immer auf die gleichen Channels und Benutzer.

Zu Befehl

Das folgende praktische Beispiel hilft Ihnen, einen eigenen Kommunikationskanal beispielsweise für Projektmitglieder zu erstellen. Weitere Befehle und deren Auswirkungen lesen Sie in Tabelle 2 nach. Die Internet-Seiten IRC-Mania [3] sowie der IRC-Fibel [4] halten große Übersichten der möglichen IRC-Befehle bereit. Sie variieren allerdings von Netzwerk zu Netzwerk etwas. Die Seiten gehen aber auf den entsprechenden Unterschiede ein.

Für unser Beispiel wählen wir das etwas kleinere IRC-Netzwerk Freenode. Seine übersichtliche Größe und die Tatsache, das fast alle größeren OSS-Projekte, wie Wikipedia, KDE oder Gentoo, hier ihre Kanäle betreiben, macht ihn entsprechende attraktiv. Außerdem bietet das Netz die drei wichtigen Services Nickserv, Chanserv und Memoserv.

Als Client dient ein grafisches Programm Ihrer Wahl – beispielsweise X-Chat oder Konversation (Abbildung 1). Dieses sollte nach dem Öffnen ein Textfenster und eine darunter befindliche Eingabezeile aufweisen. Über das Menü geben Sie bei Mit Server verbinden (oder ähnlich) den gewünschten Server ein. Als Portnummer geben die Programme meist 6667 vor, was in der Regel passt.

Sitzen Sie vor einem Konsolen-Client, wie Ircii oder Irssi, geben Sie /connect irc.freenoode.de ein. Dieser Rotations-Server verbindet Sie mit einem geeigneten Server des Freenode-Netzwerkes. Das Textfenster zeigt eventuelle Begrüßungsnachrichten und Benimmregeln des jeweiligen Servers an.

Die Befehlssyntax des IRC zu erlernen, fällt nicht schwer. Es existieren zwar zahlreiche grafische Clients, die kaum Kenntnis der IRC-Befehle nicht vorraussetzen, aber wie bei der Linux-Kommandozeile gilt: Einmal gelernt, schreibt sich der Befehl schneller, als jeder Klick in einem Menü. Programme, wie beispielsweise Irssi unterstützen Sie hierbei durch die eingebauten Befehlskomplettierungen, ähnlich der Bash.

Benutzerbefehle und Modi

Der Schrägstrich (engl. Slash) leitet einen Befehl ein nach dem Muster /befehlParameter. Geben Sie /join Raumname ein, wenn sie den Raumnamen bereits kennen, um den entsprechenden Kanal zu betreten.

Gibt es keinen Channel mit diesem Namen, so entsteht dadurch einer neuer, in dem Sie der Operator sind. Als solcher verfügen Sie über die Möglichkeit, anderen Usern beispielsweise das Schreibrecht zu entziehen, den Raum zu sperren oder ungebetene Gäste wieder hinauszuwerfen.

Jedem Raum kann ein Thema – ein sogenanntes Channel-Topic zugewiesen werden. Dieses ändert der Kanalbenutzer mit /topic Topic. Wir gehen davon aus, dass einige ihrer Projektmitglieder den neu erstellten Chatraum gefunden haben und einige ungebetene Gäste ebenso.

Mit /whois Name fordern Sie nähere Informationen zu dem betreffenden Chatter an. Störenfriede entfernen Sie mit einem mutigen /kick Name. Gibt der Störenfried keine Ruhe, entfernen Sie ihn mit /ban Name oder /kickban Name dauerhaft aus dem Raum. Weitere wichtige Befehle für die Raumpflege finden Sie in Tabelle 2.

Tabelle 2: Wichtige Befehle

Befehl Auswirkung
/ignore Ignoriert einen Benutzer
/leave #RaumnameNachricht Verlassen des Raums mit der Nachricht
/me Aktion Beschreibt eine Aktion
/msg Nick Sendet eine private Nachricht
/nick Neuer Name ändert den eigenen Nicknamen
/away Nachricht Zeigt anderen Benutzern die eigene Abwesenheit nebst Nachricht an
/invite Name Lädt einen Benutzer in den Kanal ein
/topic Ändert die Kanalbeschreibung
/list Listet alle Kanäle auf. Vorsicht: Enorme Netzlast!
/mode Ändert die User-Modi und Channel-Modi (siehe Tabelle 3)

Der Befehl /mode fügt einem Benutzer oder Channel sogenannte User-Modi (Benutzereigenschaften) oder Channel-Modi (Raumeigenschaften) nach dem Muster /mode #Raumname +flag Benutzer zu. Unter den User-Modi ist eigentlich nur das Flag +i interessant: Es macht den Benutzer unsichtbar für Anfragen via /whois. Auf vielen Servern gehört es zu den Voreinstellungen. Alle anderen Flags dürfen Sie nur als Operator setzen.

Die User-Modi +s für zusätzliche Server-Nachrichten oder +w zum Empfang von Nachrichten der IRC-Operatoren mittels /wallop, zählen eher zu den weniger gebräuchlichen.

Viel mehr Bedeutung kommt den Channel-Modi zu: Das Flag +o gibt einem Benutzer Operator-Rechte im jeweiligen Chatraum und +v verleiht dem betreffenden Chatter Stimmrecht in moderierten Kanälen (Chan-Modus +m). Ein Minuszeichen vor dem Buchstaben entfernt das entsprechenden Flag wieder. Sie dürfen Channel-Modi auch in einem Befehl hintereinander angegeben: /mode #Raumname +stcm.

Die wichtigsten Channelmodi erläutert die Tabelle 3. Zudem helfen hier die Seiten IRC-Mania [3] und IRC-Fibel [4] weiter. Die Homepage des Netzwerkbetreibers unterrichtet Sie gegebenfalls über Änderungen und Abweichungen.

Tabelle 3: Wichtige User- und Channel-Modi

Channel-Modus Auswirkung
+p Privater Kanal ohne Abfragen via /whois und /name von außen
+b Nick Bannt einen ungebetenen Benutzer
+s Geheimer Kanal (nicht sichtbar bei /list)
+i Nur für geladene Gäste
+m Moderierter Kanal. Nur User mit Voice-Recht (+v) dürfen schreiben
+t Ändern des Topics nur durch Operatoren
+n Keine Nachrichten von außen in den Kanal erlaubt
+c Blockiert farbige Nachrichten (eine Unart einiger Kanäle)
+o Nick Verleiht Operatorenstatus
+v Nick Gibt das Stimmrecht in moderierten Räumen
+l Zahl Setzt ein Limit für die Benutzerzahl im Raum
Von Netzwerk zu Netzwerk variieren einige User/Channel-Flags und es gibt deutlich mehr. Sehen sie auf der Homepage des Netzwerkbetreibers für mehr Informationen nach.

In unserem Beispiel wollen wir unseren Raum als privaten Raum markieren, gegen Nachrichten von außen schützen, farbige Nachrichten blockieren, sowie das Topic sichern: /mode +pnct #Raumname.

Die setzt allerdings voraus, dass Sie nun stets online sind, um diese Einstellungen zu halten und zu vermeiden, dass ein Spaßvogel von außen sich ihres Raumes annimmt. Dafür gibt es die IRC-Netzwerk-Services Nickserv und Chanserv.

Nickserv und Chanserv

Um zu gewährleisten, dass immer der gleiche Nickname auf dem Server für Sie verfügbar ist, bieten Freenode und auch viele andere Netzwerke den Service Nickserv an. Um den eigenen Nicknamen zu registrieren, schicken Sie eine Nachricht direkt zum Service wie zu einer Person: /msg nickserv REGISTER PasswortE-Mail-Adresse. Der Server registriert dann den Nick, den Sie gerade benutzen.

Um sich mit dem registrierten Nick einzuloggen, melden sie sich auf dem Server an und geben /msg nickserv IDENTFY Passwort ein. Fast alle Chat-Programme ermöglichen es, solche Befehlszeilen beim Serverlogin automatisch zu senden. Mit dem Befehl /msg nickserv help und /msg nickserv help Befehl erhalten Sie eine Hilfe zu den Möglichkeiten, ihre Identität auf dem Server einzustellen.

So können Sie beispielsweise Ihre Homepage-Adresse, weitere Mail-Adressen und selbst ihre Telfonnummer für andere über /whois sichtbar hinterlassen (/msg nickserv set option Einstellung). Der Server begrüßt Sie von nun an stets mit diesen Einstellungen.

Für Ihre Projektmitglieder wäre noch wichtiger, dass Sie den Chat-Raum sichern. Dazu nutzen Sie den Dienst Chanserv. Ähnlich wie bei Nickserv erstellen Sie zuerst den Raum und registrieren Ihn dann beim Service: /msg chanserv REGISTER #RaumnamePasswort.

Auch hier listet der Befehl /msg chanserv help beziehungsweise /msg /chanserv help Befehl die Möglichkeiten auf. Die Übersicht in Tabelle 4 erklärt die wichtigsten Befehle, die Sie nach dem Registrieren ausführen sollten.

Tabelle 4: Wichtige Chanserv-Befehle

Befehl Auswirkung
/msg chanserv set #Raumname GUARD on Holt den Channel-Wächter Chanserv hervor
/msg chanserv set #Raumname ACCESS add Hostmaske Fügt ein neues Raummitglied mit vielen Leveloptionen hinzu.
/msg chanserv op #raumname Verleiht ihnen selbst Operatoren-Rechte, wenn ein Chanserv den Raum überwacht und der Benutzer als Raummitglied registriert ist..
/msg chanserv set MLOCK on/off Speichert die vergebenen Channel-Modes
/msg chanserv set ENTRYMSG “Nachricht” Speichert eine Eingangsnachricht, die alle Benutzer erreicht, wenn sie den Raum betreten.

Es lohnt sich, auch die anderen Befehle und deren Optionen einmal genauer zu betrachten, weil sie eine Vielzahl von interessanten Einstellungs- und Kontrollmöglichkeiten bieten.

Memoserv

Der etwas verspielte Service Memoserv ermöglicht es, abwesenden Kanalmitgliedern Nachrichten zu hinterlassen. Diese erreichen die betreffende Person beim nächsten Login. Das leistet zwar auch eine Mail, aber nicht jeder Benutzer möchte seine Adresse preisgeben. Kennen Sie den registrierten Nick eines Benutzers, senden Sie Ihre Nachricht wie folgt: /msg memoserv send nick.

Ein /msg memoserv list gibt eine nummerierte Liste Ihrer vorhanden Memos aus. Der Befehl /msg Memoserv read Nummer zeigt die entsprechende Nachricht an und /msg memoserv del Nummer löscht sie. Sehen Sie sich mit dem Befehl /msg memoserv help weitere Möglichkeiten zum Verwalten der Nachrichten an.

Unserer Raum ist erstellt und ausreichend abgesichert. Der Austausch unter den Prokjektmitgliedern zur Koordination der Arbeit kann beginnen. Die folgenden speziellen Kommunikationsformen des IRC können Ihnen bei der täglichen Arbeit in den Kanälen helfen.

CTCP und DCC

Das Client-to-Client-Protokoll (CTCP) ermöglicht die Kommunikation zwischen zwei IRC-Clients. Es handelt sich dabei meist um Abfragen zum Client, zur Systemzeit des Clienten, zur Ping-Zeit und schließlich auch zur verwendenten Programmversion. Das sind relativ nutzlose Informationen, welche lediglich die Neugier eines Chatters befriedigen. Daher sehen viele Anwender den Einsatz auch nicht überall im IRC gern.

Zu den CTCP-Diensten zählen ping, version, time, und finger. Eine Abfrage erfolgt über den Befehl /ctcp nicknamedienst. Der betroffene Rechner zeigt dies allerdings dem Benutzer an, was mitunter zu einem Rauswurf aus dem Channel führt.

Als recht reizvolle Variante des CTCP-Dienstes baut Direct Client-to-Client (DDC) einen direkten Kanal zwischen zwei Hosts über deren IP-Adresse auf. Eine DCC-Sitzung eignet sich vor allem, um Dateien an einen Benutzer zu senden oder von ihm zu empfangen.

Melden Sie sich per DCC auf einem DCC-Server an, erhalten Sie eine Liste downloadbarer Dateien. Eine Form von File-Sharing, die noch nicht im Visier der Musikindustrie steht.

Der Befehl /ctcp hat folgende Syntax: /ctcp nickDienstParameter. Um sich mit einem anderen Clienten also direkt zu verbinden und ihm eine Datei zu senden, geben Sie /ctcp nick dcc send dateiname ein. Das Kommando dcc get empfängt eine angebotene Datei und dcc close schließt einen Übertragungsvorgang.

Ein weiterer Dienst von DCC ist der direkte Chat (/ctcp dcc nick chat), bei dem die Clients die Nachrichten nicht über den Server, sondern direkt von Computer zu Computer ausgetauschen. In aller Regel öffnet das Chat-Programm dafür ein eigenes Fenster, so dass Sie den langen Befehl nicht immer wieder neu einzugeben brauchen.

Fazit

Der IRC ist eine noch längst nicht in die Jahre gekommene Internetkommunikationsform. Einmal in die Befehlswelt der Chat-Server eingeweiht, eröffnen sich Ihnen vielseitigere Möglichkeiten, als es das Instant-Messaging leistet.

Bleibt am Ende nur zu hoffen, dass Sie dieses Kommunikationsmedium nicht als Lebenszentrum sehen und sich in den Weiten der IRC-Netzwerke verlieren, sondern Ihre lebendigen sozialen Kontakte weiter pflegen.

Tabelle 5: Interessante Kanäle und Server

Netzwerk Kanal Beschreibung
IRCnet #linux.de; #linuxger sehr große deutschsprachige Linuxkanäle
Freenode #de.wikipedia deutschsprachiger Kanal zu Wikipedianern
Freenode #gentoo.de; #suse; u.v.a. Diskussionskanäle zu den entsprechenden Distributionen
EUIRC #linuxeinsteiger Kanal für Neulinge in der Linux-Welt
Freenode #linux-papas Kanal für erziehende Linuxer, die trotzdem noch Zeit für das Betriebssystem der Wahl haben
LinuxUser 12/2005 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben