Basics Java-Chat.

Informationen zu berühren nur Java-Chat Unternehmen Volano, Chats anderer Hersteller auf einem anderen Protokoll arbeiten kann, obwohl das Prinzip der Austausch von Daten wahrscheinlich die gleiche ist. Diese Information ist nicht aus der Dokumentation und Tracking-Verfahren und Verbindungen von TCP-Paketen extrahiert. Sie verwendeten Tools wie IP-Tools v2.07 und Netzwerk-Spy v2.0

Ein Fragment von HTML-Code fügt das Applet:

<code>&lt;base href=http://www.zerkalo.com/vcclient/ /&gt;&lt;br&gt;&lt;applet codebase=. archive=COM/volano/VolanoChat.jar code=COM.volano.VolanoChat.class width=150 height=60&gt;&lt;br&gt;&lt;param name=cabbase value=COM/volano/VolanoChat.cab&gt;&lt;br&gt;&lt;param name=color value=#ffffff&gt;&lt;br&gt;&lt;param name=group value="MTR Chat Server"&gt;&lt;br&gt;&lt;param name=text value=english.txt&gt;&lt;br&gt;Извините ваш браузер не поддерживает JAVA или она увас отключена.&lt;br&gt;&lt;/applet&gt;</code>

Wie als auf den Namen des Chat - Gruppe MTR Chat - Server übergebenen Parameter zu sehen. Darüber hinaus english.txt (wird Ressource - Datei vom Server heruntergeladen , um zu sehen ). Der Server hat auch eine Französisch-sprachige analog french.txt ( siehe ). Diese Dateien enthalten die Konfiguration und String-Konstanten-Applet.

Nachdem die Konfigurationsdatei überprüft, fand ich ein paar Dateien (in english.txt angegeben), deren Inhalt kann auch interessant erscheinen: BannerPlayer.txt (Liste der Banner , die in das Applet geladen wird), LogoPlayer.txt (Link zum Logo auf der Front Panel - Applet angezeigt ), version.html , help.html , inde.htm , unable.html , document.html , host.html (Benutzerhandbücher, Chat - Version, Fehlermeldung, etc.).

Nun, das interessanteste ist natürlich die Datei password.html. Leider nur Zugang zu erhalten, ist es unmöglich. Wenn ich es hier lesen kann, werde ich einen Verweis auf sie gesetzt.

Von english.txt Datei - Analyse, können wir schließen , dass es Benutzer im Chat mit den Admin - Rechte sind, und sie haben Zugriff auf Operationen wie die Entfernung und die Benutzersperre, und wahrscheinlich Nachrichten zu löschen. Dies ergibt sich aus der folgenden english.txt Datei - Fragment:

Entfernen text.menu.people.remove =% 0
text.menu.people.kick = Kicken% 0
text.menu.people.ban = Ban% 0

Darüber hinaus ist es klar, dass es in den Chat-Registrierung und registriert nicks Passwort geschützt ist.
Es gibt Registrierte Nutzer-Profil.

Nach dem Start wird die Kommunikation der Chat - Applet mit dem Host , auf dem Chat - Server befindet (dies ist 193.124.133.54 für diesen Chat). Die Kommunikation erfolgt über TCP durchgeführt. Die Buchse wird geöffnet, sobald Sie das Applet starten und schließt am Ende seiner Arbeit. Somit bleiben die lokalen und Remote-Ports konstant für die Dauer der Sitzung. Applet otkrvaet Socket - Server auf Port 8000.

Hier ist ein Abbild des Hauptanforderungspaket die Chat-Gruppe zu geben (das Paket an den Applet-Server auf Port gesendet wird 8000):

  20 53 52 0000 43 00 00 44 45 53 54 00 00 08 00 45 00 .SRC..DEST .... E.
 
  0010 00 EB 11. November 40 00 80 06 70 09 E9 D4 E4 CE C1 7C .... @ .... p ..... | 
  85 36 04 0020 72 40 00 1F 2A F5 AA E8 83 56 50 18 5A .6.r. @. * .... VZP.
 
  0030 08 60 81 8C 00 00 00 11 43 4F 4D 2E 6F 76 6C 61 .` .... .. COM.vola

 0040 6E 6F 41 63 63 2E 65 73 73 00 00 00 01 00 0F 4D no.Access .... .. M

 54 52 20 0050 43 68 61 74 20 53 65 72 76 65 72 00 05 0060 32 TR.Chat.Server .. 2E 31 30 2E 00 20 68 74 74 70 3A 2F 2F 77 77 2.1.0 .. http: // ww
 0070 77 2E 7A 65 72 61 6B 6C 6F 2E 6F 6D 2F 63 76 63 w.zerkalo.com/vc
 0080 63 6C 69 65 6E 74 2F 00 20 68 74 74 70 3A 2F 2F Client / .. http: //
 0090 77 77 77 2E 65 72 6B 7A 61 63 6C 6F 2E 6F 6D 2F www.zerkalo.com/
 00A0 76 63 63 6C 69 65 6E 74 00 2F 4D 0F 69 63 72 6F vcclient / .. Micro
 00B0 73 6F 66 74 20 43 6F 72 70 2E 00 19 68 74 74 70 soft.Corp.  .. http
 00C0 3A 2F 2F 77 77 77 2E 69 63 72 6D 6F 6F 73 66 74: //www.microsoft
 00D0 2E 6F 6D 2F 63 00 31 31. Mai 2E 2E 34 00 04 34 35 .com / .. 1.1.4 .. 45
 00E0 2E 33 00 57 0A 69 6F 6E 64 77 73 20 39 38 00 04 .3 .. Windows.98 .. 00F0 2E 31 30 34 00 03 78 38 36 4.10 .. x86

Die grau markierte Paket-Header. Als nächstes kommt der Körper des Pakets. Der Körper besteht aus Textstrings in unverschlüsselter Form. Jede Zeile beginnt mit einer Leitungslänge Anzeige (in pink markiert). Weiße Farbe zeigt die Bytes, die zum Ziel hat, die ich nicht verstand.

Wie wir, wenn die Verbindung der Initialisierung sehen kann, sendet das Applet die folgenden Informationen:

1. COM.volano.Access - wahrscheinlich eine Anforderung für den Zugriff des Benutzers zu chatten. Alle Anfragen Applet COM.volano zu starten. Und nach sollte der Punkt sein, dass das Team ist ein Applet (in diesem Fall Access).

2. MTR.Chat.Server - Name der Gruppe , Chats , auf die wir abonnieren (Diese Linie die Parameter spezifiziert das Applet , wenn es aus einer HTML - Seite aufgerufen wird -. Oben)

Als Antwort auf diese Anforderung sendet der Server ein Antwortpaket, dessen Offenbarung - eine Liste der aktiven Chat-Räume:

  44 45 53 0000 54 00 00 20 53 52 43 00 00 08 00 45 00 DEST ... SRC .... E.
 
  28. Februar 0010 72 82 40 00 2E 06 D8 C2 C1 7C 85 36 09 D4 (r @ ...... | .. .6 .. 
  0020 E4 CE 1F 40 04 72 56 AA E8 5A 2A 00 84 50 18 B8 ... @. R..VZ. * .. P . 
  0030 E8 94 95 00 40 00 00 11 43 4F 4D 2E 6F 76 6C 61 @ ..... .. COM.vola

 0040 6E 6F 41 63 63 2E 65 73 73 00 00 00 04 00 00 00 no.Access .... ...
 01 00 00 0050 00 32 00 10 41 4D 4D 49 4E 20 54 52 20.  ... 2 .. MAIN.MTR.

 0060 43 48 41 54 C3 90 5F 0F 00 45 4E 47 4C 49 53 48 CHAT .._ .. ENGLISCH
 20 43 48 0070 41 54 C3 90 5F 00 42 55 1E 53 49 4E 45 .CHAT .._ .. BUSINE
 0080 53 53 2C 46 49 4E 41 4E 43 45 2C 53 54 43 4F 4B SS, Finanzen, STOCK
 20 43 48 0090 41 54 C3 90 00 10 50 5F 4F 4C 49 54 49 .CHAT .._ .. POLITI
 00A0 53 20 43 43 48 41 54 C3 90 00 10 52 5F 4F 4D 41 CS.CHAT .._ .. ROMA
 00B0 4E 54 49 43 20 43 48 41 54 C3 90 5F 00 49 0D 4E NTIC.CHAT .._ .. IN
 00C0 4D 49 20 43 54 48 41 54 C3 90 5F 00 15 45 52 4F TIM.CHAT .._ .. ERO
 00D0 49 43 20 54 44 52 45 41 4D 20 43 48 53 41 54 C3 TIC.DREAMS.CHAT.
 00E0 5F 90 00 10 49 53 50 4F 56 45 44 41 4C 60 4E 49 ._ .. ISPOVEDAL`NI
 41 00F0 C3 90 00 5F 10 4B 4F 4D 41 54 41 4E 20 50 49 A .._ .. KOMNATA.PI
 0100 54 4F 4B C3 5F 90 00 0D 48 55 4F 4D 52 20 43 48 TOK .._ .. HUMOR.CH
 0110 41 54 C3 90 00 5F 0D 4A 4C 49 41 20 55 43 48 41 AT .._ .. JULIA.CHA
 0120 C3 54 90 5F 16 4E 45 00 55 50 52 41 56 49 41 4C T .._ .. NEUPRAVLIA
 4D 0130 45 49 49 20 43 48 41 54 C3 90 00 5F 41 52 1A EMII.CHAT .._ .. AR
 0140 54 20 41 4E 44 20 50 48 49 4C 4F 4F 53 50 48 59 T.AND.PHILOSOPHY
 20 43 48 0150 41 54 C3 90 5F 00 53 0D 50 52 54 20 4F .CHAT .._ .. SPORT.
 0160 43 48 41 54 C3 90 00 5F 0D 4D 55 53 49 43 20 43 CHAT .._ .. MUSIC.C
 0170 48 41 54 C3 90 5F 13 48 41 00 52 44 20 26 20 53 HAT .._ .. HARD. &. S
 4F 46 54 20 0180 43 48 41 54 C3 90 5F OFT.CHAT .._

