#mitmproxy
#mitmproxy
Вопрос:
Я пытаюсь использовать mitmproxy для просмотра трафика с моего клиента win32 schannel tls. Но когда я пытаюсь использовать mitmproxy, следующие сообщения выдают ошибку «Ошибка строки HTTP-запроса» с начальным 0 в двоичном дампе, которая не существует в данных, отправляемых моим клиентом (я проверил с помощью небольшого сервера python).
"CONNECT www.example.com:443 HTTP/1.0rnrn"
"HTTP/1.0 200 Connection establishedrnrn"
Send Tls Client Hello:
16 03 03 00 AC 01 00 00 A8 03 03 5F 80 1A 2D F6 2A 59 DE 18
69 F0 BB 3C 2D 2B 11 90 F8 8C A7 F9 D7 96 CD DC 32 88 02 22
11 90 6A 00 00 2A C0 2C C0 2B C0 30 C0 2F 00 9F 00 9E C0 24
C0 23 C0 28 C0 27 C0 0A C0 09 C0 14 C0 13 00 9D 00 9C 00 3D
00 3C 00 35 00 2F 00 0A 01 00 00 55 00 00 00 14 00 12 00 00
0F 77 77 77 2E 65 78 61 6D 70 6C 65 2E 63 6F 6D 00 0A 00 08
00 06 00 1D 00 17 00 18 00 0B 00 02 01 00 00 0D 00 1A 00 18
08 04 08 05 08 06 04 01 05 01 02 01 04 03 05 03 02 03 02 02
06 01 06 03 00 23 00 00 00 17 00 00 FF 01 00 01 00
Bad HTTP request line: b"x00x16x03x03x00xacx01x00x00xa8x03x03_x80x17xbdx1fxf3x8fOxddyxfbxaaRx1cxebxe0sdDxb7}|xebxbesxdf$3xb6xd9ryx00x00*xc0,xc0 xc00xc0/x00x9fx00x9exc0$xc0#xc0(xc0'xc0"
Теперь мой вопрос: это просто непонимание того, как работают прокси и tls, или ошибка mitmproxy?
Комментарии:
1. Насколько я знаю кодовую базу mitmproxy, маловероятно, что здесь появится несуществующий нулевой байт. Вы дважды проверяли с помощью WireShark, действительно ли может быть нулевой байт?
2. Я только что проверил в WireShark, и в tls-части сообщения нет нулевого байта, но в протоколе tcp есть 16-битное нулевое значение, соответствующее указателю tcp urgent, который находится прямо перед частью tls. Может ли быть так, откуда берется значение null?
3. Мы просто открываем обычный сокет в Python, так что это маловероятно. Нет нулевого байта, если щелкнуть правой кнопкой мыши -> «следовать» -> «поток tcp», а затем выбрать «показать данные как: hex»?
4. Ну, я глупый. Я только что понял, что сообщение CONNECT также отправило нулевой завершитель строки, ведущей к этому нулевому байту в клиентском приветствии. Спасибо за помощь.