Laden...

Rechner Fernsteuern

Erstellt von Frisch12 vor 14 Jahren Letzter Beitrag vor 14 Jahren 3.333 Views
F
Frisch12 Themenstarter:in
96 Beiträge seit 2009
vor 14 Jahren
Rechner Fernsteuern

Hi Leute,

Habe eine Frage hab mal ein Tool gefunden das in C# geschreiben war mit dem ich einen Fremden Rechner Fernsteuern konnte jetzt wollte ich diese Funktion in ein eigenes Programm einbauen.

Meine Frage wie mache ich das?

Hat jemand einen code oder einen Link für mich habe jetzt schon ganz google durchkämmt und finde nichts was mir weiter hilft.

Wäre nett wenn mir jemand was Posten könnte.

Gruß Frisch12

6.911 Beiträge seit 2009
vor 14 Jahren

Fernsteuern

Ist ein ziemlich weitläufiger Begriff. Was genau willst du erreichen?

Stichwort: Remoting.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

F
Frisch12 Themenstarter:in
96 Beiträge seit 2009
vor 14 Jahren

Hi,
Ich möchte gerne den Bildschirm sehen und dann zum entfernten Rechner maus und tastatureingaben senden das dieser die umsetzt so wie VNC z.B.

würde mich über einen code Freuen oder ein Deutsches Tutorial da ich unter dem Stichwort Remoting auch schon gesucht habe aber nix wirklich ansprechendes gefunden habe.

F
240 Beiträge seit 2006
vor 14 Jahren

das ist aber was anderes als Remoting, Remoting ist (zumindest nach meinem Verständnis) das Fernsteuern eines einzelnen Programmes. Du müsstest also dementsprechend ein Programm (bzw. Service) haben, dass du auf dem Zielcomputer hast, und dann mit Remoting ansprechen kannst.

Für welchen Zweck brauchst du das denn?

F
Frisch12 Themenstarter:in
96 Beiträge seit 2009
vor 14 Jahren

Ich soll für meine Schule ein Programm schreiben um eine Leichtere Verwaltung der Räume, Computer und schüler zu ermöglichen. Da sie bis jetzt VNC benuzen und dieses zu leicht zu manipulieren ist, muss ich ein neues Fernsteuerungstool schreiben. Und da dieses Programm voll in das System integriert wird ist auch ein server dazu auf jedem rechner vorhanden also in diesem sinne ein Dienst.

kann mir bitte jemand Helfen?

Gruß Frisch12

6.911 Beiträge seit 2009
vor 14 Jahren

Da sie bis jetzt VNC benuzen und dieses zu leicht zu manipulieren ist, muss ich ein neues Fernsteuerungstool schreiben.

Glaubst du wirklich dass das Tool das du schreibst schwerer zu manipulieren ist? 8o
Weiters glaube ich nicht dass sich der Aufwand lohnt solch ein Tool selber zu erstellen. Bis Alles so funktioniert wie es soll und vom Funktionsumfang dem entspricht was zB VNC kann dauert es ewig. VNC (oder ein anderes Tool) wurde auch nicht von heute auf morgen erstellt. Da steckt viel Entwicklung drin - auch für die Sicherheit.
Ich weiß nicht wer die Manipulationen vorgenommen hat. Zu bedenken sei dass ein mit einer .net-Sprache erstelltes Programm mit einem Reflektor relativ einfach in die Bestandteile "zerlegt" werden kann (Dissasemblierung). Somit sind die Türen für Manipulation geöffnet. Es gibt zwar Obfuskatoren die (wenn sie funktionieren) das Dissamblieren erschweren aber eben nicht verhindern.

Eine Auswahl an Programmen findet sich hier.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

691 Beiträge seit 2007
vor 14 Jahren

Da sie bis jetzt VNC benuzen und dieses zu leicht zu manipulieren ist,

Da hätte ich die Regel ausgesprochen: Wer an die VNC Einstellungen geht, oder den Server abstellt, der bekommt nen Tadel, ne 6, oder sonstwas.

mit freundlichen Grüßen,
Tomot

Projekte: www.gesellschaftsspieler-gesucht.de

F
Frisch12 Themenstarter:in
96 Beiträge seit 2009
vor 14 Jahren

Danke für eure tipps.

Werde dann wohl mit VNC arbeiten.

Gruß Frisch12

1.346 Beiträge seit 2008
vor 14 Jahren

Du kannst ja ein Programm schreiben, dass VNC unsichtbar macht. Das sollte dann doch für die meisten Schüler eine zu große Blockade sein.

Gruß pdelvo

3.728 Beiträge seit 2005
vor 14 Jahren
Rdp

Hallo Frisch12,

wenn es sich um Windows-PCs handelt, kannst Du RDP (besser bekannt als Remote Desktop oder Terminal Services) verwenden. Das erfüllt einen hohen Sicherheitsstandard, ist in jedem Windows (ab XP) standardmäßig eingebaut und kann über eine COM-Schnittstelle auch von C# aus anprogrammiert werden. Um den Remote Desktop Viewer zu starten, kloickst Du auf Start -> Ausführen und gibst dann ein "mstsc". Um eine Verbindung herstellen, musst Du nur den DNS-Namen oder die IP-Adresse des Zielrechners kennen. Remote Desktop muss auf dem Zielrechner natürlich aktiviert sein (Systemsteuerung -> System -> Registerkarte Remote).

RDP ist wesentlich schneller als VNC, funktioniert aber nur unter Windows (Es gibt zwar Viewer für Linux, aber der zu steuernde PC muss ein Windows-PC sein).

J
1.114 Beiträge seit 2007
vor 14 Jahren

RDP ist wesentlich schneller als VNC, funktioniert aber nur unter Windows (Es gibt zwar Viewer für Linux, aber der zu steuernde PC muss ein Windows-PC sein).

Ist aber nicht immer die gewünschte Lösung!
Zumindest unter XP wird bei einem RDP der aktuelle eingeloggte User auf dem Client ausgeloggt. Das ist nicht immer wünschenswert. Unt über Firewallgrenzen hinweg mach VNC auch Probleme.

Von VNC würde ich persönlich allerdings auch abraten. Ich tendiere eher zum TeamViewer.

X
1.177 Beiträge seit 2006
vor 14 Jahren

huhu,

Für mich ist das jetzt gerade ne Definitionsfrage: Will ich einem User helfen (=VNC, TeamViewer, RDP (kann das auch!), etc.) oder will ich einen Rechner administrieren (=VNC, RDP).

Hier spielen ja dann auch die Rechte eines Normalen Users im Windows eine Rolle: Wenn ich was installieren will als Admin, dann muss ich als Admin da ran. Ob ich dann den User abmelde ist - mir als Admin - dann egal.

Konnte man VNC nicht auch als Dienst eintragen?

😃

Xynratron

Herr, schmeiss Hirn vom Himmel - Autsch!

Die Erfahrung zeigt immer wieder, dass viele Probleme sich in Luft auslösen, wenn man sich den nötigen Abstand bzw. Schlaf gönnt.

F
Frisch12 Themenstarter:in
96 Beiträge seit 2009
vor 14 Jahren

Hi Danke für eure Vielen Posts.

VNC Läuft als dienst ist aber sichtbar und kann mit einem knopfdruck zu schließen es wäre eine tolle lösung wenn ich das icon verstecken könnte nur wie mache ich das?

Habt ihr villeicht eine Lösung gefunden mit der ich das selber machen kann??

Im anhang findet ihr ein Proggy das mit C# (laut beschreibung) geschreiben wurde und was genau das macht was ich brauche.

Schauts euch mal an.

Gruß Frisch12

1.130 Beiträge seit 2007
vor 14 Jahren

