Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> smtp FROM LINUX shell, TLS problem 
V
    Опции темы
sergioK1
Дата 23.4.2011, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 30.1.2011

Репутация: нет
Всего: нет



Это конечно не чисто Линукс вопрос , то все же 

в шеле пишу telnet smtp.gmail.com 25
подключаюсь получаю ответ ввожу EHLO , потом  starttls
потом ввожу mail from свой адрес и связь вырубаеться ,


Connection closed by foreign host. куда копать в таких случаях ?  что за foreig3
 host ?


ниже пример соединения 

Код

   telnet smtp.gmail.com 25
Trying 209.85.143.109...
Connected to gmail-smtp-msa.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP f52sm1684386wes.11
helo
250 mx.google.com at your service
starttls
220 2.0.0 Ready to start TLS
mail from <[email protected]>
Connection closed by foreign host.



 
PM MAIL   Вверх
bilbobagginz
Дата 23.4.2011, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



sergioK1, 

насколько я помню у гмыла порт 587.
для работы с smtp внутри TLS работают в 2 этапа:
1. проверка если вообще сервант поддерживает STARTTLS.  на примере smtp.gmail.com:587:
Код

telnet  smtp.gmail.com 587
ehlo bilbobagginz.network.com
starttls

если сервер вернул код 220, можно подключиться уже "не понарошку".
2 - подключение
2.1 приготовить хеши имени пользователя и пароля в кодировке base64
2.2 само подключение из-под TLS. обычно используют openssl
Код

openssl s_client -starttls smtp -crlf -connect smtp.gmail.com:587

если подключение произошло успешно можно будет запускать smtp команды там.
включая auth login и т.д. это выглядит примерно так:
Код

zzzz@computer:~$ openssl s_client -starttls smtp -crlf -connect smtp.gmail.com:587
CONNECTED(00000003)
depth=1 /C=US/O=Google Inc/CN=Google Internet Authority
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
 0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=smtp.gmail.com
   i:/C=US/O=Google Inc/CN=Google Internet Authority
 1 s:/C=US/O=Google Inc/CN=Google Internet Authority
   i:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDWzCCAsSgAwIBAgIKaM9uMQADAAAirTANBgkqhkiG9w0BAQUFADBGMQswCQYD
VQQGEwJVUzETMBEGA1UEChMKR29vZ2xlIEluYzEiMCAGA1UEAxMZR29vZ2xlIElu
dGVybmV0IEF1dGhvcml0eTAeFw0xMTAyMTYwNDM4MDlaFw0xMjAyMTYwNDQ4MDla
MGgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1N
b3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRcwFQYDVQQDEw5zbXRw
LmdtYWlsLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAzv9SacnXKcAx
+0B4yVH2qdpVUXnCk0Nvkn/y2Y0nkzFaWsWMAkOLTMtsa5yP69pnsYb9tUrs4KiL
DkRnf7RdSVlmpIGAknMAPDY/rja23ltutuN7Q4EjadsY8Q+NX5uWjlPsA5BE8GuI
9JobEl4iGFUAfF+2iOGlwFeFbpCaDJECAwEAAaOCASwwggEoMB0GA1UdDgQWBBQK
stTMUTHcQEpEpgaXuVVXJeIHxjAfBgNVHSMEGDAWgBS/wDDr9UMRPme6npH7/Gra
42sSJDBbBgNVHR8EVDBSMFCgTqBMhkpodHRwOi8vd3d3LmdzdGF0aWMuY29tL0dv
b2dsZUludGVybmV0QXV0aG9yaXR5L0dvb2dsZUludGVybmV0QXV0aG9yaXR5LmNy
bDBmBggrBgEFBQcBAQRaMFgwVgYIKwYBBQUHMAKGSmh0dHA6Ly93d3cuZ3N0YXRp
Yy5jb20vR29vZ2xlSW50ZXJuZXRBdXRob3JpdHkvR29vZ2xlSW50ZXJuZXRBdXRo
b3JpdHkuY3J0MCEGCSsGAQQBgjcUAgQUHhIAVwBlAGIAUwBlAHIAdgBlAHIwDQYJ
KoZIhvcNAQEFBQADgYEAxxXNJTE3LS1vmaqNZcFbNeUQtF/9DHpTfGGTtQCAjeMR
uhwSpAmc3/TxeERkT8cBckQxZWlMn2sHa418+DNv0/0QB4SZs0Fus4mXq/Erz91Y
Ouo+mV5BJSkDXH/qbG6wiBdEIypseBEbG+XJMxTSaYVgUjY313rBbAvQ0Uf7ZGQ=
-----END CERTIFICATE-----
subject=/C=US/ST=California/L=Mountain View/O=Google Inc/CN=smtp.gmail.com
issuer=/C=US/O=Google Inc/CN=Google Internet Authority
---
No client certificate CA names sent
---
SSL handshake has read 1911 bytes and written 342 bytes
---
New, TLSv1/SSLv3, Cipher is RC4-SHA
Server public key is 1024 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : RC4-SHA
    Session-ID: A440D5308DEAE19A0001414A11463B69B3DE1269950F0F46CFC1674FA4029D2E
    Session-ID-ctx:
    Master-Key: FD4277EEE9C8E71ECBF60E132C1D40C3CBB7AB61230449DC168D9D154C225709C59A44705396AB0FD861BD44F9037124
    Key-Arg   : None
    Start Time: 1303545954
    Timeout   : 300 (sec)
    Verify return code: 20 (unable to get local issuer certificate)
