Zum Inhalt springen

[VB.net] Serververzeichnís durchsuchen


noobvb.net

Empfohlene Beiträge

Hi Phil,

ich habe verstanden, dass das Problem nicht primär bei mir liegt.

Das es über die gegenseitige Kommunikation zwischen meiner Schnittstelle und er gegnüberliegenden Schnittstelle realisierbar wäre, ist für mich auch verständlich. Auch wenn ich mich hier wiederhole, aber dieser Weg ist ausgeschlossen.

Dennoch muss ich diese Aufgabe lösen und die Frage ist nun eben: wie?

Gruß

Link zu diesem Kommentar
Auf anderen Seiten teilen

Auch wenn ich mich hier wiederhole, aber dieser Weg ist ausgeschlossen.

Dennoch muss ich diese Aufgabe lösen und die Frage ist nun eben: wie?

Dann gibt es keine Lösung!

Für mich ist Deine Uneinsicht absolut unverständlich, diese Aufgabe ist unter den nicht veränderbaren Gegebenheit nicht lösbar außer mit eine "Brute-Force" Methode.

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mir fällt immer häufiger auf, das hier immer wieder auf die Nutzung von einem Webservice hingewiesen wird. Find ich so nicht gut da es leichter durchführbare alternativen geben würde. Natürlich nur unter der Vorrausetzung, der Threadersteller dürfe etwas am Server verändern btw. hinzufügen.

Sagt dein Chef dir das du nichts am Server verändern darfst?

mfg

Gateway

PS:

@flashpixx: Was soll den Brute Force in diesem Fall nützen? Wenn ich mich nicht komplett irre, dann ist das doch eine Methode um Passwörter zu knacken.

Bearbeitet von Gateway_man
Link zu diesem Kommentar
Auf anderen Seiten teilen

Mir fällt immer häufiger auf, das hier immer wieder auf die Nutzung von einem Webservice hingewiesen wird.

Webservice haben durchaus ihre Vorteile.

Find ich so nicht gut da es leichter durchführbare alternativen geben würde. Natürlich nur unter der Vorrausetzung, der Threadersteller dürfe etwas am Server verändern btw. hinzufügen.

Dann nenn' sie einmal. DCOM (unter Windows), RMI unter Java usw wäre auch noch Möglichkeiten, da der OP aber hier nur seine Client Architektur preis gibt und über das HTTP(S) Protokoll kommuniziert, ist der Webservice das System, was in diese Konstellation passen würde

[edit]: Da es sich ja hier wohl um eine Art "verteiltes System" handelt, wäre der Webservice durchaus mit das sinnvollste

PS:

@flashpixx: Was soll den Brute Force in diesem Fall nützen? Wenn ich mich nicht komplett irre, dann ist das doch eine Methode um Passwörter zu knacken.

Nein generell gilt das nicht (siehe Wiki Artikel):

Die Brute-Force-Methode (engl. für „Methode der rohen Gewalt“), auch Exhaustionsmethode (von lat. exhaurire = ausschöpfen), ist eine Lösungsmethode für Probleme aus den Bereichen Informatik, Kryptologie und Spieltheorie, die auf dem Ausprobieren aller (oder zumindest vieler) möglichen Fälle beruht.

Brute-Force ist zunächst einmal eine Methode um alle Möglichkeiten auszuschöpfen (wird natürlich häufig bei Passwörtern verwendet).

Der OP hat ja eine Art Nameskonvention "Pfad + Zeitstempfel", wenn er nun alle möglichen Pfade + Zeitstempel durchläuft, wird er irgendwann fündig. Das führt aber zu einem großen Errorlog des Server und ich habe z.B. die Webserver so konfiguriert, wenn in kurzer Zeit von der gleichen IP mehrfach Erroranfragen kommen, dann wird sie für eine gewisse Zeit in den IPTables blockiert.

Phil

Bearbeitet von flashpixx
Ergänzung
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi Leute,

ihr habt davon gesprochen, dass ich mehrer Möglchkeiten habe, wenn der Server einstellbar wäre. Könnt ihr die vielleicht mal alle nennen? In die Sache ist jetzt doch etwas Bewegung gekommen und ich wäre dankbar, wenn Ihr meinen Horizont nochmal etwas erweitern könntet ;-)

Beste Grüße

Link zu diesem Kommentar
Auf anderen Seiten teilen

Vielleicht list Du den Postings Deines Threads

  • Den Server so zu konfigurieren, dass er Dir einen Directory Index liefert, mit dem Du arbeiten kannst. Womit weiterhin das Problem besteht, dass Du diesen Krampf mit Timern machen musst, der letztendlich auch zu Fehlern führt
  • Oder Du konzipierst alles neu, d.h. die entsprechende Schnittstelle am Server, sowie Deinen Code. Ein Webservice wäre wohl die sinnvollste Alternative. Es muss ja nur dafür Sorge getragen werden, dass der Datenaustausch korrekt abgewickelt wird, alles andere kann ja so erhalten bleiben

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du könntest wie gesagt auch einfach einen FTP Server aufsetzten (dauer ca 2 minuten :D) , einen User erstellen welchem das besagte Verzeichnis mit den Dateien freigegeben ist. Und dann einfach immer den Ordnerpfad auslesen lassen. Klappt super mach ich auch. Der Code würde in etwa so aussehen:


Dim pa() As String

        Dim short_ As String

 Dim request As Net.FtpWebRequest = Net.FtpWebRequest.Create(connectionuri)

            request.Method = Net.WebRequestMethods.Ftp.ListDirectory

            request.Credentials = New Net.NetworkCredential("user", "passwort")

            Dim response As Net.FtpWebResponse = request.GetResponse()

            Using myReader As New IO.StreamReader(response.GetResponseStream())

                Do While myReader.EndOfStream = False

                    short_ = myReader.ReadLine 'die short variable ist ein string welcher den einzelnen Dateinamen beinhaltet, so lass ich es dann durchloopen und die IF Schleife darunter benutze ich um Dateinamen zu filtern.         

If short_.Contains("ST" & projektnummer & sJahresbuchstabe & iMonth) Then

                        pa = Split(short_, "m")

                        ListBox1.Items.Add(pa(1)) 'Wäre in diesem fall mein Ausgabemedium

                    Else

                    End If

                Loop

            End Using

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du könntest wie gesagt auch einfach einen FTP Server aufsetzten (dauer ca 2 minuten :D) , einen User erstellen welchem das besagte Verzeichnis mit den Dateien freigegeben ist. Und dann einfach immer den Ordnerpfad auslesen lassen.

Also das mit 2min bezweifel ich, FTP würde ich schon mal gar nicht einsetzen, da der Login ggf unverschlüsselt übertragen wird. Hier würde ich dann SFTP verwenden. Außerdem sollte man nicht, weil man es einfach mal so braucht, schnell einen Server hoch ziehen. Man schafft sich damit meist mehr Probleme.

Die einfachste Variante ist die Änderung des Webserver (bei Apache mit htaccess), so dass ein Directory Listing erzeugt wird

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also das mit 2min bezweifel ich, FTP würde ich schon mal gar nicht einsetzen, da der Login ggf unverschlüsselt übertragen wird. Hier würde ich dann SFTP verwenden.

Phil

Wie du schon gesagt hat wenn ein Apache drauf ist, dann ist logischerweise auch schon ein FTP server drauf, nur nicht gestartet. Da der Apache einen solchen integriert hat. Und das mit dem SFTP ist auch nicht wirklich nötig, da der integrierte FTP server des Apache's (Filezilla) die Möglichkeit bietet die Sessions mit SSL zu verschlüssen.

Und wie gesagt wenn apache drauf ist dann dauert die einrichtung des FTP's nichtmal zwei Minuten ;).

