Internetverbindungen (über Loopback-IP) überwachen

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von Slayers.

    Internetverbindungen (über Loopback-IP) überwachen

    Hallo,

    ich wollte fragen, ob es möglich ist in vb die internetverbindungen zu überwachen, z.B. über die Loppback IP. Mit überwachen mein ich also, dass er mir zb anzeigt, mit welchen Websites ich zum Beispiel verbunden bin und bzw was gesendet/empfangen wird.

    Müsste ja theoretisch möglich sein, die 127.0.0.1 als Proxy im Browser zu setzen, und das Programm dann so die Daten abfangen zu lassen, nur leider hab ich keine Ahnung wie ich es machen soll. Hab auch schon stundenlang gegooglet aber nnicht wirklich was gefunden :(

    Könnt ihr mir vielleicht helfen, bzw mich auf den Sprung bringen, wie ich das machen kann?

    Gruß,
    vb-opo-orbita

    Danke schonmal für hilfreiche beiträge.

    Slayers schrieb:

    Ich würde sagen du versuchst es mit httpwebrequest und Webclient. Im Prinzip musst du dir ja nur nen "Proxy" schreiben. Du brauchst ja nur die Datenpakete weiterleiten, die du empfängst.

    Nur ist gut ;)

    Einen einfachen Proxy könnte man auf der HTTPListener Class aufbauen, allerdings handelt der mir zuviel automatisch, wird also ziemlich unzuverlässig. Für eine saubere Lösung wirst Du um die Net.Sockets nicht herumkommen.

    Eine Ausgangsbasis bzw. ein Gefühl für den Umfang dieser Nur-Lösung findest Du z.B. hier :
    - Mentalis.Org - Secure Socket Library
    - The Code Project - Multi-threaded Client/Server Socket Class
    Also du willst alle packets von a nach b über c leiten?
    Also etwa so:

    Normal:
    a -> b
    Du willst:
    a -> c -> b

    Wobei:
    a = Du
    b = Ziel
    c = Proxy

    Richtig?


    Dann müsstest du mit sockets arbeiten. UND da gibts ja auch sowas wie TCP oder Ipv4 und so:
    Einfach Raw nehmen.
    Alle ankommenden packets einfach an die ziel ip senden (steht ja im packet ;)).
    Liege ich da falsch?

    Kangaroo schrieb:

    Slayers schrieb:

    Ich würde sagen du versuchst es mit httpwebrequest und Webclient. Im Prinzip musst du dir ja nur nen "Proxy" schreiben. Du brauchst ja nur die Datenpakete weiterleiten, die du empfängst.

    Nur ist gut ;)

    Einen einfachen Proxy könnte man auf der HTTPListener Class aufbauen, allerdings handelt der mir zuviel automatisch, wird also ziemlich unzuverlässig. Für eine saubere Lösung wirst Du um die Net.Sockets nicht herumkommen.

    Eine Ausgangsbasis bzw. ein Gefühl für den Umfang dieser Nur-Lösung findest Du z.B. hier :
    - Mentalis.Org - Secure Socket Library
    - The Code Project - Multi-threaded Client/Server Socket Class


    Danke werde ich mir anschauen. Mit TCP hab ich schon öfters gearbeitet, http request noich nicht. Werde mich einlesen und Danke.

    BeefyX schrieb:

    Also du willst alle packets von a nach b über c leiten?
    Also etwa so:

    Normal:
    a -> b
    Du willst:
    a -> c -> b

    Wobei:
    a = Du
    b = Ziel
    c = Proxy

    Richtig?


    Dann müsstest du mit sockets arbeiten. UND da gibts ja auch sowas wie TCP oder Ipv4 und so:
    Einfach Raw nehmen.
    Alle ankommenden packets einfach an die ziel ip senden (steht ja im packet ;)).
    Liege ich da falsch?

    Ich möchte, dass der Browser alle Daten an das Programm sendet, und das Programm dann zum jeweiligen Server sendet wos hinsoll, bzw. das die daten die von einem webserver kommen erst an das Programm gesendet werden und dieses dann an den Webbrowser. Die daten sollen auch abgeändert werden können (Aber das sollte das kleinere Problem sein).

    Als Bsp. mal ne Google Suche.
    Man googlet nach ka irgendwas. Die Packete die gesendet werden gehen an das Programm. Ist in der google anfrage iwas drin was zb in meinem filter liegt, soll der suchbefehl dann zb nicht weitergeleitet werden, und ein fake vom programm an den webserver kommen, wo einfach steht Inhalt blockiert. Wenns ok ist solls an den google server gesendet werden.

    Das gleiche umgekehrt. Sendet der google server in der treffersuche uwas was im filter ist, wird das auch blockiert weiter gesendet...
    Das programm soll also der Proxy sein...
    Ist doch das was ich meine, lol.

    Du legst die packets die in dein Programm eingehen auseinander und guckst wohin der senden willst (inklusive port), machst en socket auf und sendest es über diesen an das Ziel.
    Und was zurückkommt sendest du einfach wieder an deinen webbrowser.

    BeefyX schrieb:

    Ist doch das was ich meine, lol.

    Du legst die packets die in dein Programm eingehen auseinander und guckst wohin der senden willst (inklusive port), machst en socket auf und sendest es über diesen an das Ziel.
    Und was zurückkommt sendest du einfach wieder an deinen webbrowser.

    Ok. Was ich nun noch bräuchte wäre ein Tutorial irgendwo oder irgendwas wo erklärt wird, wie ich die daten vom browser durchs programm tunneln kann. Sowas find ich ja nicht bei Google. Zumindest nichts was mir helfen könnte :(
    Du machst bei dir aufm pc einen Http server und rufst die daten auf 127.0.0.1 auf.
    Dann machst du einen Client zum "proxyserver", der server wodurch es getunnelt wird.
    Der hat auch einen server und wieder einen httpclient.
    Dann sendest du von dir aus zum proxyserver sowas wie "Hallo, ich will google.de aufrufen" und der
    proxyserver geht mit dem Httpclient auf google.de, empfängt, sendet wieder an dich und du bekommst
    die seite durch deinen Http server angezeigt. :)

    Also etwa so:

    A = Du
    B = Google.de
    C = Proxy

    A sendet "öffne B" zu C
    C fragt B nach Seite
    B sendet Seite zu C
    C sendet Seite zu A
    bzw.
    A -> "open google.de/seite.html" -> C
    C -> "open seite.html -> B (google.de !)
    B -> seiteninhalt -> C
    C -> seiteninhalt -> A

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „BeefyX“ ()