---
250 ENHANCEDSTATUSCODES
ehlo XXXXXX.XXXXXX.org
250-mx.google.com at your service, [XXX.YYY.ZZZ.WWW]
250-SIZE 35882577
250-8BITMIME
250-AUTH LOGIN PLAIN XOAUTH
250 ENHANCEDSTATUSCODES
auth login
334 VXNlcm5hbWU6
**************************
334 UGFzc3dvcmQ6
**************************
235 2.7.0 Accepted
mail from: <[email protected]>
250 2.1.0 OK a50sm1691742wer.18
rcpt to: <[email protected]>
250 2.1.5 OK a50sm1691742wer.18
data
354  Go ahead a50sm1691742wer.18
Subject: test mail
Privet.
.

250 2.0.0 OK 1303546041 a50sm1691742wer.18
quit
221 2.0.0 closing connection a50sm1691742wer.18
read:errno=0

если сервант проверяет клиентуру на наличие кошерного клиентского сертификата, то команда openssl немного видоизменяется (и ей указываются пути на сертификаты и т.д.)

N.B. кстати, этот мэйл в твоем оригинальном сообщении - затравка или ты из Израиля?

Это сообщение отредактировал(а) bilbobagginz - 23.4.2011, 11:23


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
sergioK1
Дата 23.4.2011, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 30.1.2011

Репутация: нет
Всего: нет



Цитата(bilbobagginz @ 23.4.2011,  10:02)
sergioK1, 

насколько я помню у гмыла порт 587.
для работы с smtp внутри TLS работают в 2 этапа:
1. проверка если вообще сервант поддерживает STARTTLS.  на примере smtp.gmail.com:587:
Код

telnet  smtp.gmail.com 587
ehlo bilbobagginz.network.com
starttls

если сервер вернул код 220, можно подключиться уже "не понарошку".
2 - подключение
2.1 приготовить хеши имени пользователя и пароля в кодировке base64
2.2 само подключение из-под TLS. обычно используют openssl
Код

openssl s_client -sыыд tarttls smtp -crlf -connect smtp.gmail.com:587

если подключение произошло успешно можно будет запускать smtp команды там.
включая auth login и т.д. это выглядит примерно так:
Код

zzzz@computer:~$ openssl s_client -starttls smtp -crlf -connect smtp.gmail.com:587
CONNECTED(00000003)
depth=1 /C=US/O=Google Inc/CN=Google Internet Authority
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
 0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=smtp.gmail.com
   i:/C=US/O=Google Inc/CN=Google Internet Authority
 1 s:/C=US/O=Google Inc/CN=Google Internet Authority
   i:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDWzCCAsSgAwIBAgIKaM9uMQADAAAirTANBgkqhkiG9w0BAQUFADBGMQswCQYD
