Отворете го панелот за мрежа пред да ја вчитате страницата за разговор, потоа најдете го барањето што ги носи пораките, а не она што ја црта рамката на страницата. Документот, скриптите, размената при најава и преносот на разговорот можат да одат на различни домаќини. Повеќето пријави дека VPN го расипал разговорот всушност опишуваат неуспех на едно од тие четири барања. Гледајте ги по ред и одговорот обично е видлив во првите две минути.

Најдете го барањето што ги носи пораките

Филтрирајте по тип кога страницата ќе се смири: WebSocket се појавува како посебен запис, текот на настани останува отворен со растечки одговор, а долгото анкетирање се повторува во редовен интервал. Запишете шема, домаќин, порта и статус за оној што ги носи ажурирањата. Забележете дали започнал пред или по најавата, бидејќи пренос отворен пред автентикација обично е различен дизајн од оној отворен по неа. Читајте ги заглавијата на барањето за барањето за надградба или прифатениот тип на содржина, бидејќи тие го идентификуваат преносот што распоредената страница навистина го избрала.

Стари форумски објави опишуваат преноси што производите престанале да ги користат пред години, затоа верувајте на она што го снимил прелистувачот, а не на статијата. Ако записот целосно недостасува, клиентскиот код можеби никогаш не се обидел да се поврзе, што упатува на поранешен неуспех на скрипта или конфигурација. Страницата што се вчитува докажува само дека документот пристигнал, и токму таа разлика одлучува дали воопшто ја дебагирате мрежата.

Поставувањето, испораката и животниот век пропаѓаат различно

WebSocket се отвора со HTTP надградба на која се одговара со статус 101, а сè потоа се пораки во рамки, а не преземање на страници; овие две фази RFC 6455 јасно ги одвојува. Текот на настани одговара со тип на содржина за стриминг и го држи телото на одговорот отворено. Двете можат да не се отворат, да се отворат и да не испорачаат ништо, или да се отворат, да испорачаат и потоа тивко да умрат.

wscat -c wss://chat.example.com/socket -H "Origin: https://chat.example.com"
curl -N -H "Accept: text/event-stream" https://chat.example.com/events

Фатете го првиот значаен неуспех пред да допрете профил, бидејќи трите моменти упатуваат на различни слоеви. Ако ракувањето никогаш не заврши, споредете го со обично HTTPS барање до истиот домаќин за да видите дали нешто воопшто го достигнува. Ако заврши, а пораки не пристигнуваат, гледајте ги рамките или телото на текот додека некој праќа тест порака од друга сметка. Ако работи и потоа запре, запишете го точното време и кодот за затворање, бидејќи тој пар покажува кој крај се откажал.

Кодот 1006 значи дека сокетот се затворил без рамка за затворање, и токму така изгледа посредник или тајмаут за неактивност од внатрешноста на прелистувачот. VPN отчукување не докажува дека внатрешната сесија на апликацијата е сè уште жива.

Живиот домаќин е одделна дестинација

Позадините на разговорот често живеат на сопствено име на домаќин, понекогаш на друга порта или зад одделен сертификат. Таа дестинација бара сопствено разрешување, маршрута и третман од прокси, а поделениот тунел може да ја вклучи страницата додека го исклучува сокетот. Разрешете го името на живиот домаќин од клиентската машина и потврдете дека одговара со адресата што ја очекувате на таа мрежа. Проверете го синџирот на сертификати специјално за тоа име на домаќин, бидејќи џокерот што ја покрива страницата не секогаш ја покрива крајната точка на сокетот.

Ако на патеката има прокси, потврдете дека дозволува надградба или долготраен одговор наместо да го баферира. Корпоративните прокси-сервери што го препишуваат HTML често лошо се справуваат со WebSocket надградбите, што дава страница што се црта додека разговорот никогаш не се поврзува. Затоа две барања до истиот производ не се две барања до истиот домаќин.

Поправете го списокот на дестинации, не безбедносните проверки

Поправањето на списокот на дестинации е промена на рутирањето и му припаѓа на сопственикот на маршрутата. Олабавувањето на валидацијата на сертификатот или отстранувањето на заглавието Origin е безбедносна промена и му припаѓа на сопственикот на политиката, што ретко е лицето што го дебагира тикетот. Најбрзиот начин да се направи врската да изгледа возможна обично е најбрзиот начин да се овозможи инцидент.

Прашајте го сопственикот на апликацијата кои извори ги прифаќа позадината пред да смените нешто, и предадете го тој одговор на оној што го контролира проксито. Ако грешката со сертификатот се појавува само низ тунелот, проверете го уредот што пресретнува, наместо да инсталирате заобиколување.

Запишете доволно за да се предаде

Корисниот артефакт е краток: URL на страницата, жива крајна точка, резултат од ракувањето, време на првиот неуспех и дали е обиден повторен обид за поврзување. Додајте го името на VPN профилот и мрежата на која сте биле, и секој читател може да го повтори тестот без да поставува шест прашања. Заматете колачиња, заглавија за авторизација и тела на пораки, и изберете слика од колоната за време наместо целосен извоз на архива. Рамките и мрежните архиви можат да содржат приватни пораки и токени за сесија, затоа проверете пред да прикачите нешто.

Ако неуспехот е тивко затворање, вклучете го кодот за затворање и интервалот на неактивност пред него, бидејќи тој пар обично го идентификува сопственикот на тајмаутот. Предадете го записот на сопственикот на апликацијата или портата, наместо сами да погодувате вредност за тајмаут. Нивниот одговор за поддржаното однесување на keepalive е оној што го затвора тикетот.

Поврзани статии