-
28.01.2012, 11:52 #1
- Registriert seit
- 19.11.2011
- Beiträge
- 2.128
Thanked 1.936 Times in 1.180 PostsTCP Paket bilden - Paketzeichnung lesen
Hallo,
ich würde mich gerne auf einem Server einloggen.
Bin mit der Netzwerkprogrammierung erst neu dabei also seid bitte noobfriendly.
Also ich muss ja jetzt erstersteinmal das Paket lesen können.
IP-Paket
Wireshark zeigt mir, dass der Header 20 Bytes lang ist, also gehe ich von Ipv4 aus.
Wie ist das z.B. mit der Version?
Wie übertrage ich 4 bit?
Danke im Vorraus.Geändert von !lkay (29.01.2012 um 13:37 Uhr)
-
28.01.2012, 16:51 #2
- Registriert seit
- 06.11.2011
- Beiträge
- 418
Thanked 686 Times in 246 PostsAW: TCP Paket bilden - Paketzeichnung lesen
Too many informations!
Wie wär's wenn du uns mal ein bisschen über den Server erzählst? Jeder Server ist anders aufgebaut und wenn du einfach von "einem Server" sprichst wissen wir nicht was gemeint ist.
Und 4 Bits kannst du nicht senden, es müssen immer mindestens 8 sein.
-
29.01.2012, 13:42 #3
- Registriert seit
- 19.11.2011
- Beiträge
- 2.128
Thanked 1.936 Times in 1.180 PostsAW: Server einloggen
Hallo,
also den Header vom Paket brauche ich nun gar nicht mehr, der wird
beim Tcpclient ja automatisch gebildet.
Ich habe hier einen Server auf dem ich mich gerne einloggen würde.
Ich hab mit Wireshark mal mitgesnifft und der Login sieht in Wireshark beispielsweise so aus:
276e004b75736368656c6e004e69636b6e616d650050617373 776f72740046
ist Hexadezimal.
Den Server darf ich hier nicht nennen, ist vom Kollegen und soll vorerst nicht public gemacht werden.
Ich kann dazu soviel sagen, dass es sich um einen Chat handelt der über Java Tm Platform läuft.
Mein Code ist momentan so:
Code:Option Strict On Imports System.Net, System.Net.Sockets, System.IO Module Module1 Dim Writer As BinaryWriter Dim Reader As BinaryReader Sub Main() Dim Client As New TcpClient Client.Connect("ip", 2710) Console.WriteLine(">> Connected.") Writer = New BinaryWriter(Client.GetStream) Reader = New BinaryReader(Client.GetStream) Console.WriteLine(">> Writer and Reader initialized." & Environment.NewLine) Dim Channel As String = Hexx("Kuscheln") Dim Nick As String = Hexx("Nick") Dim Pass As String = Hexx("Pass") Dim Login As String = "276e0" & Channel & "0" & Nick & "0" & Pass & "00" & "46" Dim ByteList As New List(Of Byte) For i As Integer = 0 To Login.Length - 1 Step 2 ByteList.Add(Byte.Parse(Login.Substring(i, 2), System.Globalization.NumberStyles.HexNumber)) Next Writer.Write(ByteList.ToArray()) Writer.Flush() If Client.Connected() Then Console.WriteLine("Verbunden") Else Console.WriteLine("Nicht mehr Verbunden!") Dim Response As New List(Of Byte) Do Response.Add(Reader.ReadByte()) Loop While DirectCast(Reader.BaseStream, NetworkStream).DataAvailable Dim ResponseArray() As Byte = Response.ToArray() Console.WriteLine(ResponseArray.Length) Console.ReadLine() End Sub Private Function Hexx(ByVal S As String) As String Dim L As String = "0" If S.Length > 1 Then For Each c As Char In S L &= Convert.ToUInt32(c).ToString("x") Next End If Return L End Function
In Wireshark wird mir das Paket, welches ich mit Vb sende, angezeigt.
Ich erhalte jedoch immer in Vb die Meldung:
Code:Über das Ende des Streams hinaus kann nicht gelesen werden.
Code:Response.Add(Reader.ReadByte())
Geändert von !lkay (29.01.2012 um 13:49 Uhr)
-
29.01.2012, 20:38 #4
- Registriert seit
- 06.11.2011
- Beiträge
- 418
Thanked 686 Times in 246 PostsAW: TCP Paket bilden - Paketzeichnung lesen
Wenn du uns nicht verraten willst, um welchen Server es sich handelt, dann musst du dein Problem halt alleine lösen. Jeder Server ist anders aufgebaut und man muss sich erst einmal Informationen über das Protokoll verschaffen.
-
29.01.2012, 20:53 #5
- Registriert seit
- 06.11.2011
- Beiträge
- 418
Thanked 686 Times in 246 PostsAW: TCP Paket bilden - Paketzeichnung lesen
Ja, davon geh ich auch aus, vom Aufbau des Pakets würde es schon passen. Aber muss ja nicht sein, kann ja sein, dass irgendein Trottel einen eigenen Chat entwickelt und tatsächlich das veraltete Protokoll von Knuddels übernimmt.
Es hat auch keiner verlangt, dass er einen Link preisgibt. Aber er kann uns ja wenigstens verraten, um was für einen Server es sich handelt (in diesem Fall wahrscheinlich Banana-Chat), sonst braucht er keine Hilfe zu erwarten.
Edit: Wenn es sich um einen Banana-Chat handelt kann ich dir ein Beispiel in Java machen und vielleicht findet sich dann auch jemand der es nach VB.NET umschreibt.
-
31.01.2012, 11:56 #6
- Registriert seit
- 19.11.2011
- Beiträge
- 2.128
Thanked 1.936 Times in 1.180 Posts
Ähnliche Themen
-
Wie hilft lesen zum Sprache verbessern?
Von ThunderStorm im Forum BildungAntworten: 5Letzter Beitrag: 11.09.2013, 00:05 -
Methoden um Browser-Accounts zu lesen?
Von JumP-StyLe im Forum OffTopicAntworten: 5Letzter Beitrag: 03.06.2012, 19:50 -
Witz - Nur die Bayern hassen, sollen lesen :D!
Von seroga im Forum Der Witz-Komm-Raus BereichAntworten: 16Letzter Beitrag: 23.05.2012, 17:13
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.