Laden...

[gelöst] Dateitransfer über Port80

Erstellt von B A L U vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.213 Views
B A L U Themenstarter:in
134 Beiträge seit 2007
vor 15 Jahren
[gelöst] Dateitransfer über Port80

Halihalo,

ich stehe mal wieder vor einem Problem:

Und zwar soll ein Programm entwickelt werden, womit Kunden daten zu uns schicken können.
Dieses Programm soll aber auch in einer Umgebung funktionieren, wo mit Firewalls gearbeitet wird. Soll heißen es ist nur Port 80 offen.

Meine erste Idee war bei uns im Büro einen FTP-Server auf Port 80 laufen zu lassen, und meine Programm verbindet sich dann über Port 80 damit. Nun habe ich aber gelesen das manche Firewalls die Pakete überprüfen ob auch wirklich ein HTTP Paket auf Port 80 verschickt wird. Damit fällt diese Idee ja nun flach.

Nun zu meiner Frage: Könnte ich dies über den HTTPChannel realisieren? Sprich einen Server entwickeln, welcher bei uns im Büro läuft, und auf Port 80 lauscht. Das Programm beim Kunden würde sich dann zu diesem verbinden, und die Daten dorthin übermitteln.
Wie würde denn eine Firewall reagieren darauf reagieren?

Ich möchte weder einen Trojaner oder Virus oder sonstwas entwickeln 😉

Es geht wirktlich nur darum, das Kunden Daten zu uns schicken können...

Danke und einen schönen Abend

Tobias

42 Beiträge seit 2006
vor 15 Jahren

Sprich einen Server entwickeln, welcher bei uns im Büro läuft, und auf Port 80 lauscht

Ich weiß ja nicht um was für eine Art Daten es sich handelt, aber hier könnte man doch prima mit nem SQL-Server oder MySQL-Server arbeiten?

Dein Programm ruft dann regelmäßig die Daten vom Server ab... =)

~ There's no knowledge that is not power~

G
497 Beiträge seit 2006
vor 15 Jahren

du kannst eine simple Webseite bauen, die eine Datei zum Upload entgegennimmt. Auf Client-Seite kannst du dann per HTTP-Post die Datei hochladen. Da es sich im Prinzip um ganz normalen HTTP-Verkehr handelt, dürfte eine Firewall nichts dagegen haben. Ist nicht ganz unkompliziert, so einen HTTP-Post-Request mit Dateianhang aufzubauen, aber dazu gibts ein paar Howtows im Internet. Vorteil dieser Variante: funktioniert automatisiert und auch manuell über einen Browser.

Oder alternativ (wäre mein Vorschlag): ein Webdienst auf Serverseite, der eine Methode zum Upload von Daten anbietet (also mit Parameter aufgerufen werden kann). Webdienste können HTTP-basiert sein (z. B. ein "normaler" ASP.Net-Webdienst mit .Net 2.0) und sollten auch durch die Firewall hindurch funktionieren. Die Webdienst-Variante ist wahrscheinlich einfacher umzusetzen, da man keine POST-Requests zusammenstricken muss.

Edit: in beiden Fällen sollte der Upload über HTTPS laufen, damit kein aussenstehender die Daten einsehen kann. Zusätzlich solltest du dir das Thema Authorisation anschauen. Wer was hochlädt, sollte sich auch zu erkennen geben, damit sichergestellt ist, daß nur berechtigte Personen oder Dienste Daten hochladen.

B A L U Themenstarter:in
134 Beiträge seit 2007
vor 15 Jahren

Hi,

Bei den Daten handelt es sich um ZIP-Dateien.
Die Idee mit dem Webservice gefällt mir 🙂

Kann ich mit meiner GUI, die der Kunde bekommt, auf diesen Webservice zugreifen?
Damit werde ich mich mal befassen...

Danke für den Denkanstoß.

Tobias

42 Beiträge seit 2006
vor 15 Jahren

Eventuell läßt sich auch der 'Intelligente Hintergrundübertragungsdienst' (Ab XP) von Microsoft nutzen, der auch für die Windows-Updates zuständig ist.

Vielleicht bringt dich das weiter.

http://www.simple-talk.com/dotnet/.net-tools/using-bits-to-upload-files-with-.net/

~ There's no knowledge that is not power~

G
497 Beiträge seit 2006
vor 15 Jahren

Hi,

Bei den Daten handelt es sich um ZIP-Dateien.
Die Idee mit dem Webservice gefällt mir 🙂

Kann ich mit meiner GUI, die der Kunde bekommt, auf diesen Webservice zugreifen?
Damit werde ich mich mal befassen...

Danke für den Denkanstoß.

Tobias

die GUI sollte ja auch aufs Netzwerk und damit auf Webdienste zugreifen können. Du solltest eventuell darauf achten, daß deine Anwendung auch auf die Verwendung eines Proxyservers mit oder ohne Anmeldung konfiguriert werden kann. Ich weiß nicht, ob die .Net-Komponenten automatisch die im Internet Explorer eingestellten Verbindungsinformationen übernehmen.

B A L U Themenstarter:in
134 Beiträge seit 2007
vor 15 Jahren

Hi,

Dankeschön, für die zwei wirklich genialen Ideen 🙂
Ich denke damit komme ich weiter...

@GarlandGreene

das mit dem Proxyserver steht schon auf meiner Liste, aber danke für den Hinweis

Wünsch euch ein schönes WE 8)

Tobias