@calculator212

Как получить пакет TLS ServerHello через прокси?

Мне нужно получать пакет ServerHello от сервера, который передается при установлении соединения. Если делать запрос напрямую, то всё нормально работает, но если например делать запрос через тунель из под NAT, то мне возврщается ServerHello сервера где установлен тунель для https трафика. Можно ли как-то сделать так, чтобы я получал ServerHello от конечного сервера а не тунеля?
dialer := net.Dialer{Timeout: time.Second * 3}
		addr := net.JoinHostPort(host, fmt.Sprintf("%d", port))
		c, err := dialer.Dial("tcp", addr)
		if err != nil {
			return err
		}
		err = c.SetWriteDeadline(time.Now().Add(time.Second * 5))
		if err != nil {
			return err
		}
		_, err := c.Write(newClientPacket())
		if err != nil {
			return err
		}
		err = c.SetReadDeadline(time.Now().Add(time.Second * 7))
		if err != nil {
			return err
		}
		buff := make([]byte, 1484)
		_, err = c.Read(buff)
		if err != nil {
			return err
		}
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ответы на вопрос 1
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Можно, но тогда вам нужно не проксирование, а форвард трафика на уровне TCP. В противном случае любой имеющий доступ к промежуточным узлам в интернете мог бы прозрачно расшифровывать HTTPS.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы