2013-07-11 10 views
9

Sto cercando di monitorare il traffico HTTPS con Fiddler, utilizzando corrente nuova versione: 2.4.4.5errore https Fiddler: "perché non possiedono un algoritmo comune"

Ho installato con successo HTTPS, certificati e I può vedere il traffico crittografato con https completo, ad esempio navigando nel sito web della mia banca.

... però ...

Quando si cerca di monitorare un altro server ho ricevuto questo messaggio di errore nella finestra di risposta:.

"Impossibile per garantire il collegamento esistente per 77.87.178.160 Una chiamata a SSPI riuscito, vedere l'eccezione interna InnerException:. System.ComponentModel.Win32Exception: il client e il server non possono comunicare, perché non possiedono un algoritmo comune"

per finestra piena Fiddler vedere:

enter image description here

Il client non è un browser in questo caso, ma un programma client personalizzato, che comunica con il proprio server.

La mia domanda: questa eccezione è fuorviante e in realtà qualche altro errore impedisce la configurazione del canale protetto? ... o ... Abbiamo ancora possibilità di monitorare questa comunicazione https?

Thx in anticipo

risposta

11

Che cos'è il programma client?

Questo errore indica in genere che l'applicazione client offre solo determinati codici HTTPS e tali codici non sono supportati da Fiddler.

Tuttavia, in questo caso, il problema specifico qui è quasi certamente questo: http://blogs.msdn.com/b/ieinternals/archive/2009/12/08/aes-is-not-a-valid-cipher-for-sslv3.aspx

Il client sta cercando di usare AES con SSLv3, ma che non è una delle crittografie valide per SSL3. Di conseguenza, la connessione fallisce.

È possibile che sia in grado di risolvere il problema facendo clic su Regole> Personalizza regole. Scorri verso il basso fino alla funzione Main() e aggiungi la riga seguente all'interno della funzione:

CONFIG.oAcceptedServerHTTPSProtocols = 
    System.Security.Authentication.SslProtocols.Ssl3; 

Per favore fatemi sapere se funziona.

NOTA Le versioni correnti di Fiddler offrono un collegamento all'interfaccia utente per questo: Esaminare il numero di protocolli abilitati nella scheda HTTPS.

+0

Eric, molte grazie per il vostro supporto. Purtroppo questo mi dà "Variable 'SslProtocols' non è stato dichiarato" –

+0

Ho risolto l'errore di compilazione usando System.Security.Authentication namespace. Ora ho ottenuto 0 risposta di lunghezza e questo messaggio di errore: "fiddler.network.https> Impossibile proteggere la connessione esistente per 77.87.178.129. Impossibile leggere i dati dalla connessione di trasporto: una connessione esistente è stata forzatamente chiusa dall'host remoto. InnerException: System.Net.Sockets.SocketException: una connessione esistente è stata chiusa forzatamente dall'host remoto in System.Net.Sockets.NetworkStream.Read (buffer Byte [], Int32 offset, dimensione Int32) " È interessante notare come questo commento la linea ora dà lo stesso. –

+1

Provare a cambiare la linea in * solo * Ssl3 (risposta aggiornata sopra). Posso collegarmi con successo al server di destinazione da qui con quella configurazione. – EricLaw

0

Sì, anch'io ho visto questo errore quando lavoro fuori dal violinista ed è stato collegato con AuthenticateAsServer ma è andato male solo quando utilizzo IE10 e non Chrome come browser.

La cosa strana è che non si è interrotto tutto il tempo per IE10 utilizzando SslProtocols.Tls per il protocollo, quindi aggiungerò un po 'di codice per cambiare il protocollo se uno fallisce

Anche il protocollo che può essere utilizzato sembra cambiare se si utilizza un server proxy come Fiddler o si utilizza un server invisibile tramite il dirottamento il DNS tramite il file hosts per deviare il traffico al server

Problemi correlati