Offenen TCP Port "Lauschen"

  • VB.NET

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von Tantra.

    Offenen TCP Port "Lauschen"

    Hallo,

    Ich wollte mal wissen wie es möglich ist einen von einen Offnen TCP Port die Packte mit zusniffen,Also z.b wenn jetzt ein Server ein Packet zum Port 8081 sendet das ich das mitlesen kann.

    Ich habe schon ein wenig gegoogelt und habe ein .Net Wrapper für Pcap gefunden aber dafür muss ich erstmal gucken wie das Funktioniert.

    Villeicht kann mir ja jemand helfen,

    Liebe Grüße. :love:
    Ja, natürlich. Damit kannst du die Pakete auslesen. Doch in den meisten Fällen sind die Pakete noch intern verschlüsselt. Du kannst also nicht einfach alles auslesen, sondern du müsstest für die bekannten Protokolle jeweils eine Entschlüsselung finden.
    Ok ich fang nochmal an:

    Du kannst per TCP/IP Packete übers Internet an andere Computer senden. Die Computer und jedes Programm ist theoretisch in der Lage, jeden Port auszulesen. Die Pakete sind, wenn sie vom Programm gelesen werden, allgemein durch keine Verschlüsselung gesichert, könnten also von jedem ausgelesen werden. Die meisten Software-entwickler wollen dies aber nicht. Deswegen verschlüsseln sie die Nachrichten bevor sie die Daten per TCP/IP verschicken und entschlüsseln sie dann wieder im Programm selbst. So soll eben gesichert werden, dass nicht so einfach jeder an die Daten kommt.

    Aus diesem Grund gibt es keine Allgemeinlösung. Du müsstest dir für jedes Protokol, dass du unterstützen willst, eine Methode zum Entschlüsseln suchen. Und bei dem "hohen" Sicherheitsstandart und bei deinem Wissen (Jetzt nur auf diese Frage bezogen) glaube ich kaum, dass du sehr weit kommen wirst.
    Ja ich zeig dir ma mein Code:

    VB.NET-Quellcode

    1. Imports SharpPcap
    2. Imports PacketDotNet
    3. Imports System.Net
    4. Imports System.Net.Sockets
    5. Imports System.Text.Encoding
    6. Module sniffer
    7. Public WithEvents device As ICaptureDevice
    8. Sub Main()
    9. Dim devices As CaptureDeviceList = CaptureDeviceList.Instance
    10. If devices.Count < 1 Then
    11. Console.WriteLine("No devices found!")
    12. End
    13. Else
    14. For Each d In devices
    15. Console.WriteLine("Device: " & (d.Name))
    16. Next
    17. device = devices(0)
    18. device.Open()
    19. Dim filter As String = "tcp"
    20. device.Filter = filter
    21. device.StartCapture()
    22. End If
    23. End Sub
    24. Private Sub device_OnPacketArrival(ByVal sender As Object, ByVal e As SharpPcap.CaptureEventArgs) Handles device.OnPacketArrival
    25. Dim pack As Packet = Packet.ParsePacket(LinkLayers.Raw, e.Packet.Data)
    26. Dim tcppackt As TcpPacket = TcpPacket.GetEncapsulated(pack)
    27. MsgBox(UTF8.GetString(pack.Bytes))
    28. End Sub
    29. End Module



    Es kommt immer die Exception : LinkLayer of Raw is not implemented

    Bei der Line :

    VB.NET-Quellcode

    1. Dim pack As Packet = Packet.ParsePacket(LinkLayers.Raw, e.Packet.Data)


    Habe aber gegoogelt und nix gefunden :(