Kommunikation zwischen zwei Anwendungen im Netzwerk

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von Nofear23m.

    Kommunikation zwischen zwei Anwendungen im Netzwerk

    Hallo,

    ich würde gerne mal ein kleines Remote-Werkzeug programmieren, um andere PCs "fernzusteuern". Dafür würde ich gerne zwei Anwendungen benutzen. Die eine Anwendung soll im Hintergrund auf dem PC des "Opfers" laufen. Diese Hintergrundanwendung soll dann letztendlich alle Befehle auf dem PC ausführen, zum Beuspiel eine MessageBox mit einer Nachricht anzeigen oder ein Programm starten. Der Admin soll dann mit seiner Anwendung den Befehl über das lokale Netzwerk zum Empfänger senden.
    Nun ist meine Frage lediglich, wie ich die Befehle per LAN übermitteln kann, also wie ich mit dem Admin die Befehle senden kann, und die die Hintergrundanwendung auf Befehle "lauschen" kann.

    Danke im Vorraus,
    Patrick
    Hallo @p_mng

    Deine Wortwahl ist in der Tat nicht die geschickterste. In diesem Forum reagiert man auf Wörter wie "Opfer" schon nicht gut.

    Aber...

    p_mng schrieb:

    wie ich die Befehle per LAN übermitteln kann

    Da du über LAN spricht denke ich jetzt mal nicht über Malware.

    Ich denke was du duchst wäre "Remoting". Schau dir mal folgendes Beispiel an: Simple Remoting HelloWorld with VB.Net

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Hallo,
    selbstverständlich soll das ganze nicht als Malware verwendet werden, dazu reichen meine Fähigkeiten übrigens auch längst nicht aus. Ich möchte das ganze nur gerne ausprobieren und habe mich dabei in der Tat von den sogenannten "Remote Administration Tools" inspirieren lassen. Allerdings ist mir alles was über das lokale Netz herausgeht weitaus zu kompliziert und nicht umsetzbar. Das Ganze ist übrigens Teil von einem größeren Projekt :)

    Danke an @Nofear23m für den Link, werde ich mir definiv ansehen!
    Hallo

    Allerdings ist mir alles was über das lokale Netz herausgeht weitaus zu kompliziert und nicht umsetzbar.

    Warum? Mit Remoting kannst du auch mittels Öffentlicher IP und einem Portforwarding über WAN kommunizieren. Das Prinzip bleibt immer das selbe.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Ich kenne mich da ja nicht so aus, hab nur mal vor ein paar Jahren einen kleinen Gameserver gehostet.
    Man muss doch als, ich benutze jetzt mal die ungeschickte Formulierung, "Opfer" die entsprechenden TCP/UDP Ports im Router freigeben?

    Außerdem ist mir das ehrlich gesagt zu heiß ich bin nichtmals volljährig und will mir vorerst nichts zuschulden kommen lassen ^^
    Das Projekt kann ich, wenn er fertig ist, auch gerne hier teilen um das Endergebnis zu zeigen :-)

    p_mng schrieb:

    die entsprechenden TCP/UDP Ports im Router freigeben?
    Der Server höchstens, ein Client jedoch nicht. Die Kommunikation läuft immer vom Client zum Server. Und da der Client ja auch immer aus seiner Firewall raus kann, erwartet der Router auch eine Antwort auf dem Port von einer bestimmten Adresse. Deswegen werden jetzt aber nicht gleich alle anfragen auf dem Port durchgelassen.
    Und was im lokalen Netz funktioniert, funktioniert zumeist auch im Internet. Baut ja auf ähnlichen Prinzipien auf.

    .NET Remoting ist jedoch bereits etwas eingestaubt, und hat seine Grenzen. Wenn man sich z.B. hinter einem Proxy befindet, kann man es zwar dazu zwingen mit Diesem zu kommunizieren, muss sich jedoch der Schwarzmagie bedienen.

    EaranMaleasi schrieb:

    Die Kommunikation läuft immer vom Client zum Server.

    Leider nicht korrekt, kann in beide Richtungen gehen.
    Eingestaubt ja, aber ich finde es genial einfach gelöst und da für die meissten dinge ausreichend nehme ich es genre her.

    Erst vor kurzem wieder mal was damit gemacht, in 10 Minuten stand alles wie ich es wollte. Super einfach.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Nofear23m schrieb:

    Leider nicht korrekt, kann in beide Richtungen gehen.
    Ich meinte damit den Verbindungsaufbau. Andersherum macht man sich nur Probleme. Natürlich läuft später die Kommunikation bidirektional, jedoch sollte sich, wie gesagt, der Client zuerst beim Server melden, und nicht anders herum. Natürlich gibt es Fälle in denen das Gegenteil passiert, und durchaus mit gutem Grund, aber das sind dann wieder Randfälle.

    EaranMaleasi schrieb:

    Ich meinte damit den Verbindungsaufbau

    Ah, OK. Falsch verstanden. Sorry

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##