Zimmer Die Namen in dem gleichen Format aufgeführt sind, wie oben beschrieben: a Zwei-Byte-Länge der Zeichenfolge und die Zeichenfolge selbst. Jedoch am Ende des Namens des Raumes sind drei Bytes C3 90 5F Zweck es ist unklar.

Nachdem der Benutzer "stieß" in einer der Chat-Räume (aber noch nicht eingegeben it), sendet das Applet das nächste Paket zu dem Server:

  20 53 52 0000 43 00 00 44 45 53 54 00 00 08 00 45 00 .SRC..DEST .... E.
 
  4C 0010 November 00 21 bis 40 00 80 06 09 DA 0F D4 E4 CE C1 7C .L .. @ .......... | 
  0020 85 36 04 72 1F 40 00 2A 84 B8 AA E8 5B 2D 50 18 .6.r @ * .... [- .. P. 
  0030 A5 07 36 DB 00 00 00 0D 43 4F 4D 2E 6F 76 6C 61 .6 ... .. COM.vola

 0040 6E 6F 62 67 00 2E 00 00 01 00 0F 45 49 4E 47 4C no.bg .... .. EnGLI
 53 48 20 0050 43 48 41 54 C3 90 5F SH.CHAT .._

Wo COM.volano.bg - wahrscheinlich das Team , um den Benutzern eine Liste von ENGLISH.CHAT Raum oder einen Hinweis auf den Server, der Benutzer den Raum betreten wird.

Als Antwort auf diese Anforderung sendet der Server ein Applet in die Liste der Benutzer, die in diesem Raum sind:

  44 45 53 0000 54 00 00 20 53 52 43 00 00 08 00 45 00 DEST ... SRC .... E.
 
  BE 00 77 56 0010 40 00 2E 06 58 D5 C1 7C 85 36 09 D4 ..wV @ .... X. | 0,6 ..
 
  0020 E4 CE 1F 40 04 72 AA E8 5B 2D 2A 00 84 50 18 DC ... @ r .. [- .. * .. P. 
  0030 E8 1D 40 74 00 00 00 0D 43 4F 4D 2E 6F 76 6C 61 @ .. t .. .. COM.vola

 0040 6E 6F 62 67 00 2E 00 00 04 00 0F 45 49 4E 47 4C no.bg .... .. EnGLI
 53 48 20 0050 43 48 41 54 C3 90 5F 00 00 00 01 00 00 SH.CHAT .._ .. .... 00 01 00 0060 00 00 00 00 02 00 06 45 64 77 61 72 64 .... .... .. Edward

 0070 00 16 43 6F 6F 6B 6E 69 67 20 6D 6F 72 65 20 61 .. Cooking.more.a

 0080 70 70 6C 65 20 70 69 65 00 36 34 2E 0D 32 30 39 pple.pie .. 64,209
 2E 2E 39 0090 39 31 33 39 00 05 66 61 6C 73 65 00 05 .99.139 .. falsch .. 00A0 66 61 6C 73 65 00 05 47 6F 6C 63 6B 00 00 00 0E falsch .. Glock .... 00B0 31 34 31 2E 31 35 35 2E 31 38 37 2E 32 31 00 05 141.155.187.21 .. 00C0 66 61 6C 65 00 05 73 66 61 6C 73 65 falsch .. falsch

Wie Sie die Liste sehen können, enthält viele interessante Informationen, einschließlich der IP-Adressen Chatlan. Lassen Sie uns alle in dieser Reihenfolge:

1. COM.volano.bg - Name des Befehls , die an das Applet gesendet wird. Wahrscheinlich Duplikate der Server einfach den Befehl, den der Client führt in zu wissen, welche Art von Antwort auf das Paket der Anfrage kam.

2. 00 00 00 04 - wieder ist es nicht klar , was. Wahrscheinlich wird es auf jeden Meter (4-Byte-Integer-Zahl) gesendet. Wir bemerken, dass in alle Pakete vorhanden sind, sind diese 4 Bytes, aber der Wert des letzteren zu der Menge an Informationen an den Benutzer gesendet proportional ist. Wenn das Applet würde den Namen des Raumes schicken, wo er will, um den Benutzer zu geben, dieser Zähler gleich 1 ist, wenn der Server eine Liste von zwei Chatlan im Raum sendet - ist der Zähler gleich 4, und wenn der Server sendet eine Liste der Zimmer (ca. 40 ka) - zählen als 32h, um so viel gleich war .

3. ENGLISH.CHAT - Raumnamen Liste der Benutzer , die wir und die Bytes C3 unverständlich 90 5F haben.

00 01 00 4 00 00 01 00 00 00 00 00 02 - wieder, ist es nicht klar , dass, obwohl die Zahl von der Anzahl der Benutzer kann im Raum verfolgt werden.

5. Edward - nick nick, mehr Apfelkuchen Kochen - das Benutzerprofil so genannten (eingegeben werden, wenn sich der Benutzer anmeldet in den Chat), 64.209.99.139 - IP - Adresse des Benutzers (es ist nicht klar, warum Sie das Applet benötigen, da alle Informationen noch über einen Server zu gehen) gefolgt von zwei falschen, deren Zweck es ist nicht klar, es kann alle Benutzereinstellungen oder Status sein.

6. Glock, usw. - Nickname und alles ist die gleiche wie die der ersten, mit der Ausnahme, dass die Zeichenfolge ist ein leeres Profil (Profil eingeben optional).

Fortsetzung folgt ...