VQQGEwJVUzETMBEGA1UEChMKR29vZ2xlIEluYzEiMCAGA1UEAxMZR29vZ2xlIElu
dGVybmV0IEF1dGhvcml0eTAeFw0xMTAyMTYwNDM4MDlaFw0xMjAyMTYwNDQ4MDla
MGgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1N
b3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRcwFQYDVQQDEw5zbXRw
LmdtYWlsLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAzv9SacnXKcAx
+0B4yVH2qdpVUXnCk0Nvkn/y2Y0nkzFaWsWMAkOLTMtsa5yP69pnsYb9tUrs4KiL
DkRnf7RdSVlmpIGAknMAPDY/rja23ltutuN7Q4EjadsY8Q+NX5uWjlPsA5BE8GuI
9JobEl4iGFUAfF+2iOGlwFeFbpCaDJECAwEAAaOCASwwggEoMB0GA1UdDgQWBBQK
stTMUTHcQEpEpgaXuVVXJeIHxjAfBgNVHSMEGDAWgBS/wDDr9UMRPme6npH7/Gra
42sSJDBbBgNVHR8EVDBSMFCgTqBMhkpodHRwOi8vd3d3LmdzdGF0aWMuY29tL0dv
b2dsZUludGVybmV0QXV0aG9yaXR5L0dvb2dsZUludGVybmV0QXV0aG9yaXR5LmNy
bDBmBggrBgEFBQcBAQRaMFgwVgYIKwYBBQUHMAKGSmh0dHA6Ly93d3cuZ3N0YXRp
Yy5jb20vR29vZ2xlSW50ZXJuZXRBdXRob3JpdHkvR29vZ2xlSW50ZXJuZXRBdXRo
b3JpdHkuY3J0MCEGCSsGAQQBgjcUAgQUHhIAVwBlAGIAUwBlAHIAdgBlAHIwDQYJ
KoZIhvcNAQEFBQADgYEAxxXNJTE3LS1vmaqNZcFbNeUQtF/9DHpTfGGTtQCAjeMR
uhwSpAmc3/TxeERkT8cBckQxZWlMn2sHa418+DNv0/0QB4SZs0Fus4mXq/Erz91Y
Ouo+mV5BJSkDXH/qbG6wiBdEIypseBEbG+XJMxTSaYVgUjY313rBbAvQ0Uf7ZGQ=
-----END CERTIFICATE-----
subject=/C=US/ST=California/L=Mountain View/O=Google Inc/CN=smtp.gmail.com
issuer=/C=US/O=Google Inc/CN=Google Internet Authority
---
No client certificate CA names sent
---
SSL handshake has read 1911 bytes and written 342 bytes
---
New, TLSv1/SSLv3, Cipher is RC4-SHA
Server public key is 1024 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : RC4-SHA
    Session-ID: A440D5308DEAE19A0001414A11463B69B3DE1269950F0F46CFC1674FA4029D2E
    Session-ID-ctx:
    Master-Key: FD4277EEE9C8E71ECBF60E132C1D40C3CBB7AB61230449DC168D9D154C225709C59A44705396AB0FD861BD44F9037124
    Key-Arg   : None
    Start Time: 1303545954
    Timeout   : 300 (sec)
    Verify return code: 20 (unable to get local issuer certificate)
---
250 ENHANCEDSTATUSCODES
ehlo XXXXXX.XXXXXX.org
250-mx.google.com at your service, [XXX.YYY.ZZZ.WWW]
250-SIZE 35882577
250-8BITMIME
250-AUTH LOGIN PLAIN XOAUTH
250 ENHANCEDSTATUSCODES
auth login
334 VXNlcm5hbWU6
**************************
334 UGFzc3dvcmQ6
**************************
235 2.7.0 Accepted
mail from: <[email protected]>
250 2.1.0 OK a50sm1691742wer.18
rcpt to: <[email protected]>
250 2.1.5 OK a50sm1691742wer.18
data
354  Go ahead a50sm1691742wer.18
Subject: test mail
Privet.
.

250 2.0.0 OK 1303546041 a50sm1691742wer.18
quit
221 2.0.0 closing connection a50sm1691742wer.18
read:errno=0

если сервант проверяет клиентуру на наличие кошерного клиентского сертификата, то команда openssl немного видоизменяется (и ей указываются пути на сертификаты и т.д.)

N.B. кстати, этот мэйл в твоем оригинальном сообщении - затравка или ты из Израиля?

587 ничего не меняет 


telnet  smtp.gmail.com 587
Trying 209.85.143.109...
Connected to gmail-smtp-msa.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP bs4sm2245365wbb.18
ehlo 
250-mx.google.com at your service, [109.160.179.57]
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250 ENHANCEDSTATUSCODES
starttls
220 2.0.0 Ready to start TLS
auth login
Connection closed by foreign host.
выбивает до ввода пароля , любую другую команду тоже выбивает 
Connection closed by foreign host. и хоть стреляйся  smile 
 
Я беру printf user_name | base 64 , из шела 

как мне openssl тут поможет ,? что точно вводить ?( не примерно  smile ) и кто-такой сервант, Я не учил это по русски   smile 


PM MAIL   Вверх
bilbobagginz
Дата 23.4.2011, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



не понятно какого черта нужно было пейстить ВЕСЬ мой пост у себя в ответе. страдаем вертикальным косоглазием ?
Цитата(sergioK1 @  23.4.2011,  14:51 Найти цитируемый пост)
как мне openssl тут поможет ,?

через telnet можно только узнать поддерживает ли сервер tls или нет.
соединение через TLS telnet-ом не сделаешь: TLS = зашифрованная коммуникация. с каких пор telnet умеет шифроваться ?


Это сообщение отредактировал(а) bilbobagginz - 23.4.2011, 17:39


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
sergioK1
Дата 23.4.2011, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 30.1.2011

Репутация: нет
Всего: нет



ладно  пейсит не буду,  smile  
разобрался 
спасибо ,

у меня гмэйл не прямой а через местгого провайдера будь
там спецы крутые  говорят проблема Линукса - обращайся в Майскрософт,    Я плакать  тут раздел анекдотов есть ?




PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0750 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.