Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TCPServer Session/Eindeutige ID ermitteln (https://www.delphipraxis.net/194528-tcpserver-session-eindeutige-id-ermitteln.html)

DelTurbo 4. Dez 2017 17:52

AW: TCPServer Session/Eindeutige ID ermitteln
 
Danke, die Links werde ich mir mal ansehen.

Was ganz merkwürdiges, ich hatte eben im Log wirklich mehrmals Cookie mit der Cookie ID drin stehen. Ich weiß leider nicht warum. Ich habe nix geändert. Man könnte sagen von ca. 50 mal stand es 5 mal drin.

Wäre das immer da, dann wäre das endlich mal fertig.

Vielen vielen dank für deine Hilfe. Heute werde ich allerdings nichts mehr machen. Kann nichtmehr sitzen... :cry:

Zacherl 4. Dez 2017 20:50

AW: TCPServer Session/Eindeutige ID ermitteln
 
Willst du auch SSL unterstützen? Dann kannst du das Injecten deiner Session nämlich leider auch vergessen. Für andere Protokolle als HTTP natürlich sowieso. Ich würde nach wie vor auf dem SOCKS Protokoll aufbauen, sofern du natürlich Kontrolle über die Browser/Anwendungen hast und dort deinen Server als Proxy einstellen kannst.

DelTurbo 5. Dez 2017 09:10

AW: TCPServer Session/Eindeutige ID ermitteln
 
Hi Zacherl,
den Socks von Indy habe ich mir mal angesehen. Weil ich muss SSL können. Deswegen habe ich nun an dieser stelle erst mal aufgehört. Es bringt ja nix wenn es nur ohne SSL läuft.

Aber wie ich das was weiterleiten habe ich nicht so richtig kapiert. Hättest zu das vielleicht ein Stückchen Source für mich worauf ich aufbauen kann?

Vielen dank im Voraus

himitsu 5. Dez 2017 09:50

AW: TCPServer Session/Eindeutige ID ermitteln
 
SSL kann dennoch unterstützt werden.

Client/Browser <SSL> deineProxyAnwendung <SSL> derZielServer


hier kann man einmal die SSL-Verschlüsselten Daten 1:1 durchreichen
oder Client/Browser <SSL> deineProxyAnwendung und deineProxyAnwendung <SSL> derZielServer nutzen jeweils ein eigenes SLL-Zerzifikat (sie können auch das Selbe nutzen, aber eben jeder)
Client/Browser <SSL> deineProxyAnwendungClientside <X> interneVerbindungUndDatenauswertungUndCookiemanipulationOhneSLL <X> deineProxyAnwendungServerside <SSL> derZielServer

Du bist also kein dummer "ich reich allers durch"-Proxy, sondern für den clöient bist du der Server und für den Server bist du der Client und jeweils dazwischen kommt das SSL rein.

DelTurbo 5. Dez 2017 10:18

AW: TCPServer Session/Eindeutige ID ermitteln
 
Hi,
kurz was ich probiert habe. Nicht böse sein.
Ich habe zum IdHTTPServer eine SSL Verbindung aufgebaut. Der IdHTTPServer übernimmt die Authentifizierung. Passt alles mache ich ein Redirect auf den gleichen Server, allerdings einen anderen Port. Dort wartet der IdTcpServer. Ich bin nur im OnExecute weil das ohne SSL klappte.

Nun kommt leider, wie von Zacherl prophezeit ein Fehler.

Nun müsste ich nur noch wissen, welchen von den Indy Proxys ich nehmen muss. Ich bin irgendwie Total verwirrt und peile nun fast nix mehr. Vielleicht bekomme ich das dann ja doch hin.

Gruß und danke im Voraus

DelTurbo 5. Dez 2017 10:38

AW: TCPServer Session/Eindeutige ID ermitteln
 
Hmmm,
also ich habe es nun nochmal anders gemacht. Es klappt doch. Da ich im Moment nur ein Selbst gemacht Zertifikat habe muss ich es 2x bestätigen.
Ich denke mal wenn es ein "Richtiges" ist, merkt man es nicht.

Das bringt mich/uns zu dem alten Problem zurück, wie kann ich im IdTCPServer.OnExecute rausfinden ob der Param xy gesetzt ist und was steht drin.

Und zu der Frage, warum bekomme ich auf einmal das Cookie mit der SessionID ins IdTCPServer.OnExecute geliefert. Ich weiß nicht wie es auf einmal kommt.

Code:
GET /hp/device/jquery.js HTTP/1.1
Accept: application/javascript, */*;q=0.8
Referer: https://192.168.0.2:800/
Accept-Language: de-DE
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Accept-Encoding: gzip, deflate
Host: 192.168.0.2:800
DNT: 1
Connection: Keep-Alive
Cookie: IDHTTPSESSIONID=yaZplJnATWAbS9b

Gruß
Ein total verwirrter Mensch........

Nachtrag: Damit es klappte habe ich in IdTCPServer.OnConnect folgendes eingebaut. Das hatte ich mal irgendwo gelesen. Kann es daran liegen das ich auf einmal das Cookie bekomme?

Delphi-Quellcode:
    if (AContext.Connection.IOHandler is TIdSSLIOHandlerSocketBase) then begin
      TIdSSLIOHandlerSocketBase(AContext.Connection.IOHandler).PassThrough:= false;
    end;

himitsu 5. Dez 2017 10:42

AW: TCPServer Session/Eindeutige ID ermitteln
 
HTTPClientMitSSL > TCPServerOhneSSL > programmintern 1:1 durchreichen > TCPClientOhneSSL > HTTPServerMitSSL
Die beiden Endunkte ver-/entschlüsseln und du dazwischen bekommt nur die verschlüsselten Daten zu sehn.


HTTPClientMitSSL > HTTPServerMitSSL > programmintern durchreichen, verändern oder sonstwas > HTTPClientMitSSL > HTTPServerMitSSL
Die beiden Endunkte ver-/entschlüsseln aber nicht "untereinander" sondern mit dir und du bekommst so die unverschlüsselten Daten.
Bei Google suchenman in the middle

DelTurbo 5. Dez 2017 10:45

AW: TCPServer Session/Eindeutige ID ermitteln
 
Ups, sorry du hast geschrieben während ich meinen Beitrag editiert habe.

DelTurbo 5. Dez 2017 10:47

AW: TCPServer Session/Eindeutige ID ermitteln
 
Zitat:

Zitat von himitsu (Beitrag 1387971)
HTTPClientMitSSL > HTTPServerMitSSL > programmintern durchreichen, verändern oder sonstwas > HTTPClientMitSSL > HTTPServerMitSSL

So habe ich es nun am laufen. Trotzdem Frage ich mich, bleibt das Header den ich dort bekomme, um das richtige Ziel zuzuweisen nun immer gleich? Oder ist das eine Laune von irgendwem????

DelTurbo 5. Dez 2017 12:55

AW: TCPServer Session/Eindeutige ID ermitteln
 
Hallo an alle die mir geholfen haben. Erst mal ein fettes Danke schön.

Das wird nun wohl meine letzte Frage sein. Ich habe alles soweit, mit SSL, am laufen.

Nun habe ich es mit verschiedenen PCs und Browser Probiert. Ich bekomme immer das Cookie mit wie unten zu sehen ist.

Nun zu meiner Frage: Kann ich mich nun darauf verlassen das es IMMER mit gesendet wird?

Gruß und nochmals Danke....

Code:
GET /colorLok.png HTTP/1.1
Host: 192.168.0.2:800
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36
Accept: image/webp,image/*,*/*;q=0.8
Referer: https://192.168.0.2:800/
Accept-Encoding: gzip, deflate, sdch, br
Accept-Language: en-US,en;q=0.8
Cookie: IDHTTPSESSIONID=huUYf4A3JAeyMUG


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:17 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz