Frage von JaskiHax, 30

Visual Basic: "Gesniffte/Ausspionierte" Packets auswerten?

Hallo Liebe Community. Ich habe einen Code mit dem ich von Source-Ip und Surce-Port zu Destination-Ip und Destination-Port die packets mitschneiden kann. Hier mal ein Codeschnipsel der empfangenen Bytes (Alles in einer Klasse):

  1. Variablen:

    Public socketz As New Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP)

Public bytedata(4096) As Byte

Public mycomputerconnections() As NetworkInformation.NetworkInterface

Public Zwischenspeicher = Nothing

  1. Functions/Subs:

    Public Sub FillRHexCode()

    Sniffer.Rhexcode.Text &= Sniffer.Zwischenspeicher 'Rhexcode = Textbox
    Sniffer.Zwischenspeicher = Nothing

    End Sub

    Public Sub BindSocket()

    Try
    
        Sniffer.socketz.Bind(New IPEndPoint(Sniffer.myip, 0))
        Sniffer.socketz.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.HeaderIncluded, True)
    
        Dim bytrue() As Byte = {1, 0, 0, 0}
        Dim byout() As Byte = {1, 0, 0, 0}
    
        Sniffer.socketz.IOControl(IOControlCode.ReceiveAll, bytrue, byout)
        Sniffer.socketz.Blocking = False
    
        ReDim Sniffer.bytedata(Sniffer.socketz.ReceiveBufferSize)
    
        Sniffer.socketz.BeginReceive(Sniffer.bytedata, 0, Sniffer.bytedata.Length, SocketFlags.None, New AsyncCallback(AddressOf Sniffer.OnReceive), Nothing)
        Sniffer.Cadapter.Enabled = False
    
        Sniffer.Cadapter.BackColor = Color.Black
    
    Catch ex As Exception
    
    End Try

    End Sub

  2. Das eigentliche Empfangen:

        ipfrom = New IPAddress(BitConverter.ToUInt32(bytedata, 12))
        ipto = New IPAddress(BitConverter.ToUInt32(bytedata, 16))
    
        Dim readlength As UInteger = BitConverter.ToUInt16(Byteswap(bytedata, 2), 0)
        sourceport = BitConverter.ToUInt16(Byteswap(bytedata, 22), 0)
        destinationport = BitConverter.ToUInt16(Byteswap(bytedata, 24), 0)
    
            For i = 26 To readlength - 1
    
                Dim filedate As String = Date.Now
                filedate = filedate.Replace(":", "_")
    
                If i = 26 Then
    
                    Zwischenspeicher = vbLf & filedate & "  >  " & Chr(bytedata(i))
    
                Else
    
                    Zwischenspeicher = Chr(bytedata(i))
    
                End If
    
                Try
    
                    Rhexcode.Invoke(New MethodInvoker(AddressOf FillRHexCode))
    
                Catch ex As Exception
    
                End Try
    
                If i = readlength - 1 Then
    
                    Zwischenspeicher = vbLf
                    Rhexcode.Invoke(New MethodInvoker(AddressOf FillRHexCode))
    
                End If
    
            Next

Alle Filterungen habe ich raus gelassen. Wie mache ich es jetzt, dass ich die empfangenen Bytes die Byte-für-Byte in die TextBox(RHexCode) geschrieben wurden, auswerte? Alle Informationen rausfiltern und als String ausgeben. Danke im Vorraus!

Antwort
von Kuno33, 17

Da ich es für unethisch halte, andere heimlich im Internet zu belauschen, halte ich mich da heraus. Wenn Du die Sniffer entdeckt hast, wirst Du auch Programme finden, die die Bytes in einen Klartext umwandeln.

Kommentar von JaskiHax ,

Ich bin ein Kind und möchte mich im Bereich der Programmierung fortbilden. Ich habe natürlich nicht vor Wifi zu hacken und habe nichts böses damit vor. Nur Testzwecke. Ich habe schon WireShark, damit geht das. Aber ich möchte es ja programmieren. Hast du eine Lösung?

Keine passende Antwort gefunden?

Fragen Sie die Community