Je souhaite tester les connexions client avec IMAP sur SSL, HTTPS et d'autres protocoles Internet sécurisés basés sur du texte sur SSL / TLS, de la même manière que j'utiliserais telnet ou netcat si elles n'étaient pas transmises via un protocole sécurisé. Existe-t-il un moyen de forcer telnet ou netcat à passer par SSL / TLS, par exemple avec un tube ou un autre programme?
62
Réponses:
Il n'y a pas de client Telnet / Netcat. Il s'agit de deux programmes distincts. Il existe au moins 10 clients Telnet différents et au moins 6 versions Netcat différentes (netcat d'origine, GNU netcat, OpenBSD netcat, nmap's ncat; vous avez oublié le reste).
Les outils préférés proviennent des bibliothèques TLS elles-mêmes. Ils pourraient être un peu verbeux, cependant.
GnuTLS a un outil client TLS sous Linux:
Utilisez
-s
pour STARTTLS; vous devrez saisir manuellement les commandes de protocole nécessaires et appuyer sur CtrlDlorsque vous êtes prêt.Prend en charge IPv6, valide les certificats de serveur par défaut.
OpenSSL a un outil client TLS:
Ceci est disponible pour tous les systèmes d'exploitation. STARTTLS est supporté via
-starttls imap
ou-starttls smtp
options, et le programme le négociera automatiquement. (Bien qu'il jette la réponse initiale du serveur après l'avoir fait, mais c'est généralement correct.)Seule la version ≥ 1.1 prend en charge IPv6.
Seule la version ≥ 1.0.2 (IIRC) valide le certificat de serveur par défaut. les anciennes versions nécessitent la spécification manuelle -CApath.
(J'aimerais également disposer d'outils pour tester NSS et SChannel, mais je n'en ai trouvé aucun.)
Les programmes utilisent également les mêmes bibliothèques, mais peuvent avoir moins de boutons de configuration. Certains omettent même les vérifications de certificats homologues par défaut ...
socat :
Le mode readline peut être utilisé pour plus de commodité:
STARTTLS n'est pas pris en charge.
ncat de nmap supporte TLS (mais pas STARTTLS):
Certains clients Telnet, tels que le paquet telnet-ssl sur Debian, prennent également en charge TLS:
STARTTLS peut être activé en utilisant
starttls
le Ctrl]menu d'échappement.la source
s_client
prend en charge IPv6 dans la version 1.1.s_client
possède une fonctionnalité "utile" dans laquelle les lignes commençant par R ou Q sont traitées comme des commandes (voir le manuel ). Utilisez-ign_eof
pour désactiver ceci. En outre,s_client
continuera même si la vérification échoue; vous devez vérifier que le message "Vérifiez le code de retour: 0 (ok)" et espérez que le serveur n'essaie pas d'usurper ce message. Mieux vaut utilisergnutls-cli
si possible.-verify_return_error
pour cela.Vous voudrez peut-être consulter openssl s_client , par exemple
la source
Oui, il y a un programme appelé Stunnel
il a un fichier de configuration,
vous lui dites sur quel port écouter, quel port transférer.
cela fonctionne pour le côté client, le côté serveur ou les deux.
il peut donc transformer un serveur qui ne prend pas en charge SSL en un serveur qui le fait.
ou un client qui ne prend pas en charge le SSL, en fait un qui le fait.
ou faire en sorte qu'un client et un serveur aient une connexion ssl.
la source
Il y a aussi sclient ( git ) si vous avez besoin d'un support multiplateforme (Windows).
Créez un serveur local qui ouvre les tls pour example.com
Faites une demande à example.com avec telnet
la source