Per TCP/IP-Befehl Internetzugriff sperren

  • VB.NET
  • .NET (FX) 1.0–2.0

Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von N3X.

    Per TCP/IP-Befehl Internetzugriff sperren

    Hallo Leute,
    ich entwickle zurzeit ein Programm für eine Schule, mit dem man die Schüler PCs überwachen kann. Früher hatten wir iNiS und da gab es eine Internet sperren Funktion. Ich hab was mit Netzwerkkarte deaktivieren gefunden, allerdings könnte ichs dann ja auch nicht mehr freigeben, da die Befehle ja über TCP/IP gesendet werden

    VB.NET-Quellcode

    1. Public Sub Senden(nachricht As String)
    2. For Each Eintrag As String In ListBox2.SelectedItems
    3. Try
    4. client = New TcpClient(Mid(Eintrag, 1, 15), 80)
    5. Dim writer As New StreamWriter(client.GetStream)
    6. writer.Write(nachricht)
    7. writer.Flush()
    8. Catch ex As Exception
    9. MsgBox("Der Computer mit der IP-Adresse " & Mid(Eintrag, 1, 15) & " kann nicht erreicht werden.", MsgBoxStyle.Critical)
    10. End Try
    11. Next
    12. End Sub


    und auf dem Schüler PC

    VB.NET-Quellcode

    1. Private Sub empfangsmodul(message As String)
    2. Try
    3. Dim befehl As String, parameter As String
    4. befehl = Mid(message, 1, 2)
    5. parameter = Mid(message, 3)
    6. Select Case befehl
    7. Case "00"
    8. Process.Start(parameter)


    usw... Das funtioniert auch ganz gut, aber wie mache ich es jetzt das auf dem Schüler PC nur der Internetzugriff gesperrt wird.
    Also das beim laden der Seiten ein "Verbindung nicht möglich..." kommt?
    Das ganze soll ja nur im Schüler PC aufm empfangsmodul sein und per Befehl ausgelöst werden.
    (Wie der Befehl geht weiß ich ;))
    Wäre schon wenn ihr mir einen fertigen Code geben könnt weil ich sonst nichts gefunden hab.

    MfG Rasre1
    also du willst ja nur verhindern das die schüler ins netz kommen können oder? also dein programm kann man ja sicherlich nicht beenden oder?
    wie wärs wenn du einfach eine abfrage einbaust und wenn der schüler den "webbrowser" (firefox,internetexplorer) starten will sagt das programm nö is nit und macht den prozess wieder aus ;)

    somit hätten die schüler zwar noch internet, dein tcp-server geht noch aber schüler kommen nicht mehr ins internet über ein webbrowser
    Hätte da ne Frage: Habt ihr auch n Intranet? Also mit gemeinsamen Netzlaufwerken?
    Wenn ja, dann kannst ja auf einem Netzlaufwerk eine Datei ablegen, drinnen n Flag hinterlegen, das sagt ob Zugriff möglich ist oder nich. Bzw den Zugriff machste halt, wenn der "Zugriff gesperrt ist", sprich das Flag auf meinetwegen False liegt, dass du dann mit nem StreamWriter die host Datei unter %SystemRoot%\system32\drivers\etc\hosts so veränderst. dass der Aufruf des Internet automatisch an die Intranet-Seite weitergeleitet wird. Oder an ieine Fehlerseite. Soweit ich weis hintelegt man ja den Proxy und der "verteilt" dann das Intenet Und eben statt des proxies mach die Intranet Seite
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    Du willst die Host-Datei verändern? a) haste da sicherlich keinen Zugriff drauf und b) ist das zu meiner Meinung nach ein zu tiefer Einschnitt.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    Das einfachste währe per exe die Gateways zu ändern und diese exe dann per Remotezugriff zu starten. Mit einer Weiteren exe könnte man das Internet wieder freigeben. Somit ist der Zugriff auf das Internet gesperrt aber das Lokale Netz nicht. Solange Via Remotezugriff Admin-Rechte bestehen ist das kein Problem.

    Netsh Interface ip set address "Lan-Verbindung" static [IP des Rechners] [Subnetzmaske] [falscher Gateway]
    exit

    Einfach als bat schreiben und in exe wandeln fertig

    Radinator schrieb:

    Hätte da ne Frage: Habt ihr auch n Intranet? Also mit gemeinsamen Netzlaufwerken?
    Wenn ja, dann kannst ja auf einem Netzlaufwerk eine Datei ablegen, drinnen n Flag hinterlegen, das sagt ob Zugriff möglich ist oder nich. Bzw den Zugriff machste halt, wenn der "Zugriff gesperrt ist", sprich das Flag auf meinetwegen False liegt, dass du dann mit nem StreamWriter die host Datei unter %SystemRoot%\system32\drivers\etc\hosts so veränderst. dass der Aufruf des Internet automatisch an die Intranet-Seite weitergeleitet wird. Oder an ieine Fehlerseite. Soweit ich weis hintelegt man ja den Proxy und der "verteilt" dann das Intenet Und eben statt des proxies mach die Intranet Seite

    Ja schon aber ich hab schon ne lösung. Ich mache es jetzt so wie MVN050 meinte. Aber danke!
    @Rasre1

    MVN050 schrieb:

    wie wärs wenn du einfach eine abfrage einbaust und wenn der schüler den "webbrowser" (firefox,internetexplorer) starten will sagt das programm nö is nit und macht den prozess wieder aus


    Das könnte man dann aber über den Taskmanager wieder beenden? Vielleicht versuchen den "eigenen Prozess" zu verstecken.
    Software being "Done" is like lawn being "Mowed". (Jim Benson)
    Es können noch Wetten abgeschlossen werden, wie lange es dauert, bis der erste seinen "Portable Chrome" mitbringt und ihn als *Excel" startet.

    Wer Internet-Zugriff sperren will, sollte das über zentrale Proxy/Firewall Berechtigungen steuern.
    Eine lokal installierte Lösung wird früher oder später ausgehebelt.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Warum für so eine Kleinigkeit eine Software schreiben? Wenn die Schule ein Active directory betreibt, würde es vollständig reichen eine weitere Benutzergruppe zu hinterlegen, die dazu berechtigt ist ins Internet zu gehen, die dann denn einzelnen Klassengruppen zugewiesen werden könnte, wenn die Schüler das Internet verwenden sollen.

    Warum das Rad neu erfinden? Microsoft bietet doch bereits genug Möglichkeiten...
    @N3X
    warst du nie in schule?
    Lehrer: für frage 1 dürft ihr 20 min das internet benutzen und danach wird es gesperrt!
    oder es werden alle seiten gesperrt bis auf wikipedia (damit die schüler nich in fratzbook rumlungern)

    was ist wenn ein schüler früher fertig ist? was macht er dann? richtig er stört :D und bringt man ihn dazu ruhig zu sein? richtig er darf sich frei im internet bewegen bis alle anderen soweit sind :D


    da finde ich meine lösung immernoch am einfachsten. klar ist sie nicht die sicherste aber hey... bis ein schüler auf die idee kommt sich ein eigenen browser per usbstick aufn rechner zu ziehen ist der usb-anschluss für schüler schonwieder gesperrt :D installieren dürfen schüler logischerweisse sowieso nix... und äh ja....
    @MVN050: Es heißt "warst du nie in EINER Schule".
    Soviel zu diesem Thema.

    Deine Lösung ist es ein Rad neu zu erfinden, ein Active Directory dagegen (was übrigens an Schulen recht häufig eingesetzt wird) richtig zu konfigurieren, ist kein Beinbruch. Das einzig notwendige was dafür erforderlich ist, ist die Kenntnis und das Wissen über die Konfigurationsmöglichkeiten eines Active Directorys.

    Vorteil des ganzen:
    Die Validierung welcher User bzw. welche Gruppe zu welchem Zeitpunkt ins Internet darf ,erfolgt auf dem Schulserver. Ein Bypass dieser Konfiguration kann nicht auf simplen Wege auf dem jeweiligen Rechner erfolgen, was es übrigens in deinem Falle dann der Fall ist, kann im Endeffekt spätestens über den Task-Manager beendet werden, oder wenn dieser gesperrt ist halt über die Kommandozeile (who cares?).

    So findet mittels der jeweiligen sowieso bereits existenten Benutzergruppen eine Validierung des Zugangs zum Internet zentral statt, womit eine Manipulation dessen bei sauberer Konfiguration nur ermöglicht werden kann, wenn die Zugangsdaten zum AD-Administrator Konto zugänglich sind.

    Abgesehen davon, auch wieder hier an dieser Stelle: Warum das Rad neu erfinden?

    Bezogen auf meine Berufsbranche sage ich auch nicht, wenn ein Kunde einen FTTX-Zugang erhalten soll erfinde ich einen Router und einen Medienkonverter neu.

    Zu mal wie es mir scheint, deine konkrete Idee jegliche Sicherheitsaspekte außen vor lässt.
    @N3X
    da hat sich wohl das eine wort bei mir irgentwo versteckt :D
    zu deinem "Active Directory" kenne ich nicht!
    wenn ich das richtig verstehe will doch der TE nur von jedem einzelnen schüler das internet sperren können oder freigeben können und nicht für alle auf einmal!

    du weisst doch selber was du in der schule machst wenn du mit deiner aufgabe fertig bist und handy verboten ist :D
    auserdem gibt es ja wiederum aufgabe bei denen man das internet nutzen soll und für andere eben nicht!

    ist es mit einem Active Directory möglich nach ca 15 min das internet für schüler der am rechner 3 sitz sein internet zu sperren und für alle anderen nicht?
    natürlich hat meine idee übelste sicherheitslücken aber wenn ein schüler freien zugang zum tastmanager oder konsole hat dannnn..... (ach war das herlich auf meiner schule das erste viertel jahr...)


    und mit meiner methode kann er einfach über tcp-verbindung (kann ja über lanverbindung laufen) einfach mal das internet sperren oder freigeben. wie auch immer.

    edit: wenn er das rad nich neu erfinden will würde er es sich kaufen
    Wenn man aus dem IT-Umfeld kommt, kennt man in jedem Falle das AD.

    Mal dazu:
    de.wikipedia.org/wiki/Active_Directory
    de.wikipedia.org/wiki/Forefront_Threat_Management_Gateway

    und wenn du mit deiner Idee besonderes Glück hast, erkennt diese sogar eine AV als potentielle Malware, also dementsprechend besonders schick. Insbesondere, dass deine Idee recht große Kosten für die Schule verursachen würde, da sich schließlich jemand um die Wartung des Netzes und der darauf laufenden Software kümmern muss. Zeit = Geld.

    MVN050 schrieb:

    natürlich hat meine idee übelste sicherheitslücken aber wenn ein schüler freien zugang zum tastmanager oder konsole hat dannnn..... (ach war das herlich auf meiner schule das erste viertel jahr...)


    Das sind zwei Möglichkeiten von vielen Software auf einem Rechner zu beenden, aber eindeutig nicht die einzigen.
    Statt eine Software zu entwerfen, die einen geringen Teil dessen abdeckt die eine etablierte Software wie das AD oder der TMG abdecken und nicht von vorne bis hinten getestet sind, kann man auch dementsprechend gleich etwas, was diese Erwartungen erfüllt einsetzen.

    Ich weiß nicht wo das Problem ist, und man deswegen das Rad neu erfinden muss?
    Schließlich ist es kein Hexenwerk eine simple Konfiguration eines ADs durchzuführen, was vermutlich sowieso schon in der Schule im Einsatz ist (Stichwort: Netzwerk und Benutzergruppen)