Ehmm:

  1. Das Programm ist von mir. Könntest du bitte dazu sagen, dass es von mir ist und auf den eigentlichen thread verweisen, anstatt es einfach so umzubenennen und anzuhängen?!!
    PC Fernsteuerung

  2. Der Code ist gerßteils von mir (alles, was nicht von mir ist findet man auf http://www.pinvoke.net/) und wirklich c#, aber ich bin nicht gewillt, den zu veröffentlichen. Grundsätzlich könnte man die gui aber weglassen und die Addresse hardcoden.

Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!

F
Frisch12 Themenstarter:in
96 Beiträge seit 2009
vor 14 Jahren

Das tut mir leid. Hats es ja selber jetzt gepostet.

könntest du mir nen tipp bzw. nen Code für Screenshots geben???

Gruß Frisch12

X
1.177 Beiträge seit 2006
vor 14 Jahren

huhu,

VNC Läuft als dienst ist aber sichtbar und kann mit einem knopfdruck zu schließen

glaub ich nicht. Entweder, es läuft nur als Programm (-> deswegen das Icon und man kann es schliessen) oder eure User haben Admin-Rechte auf den PCs (deswegen dürfen sie den Dienst stoppen).

Kontrollier das doch eher nochmal, bevor Du eine eigene App zum Fernsteuern schreibst. Wenn nämlich eure User Admin-Rechte haben, dann läuft ja grundlegend was schief.

😃

Xynratron

Herr, schmeiss Hirn vom Himmel - Autsch!

Die Erfahrung zeigt immer wieder, dass viele Probleme sich in Luft auslösen, wenn man sich den nötigen Abstand bzw. Schlaf gönnt.

F
Frisch12 Themenstarter:in
96 Beiträge seit 2009
vor 14 Jahren

Hi,

Unsere user haben keine admin rechte, man kann nur unten auf das Icon rechtsklicken und dann close VNC Server anklicken und schon ist er aus.

Aber meine Frage jetzt lautet ja wie kan ich mir einn Screenshot von einem anderen Rechner holen???

Bin dankbar für jeden Tipp.

Gruß Frisch12

6.911 Beiträge seit 2009
vor 14 Jahren

Aber meine Frage jetzt lautet ja wie kan ich mir einn Screenshot von einem anderen Rechner holen???

Ein Datenschützer würde jetzt laut aufschreien... 😁

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

J
1.114 Beiträge seit 2007
vor 14 Jahren

Aber meine Frage jetzt lautet ja wie kan ich mir einn Screenshot von einem anderen Rechner holen???

Das ist eine neue Frage und hat nichts mehr mit Fernwartung zu tun. Zum Fernwarten wurden genügend Tools gepostet oder verlinkt. Ich bezweifele, dass du ohne immensen Aufwand auch nur annähernd an eine gebotene Funktionalität von z.B. Teamviewer herankommst.

Dennoch zu deiner Frage:
Du brauchst wohl einen Server der lokal läuft unter dem Benutzerkonto des eingeloggten Users, da du sonst nicht so einfach an dessen Desktop herankommst. Und jedes Programm das unter dem Account des eingeloggten Users läuft, kann auch vom Selbigen gekillt werden. Eventuell hilft ein Windows Dienst unter dem System Account mit Desktopinteraktion, um an den Desktop zu kommen. Ich glaube aber dass das unter Vista wiederrum Probleme bereitet.

Die Frage wurde schon einmal gestellt, und eine Antwort von dir steht noch aus: Was willst du eigentlich erreichen? Administrative Operationen am Client ausführen oder einfach dich nur in dessen Session einklinken?

F
Frisch12 Themenstarter:in
96 Beiträge seit 2009
vor 14 Jahren

Einfach nur in dessen Session einklinken und unter umständen maus und Tastatureingaben zum entfernten rechner senden sodass diese umgesetzt werden.

ich habe jetzt schon herausgefunden wie ich das mit den Screens mache jetzt brauche ich nur noch eine Funktion die die aktuelle maus Position an den Entfernten Rechner übermittelt und somit ermöglicht die maus zu steuern und sogar Tastatureingaben rüberzusenden die dann umgesetzt werden.

Weiß jemand Rat?

Gruß Frisch12

3.728 Beiträge seit 2005
vor 14 Jahren
Fernsteuerungstool

Hallo Frisch12,

Einfach nur in dessen Session einklinken und unter umständen maus und Tastatureingaben zum entfernten rechner senden sodass diese umgesetzt werden.

So einfach ist das aber nicht.

Du könntest sowas als Windows-Dienst implementieren, der auf allen Rechnern installiert wird, die ferngesteuert werden können sollen (Wenn ein Active Directory zur Verfügung steht, kannst Du das Installer-MSI-Paket auch per Gruppenrichtlinie verteilen, dann wird der Dienst automatisch auch auf allen neuen Computern installiert, die zur Domäne hinzugefügt werden).

Über Remoting kannst Du Dich dann auf den Dienst eines bestimmten Rechners verbinden und dort z.B. die Maus übernehmen. Das wiederum wird den Einsatz diverser Win32-API-Aufrufe nötig machen. Infos dazu findest Du hier: http://www.pinvoke.net/

Stichworte für eine weitere Recherche wären: Window-Messages, wndproc, Hooks, SendMessage, LogonUser

Wichtig ist bei einer solchen Anwendung, dass der Benutzer sofort sieht (z.B. über ein NotifyIcon) dass sich jemand in seine Sitzung eingeklinkt hat und sieht was er gerade auf dem Bildschirm hat und seine Maus und Tastatur fernsteuern kann. Der Benutzer muss unbedingt die Möglichkeit haben, die Übernahme seiner Sitzung abzubrechen. Alles andere halte ich für Datenschutzrechtlich nicht verantwortbar. Was gibt es denn für Gründe, eine andere Windows-Sitzung fernzusteuern:*Ich bin Admin und arbeite an einem PC der weit entfernt steht *Ich mache Support und helfe jemand anderes ein Problem zu lösen *Ich arbeite z.B. währnd eines Online-Meetings gemeinsam an einem Dokument *Ich möchte jemanden Bespitzeln

Für all diese Zwecke gibt es bereits fertige Anwendungen (selbst fürs Bespitzeln). Was ist Deine Motivation, noch eine weitere hinzuzufügen, die vermutlich die bestehenden in Leistung und Sicherheit nicht übertreffen wird?

F
Frisch12 Themenstarter:in
96 Beiträge seit 2009
vor 14 Jahren

Hi Danke für deine Antwort.

Es wäre Fatal wenn ein Schüler der sich auf einem Schulcomputer anmeldet den Lehrer jederzeit kicken könnte.

Danke dir für deinen Tipp werde ich mir mal anschauen.

Gruß Frisch12

3.728 Beiträge seit 2005
vor 14 Jahren

Es wäre Fatal wenn ein Schüler der sich auf einem Schulcomputer anmeldet den Lehrer jederzeit kicken könnte.

Mag sein. Trotzdem muss der Schüler jederzeit sehen, ob jemand anderes seine Sitzung gerade beobachtet bzw. so zugeschaltet ist, dass das möglich wäre. Wenn der Lehrer nicht möchte, dass die Schüler irgendwas rumfummeln, während er etwas erklärt, sollte einfach die Systeme per Fernzugriff sperren können.

Du hast mir die Frage nach der Motivation aber nicht beantwortet? Lehrer-Steuert-Schüler-PCs-Fern-Software gibt es bereits in verschiedenen Variationen. Warum neu schreiben?

F
Frisch12 Themenstarter:in
96 Beiträge seit 2009
vor 14 Jahren

Weil ich nicht Glaube, dass ich es Schaffe das fenster von z.B. VNC in mein MDI reinzupacken oder?
Außerdem lerne ich so viel dazu und falls ich später mal etwas vergleichbares machen muss weis ich wie es geht. Und nochwas unsere Schule hat nicht sehr viel geld um sich neue Programme zu kaufen.

Gruß Frisch12

3.728 Beiträge seit 2005
vor 14 Jahren
Fenser kapern

Weil ich nicht Glaube, dass ich es Schaffe das fenster von z.B. VNC in mein MDI reinzupacken oder?

Warum nicht? Schau: http://www.pinvoke.net/default.aspx/user32/SetParent.html

Du machst ein leeres Formular, in welches Du mittels SetParent das VNC-Hander reinkaperst. Dann passt Du mittels MoveWindow (http://www.pinvoke.net/default.aspx/user32/MoveWindow.html) die Größe des VNC-Fensters an die Größe des Host-MDI-Child-Fensters an. Falls VNC eine fixe Größe hat, baust Du eben Scrolling ein.

Du brauchst nur den Window-Handle des VNC-Fensters. Wenn Du VNC von Deinem Programm aus mit System.Diagnostics.Process startest, bekommst über die MainWindowHandle-Eigenschaft des Process Objekts den gewünschten Handle. Den Handle Deines Windows.Forms.Form-Fensters bekommst Du über this.Handle.

So könnte das aussehen: http://i40.tinypic.com/r9e8n9.jpg

In wenigen Minuten wirst Du so Erfolge sehen!