Alternativ wenn einem die SSl einrichtung zu stressig oder zu schwer ist, könnte man ihm auch sagen das er nur bestimmte IP's connecten lässt :) .

Was natürlich zu enormen einschränkungen führt. Ich empfehle daher sich mit dem Thema SSl auseinanderzusetzen.

Mfg

Simon

Bearbeitet von Gateway_man
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi Simon, Hi Phil,

vielen Dank für die nochmaligen Infos.

@Phil: Ich wollte mit der Frage nur nochmal wissen, ob es außer den genannten vielleicht noch weitere euch bekannte Lösungen gibt. Die im Tread genannten habe ich bereits berücksichtigt ;-).

@Simon Vielen Dank für das Codebeispiel.

Beste Grüße

Manuel

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Phil: Ich wollte mit der Frage nur nochmal wissen, ob es außer den genannten vielleicht noch weitere euch bekannte Lösungen gibt. Die im Tread genannten habe ich bereits berücksichtigt ;-).

Du hast Dich ja nicht über die eingesetzten Plattformen geäußert. Wir kennen ja nur Deinen Client (VB.NET). Letztendlich hast Du ein verteiltes System oder einen Cluster, somit kannst im Grunde mehrere Techniken einsetzen. Kommt natürlich aber darauf an, was möglich ist.

Vielleicht hier mal ein paar Gedanken: Webservices sind von Vorteil, wenn Du gängige Technologien haben willst (HTTP(S), Cross-Plattfrom, usw). RMI wäre eine Möglichkeit für rein Java basierte Dinge, DCOM reine Windows Anwendungen. Wenn Du im Bereich Cluster bist, dann kannst Du auch auf MPI (OpenMPI, MPI CH2, MS MPI) setzen.

Wenn Du alles neu konzipieren musst / darfst, dann würde ich mir grundlegende Gedanken machen, sprich was benötigst Du z.B. CPU Leistung, zentrale Datenhaltung usw. Letztendlich die Unterscheidung ob Du in die Richtung Cluster- und -Algorithmen gehen musst oder ob es sich auf eben nur das "Abgeben und Abholen" von Daten, die nicht zeitkritisch verarbeitet werden müssen, ankommt. Erst wenn das feststeht, würde ich mir Gedanken machen, welche konkrete Technologie ich einsetze

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi Phil,

Danke für die Antwort.

Mal ne Frage, was verstehst du unter Webservice?

Def:Konzeptionell betrachtet sind Webservices Dienste, die für die Kommunikation zwischen Computern konzipiert und über verschiedene Plattformen hinweg interoperabel sind. Mit ihnen können unterschiedliche, standardisierte Dienste über das Web abberufen und eigene Dienste hinzugefügt werden. Unter den Begriff Webservices fallen alle Maßnahmen, die die Kommunikationshemmnisse zwischen verschiedenen E-Services beheben. Technisch gesehen ist es ein Dienst mit HTTP als Transportprotokoll und dem Simple Object Access Protocol (SOAP) als Schnittstelle auf Anwenderebene.

Microsoft gibt den WebClient als Webservice an. Dieser ist nur ein Wrapper für WebRequest/Response und das benütze ich. Also verwende ich doch bereits webservices? Oder lieg ich da falsch?

Gruß

Manuel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mal ne Frage, was verstehst du unter Webservice?

Für mich ist ein RPC Call Remote Procedure Call ? Wikipedia

technisch ist dann ein Webservice: eine XML Datei, die entsprechend der SOAP Spezifikation aufgebaut ist, per HTTP(S) übertragen wird und eine Funktion bereit stellt, die ich mir entsprechend über ein Proxy-Objekt lokal auf meinen PC hole und ausführe.

Ich verstehe da jetzt nicht ganz konkret was Du wissen willst. Man erzeugt sich anhand der URL letztendlich ein Objekt und dieses stellt dann die Methode des Webservices zur Verfügung

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...