Як сабраць журналы VPN на Android для звароту ў падтрымку
Экспартуйце кліенцкі журнал для адной спробы, затым кароткае акно ADB logcat. Фільтруйце па часе і тэгу, схавайце сакрэты, затым адпраўце адзін пакет.
Вы націскаеце кнопку падключэння, профіль круціцца секунду, і кліент паведамляе пра разрыў. Падтрымка просіць журналы, вы далучаеце здымак экрана, і размова стаіць два дні, бо ніхто не можа сказаць, якая частка рукапаціскання здалася. Справаздача, пабудаваная вакол адной спробы, з вузкім часавым акном і апошнім завершаным этапам, прасоўвае зварот за адзін круг. Альтэрнатыва, гэта значыць журналы за цэлы дзень, звычайна дае чалавеку на іншым баку больш месцаў, дзе шукаць.
Два тэлефоны на адным шлюзе могуць паводзіць сябе па-рознаму, бо пратакол, сховішча сертыфікатаў, метад аўтэнтыфікацыі або палітыка трафіку могуць не супадаць. Фраза пра тое, што ўсё працуе на маім тэлефоне, гэта пачатковы пункт для параўнання, а не доказ пра збой Android.
Захапіце адну спробу замест цэлага дня гісторыі
Запішыце асяроддзе перад тым, як нешта ўзнаўляць: версія Android, вытворца і мадэль, назва і версія кліента, выбраны профіль, сетка, да якой вы падключаны, і час гадзінніка з яго часавым поясам. Я таксама адзначаю, ці ўключаны эканомія батарэі або Data Saver, бо абодва змяняюць тое, што кліент можа рабіць пасля выключэння экрана.
Затым вызначце, які з пяці вынікаў вы насамрэч бачыце. Акно згоды або дазволу ніколі не завяршаецца, канчатковы пункт зусім недасягальны, аўтэнтыфікацыя адхілена, наладка інтэрфейсу зрываецца пасля паспяховага ўваходу, або тунель уздымаецца і адзін канкрэтны рэсурс застаецца недасягальным. У кожнага выпадку свая прычына і сваё выпраўленне, а пакет, які іх змешвае, атрымлівае адказ з просьбай паспрабаваць зноў. Менавіта здагадкі паміж імі ператвараюць зварот на гадзіну ў тыдзень перапіскі.
Пераходы таксама важныя. Калі збой з'яўляецца толькі пасля блакіроўкі экрана або пасля пераходу з Wi-Fi на мабільныя даныя, пастаўце гэта ў першы радок звароту і адзначце хвіліну, калі гэта адбылося.
Спачатку экспартуйце ўласны журнал кліента
Першае ўкладанне павінна паходзіць ад праграмы, а не ад аперацыйнай сістэмы. Большасць кліентаў мае ў наладах экспарт дыягнастычнага журнала або журнала злучэння, часам схаваны за доўгім націскам на радок версіі, і гэты экспарт ужо разумее сваю машыну станаў. Выкарыстоўвайце яго як ёсць, а не перапісвайце цікавыя радкі ў тэкст звароту.
Далучыце першую памылку і падзеі непасрэдна перад ёй, а не толькі апошні радок разрыву. Чысты хвост звычайна азначае, што сапраўдны збой адбыўся раней: ланцуг сертыфікатаў, які не прайшоў праверку, імя, якое вырашылася ў нечаканым месцы, або інтэрфейс, які так і не быў наладжаны.
Дадавайце logcat толькі для пытання, якое можаце назваць
Тэрмінальны эмулятар на тэлефоне не з'яўляецца сістэмным журналам. Android запісвае свае буферы як асобныя кальцавыя патокі, якія цалкам могуць чытаць толькі прывілеяваныя працэсы. Таму звычайная праграма бачыць свой вывад і абмежаваны зрэз, а фраза пра тое, што logcat быў пусты, мала што даказвае пра запісанае платформай.
Падтрыманы шлях гэта аўтарызаваная сесія ADB з кампутара, які вы кантралюеце. Уключыце параметры распрацоўніка і адладку праз USB, падключыце кабель і прымеце дыялог адбітка RSA на прыладзе; калі гэтае запытанне закрыць, кожная наступная каманда скончыцца памылкай unauthorized, і захоп ніколі не пачнецца.
Пераканайцеся, што прылада сапраўды на месцы, перш чым марнаваць час на захоп. adb devices павінна вывесці серыйны нумар, за якім ідзе слова device, а ўсё, што паказвае offline або unauthorized, спачатку патрабуе парадку з кабелем, запытаннем або драйверам.
Пасля таго як прылада з'явіцца ў спісе, пачніце захоп за некалькі секунд да націску кнопкі падключэння і спыніце адразу пасля таго, як кліент здасца. Жывы захоп з наўмысным пачаткам лепшы за дамп, зняты праз дваццаць хвілін, бо кальцавыя буферы ўжо пракруціліся, і патрэбныя раннія радкі могуць знікнуць:
adb logcat -v threadtime -b main,system,crash > attempt.txt
Фільтруйце па часе і тэгу, а не па слове VPN
Шукаць у захопе слова vpn гэта самы хуткі спосаб страціць радок, які тлумачыць збой. Праверка сертыфікатаў, збоі працэсаў і змены злучэння запісваюцца пад тэгамі, якія ніколі не згадваюць VPN, таму фільтр па ключавым слове пакідае шум і выкідвае доказы.
Спачатку звузьце акно, затым прыярытэт, затым тэг. Калі вам патрэбна толькі тое, што адбылося пасля вядомага моманту, adb logcat -v threadtime -t '11-03 20:14:00.000' прайграе нядаўні хвост з гэтага пункту, а фармат threadtime захоўвае часовыя адзнакі супастаўнымі з уласным экспартам кліента.
Калі вы ведаеце пакет кліента, сачыце за яго працэсам, а не здагадвайцеся пра тэгі. adb shell pidof com.vendor.client вяртае ідэнтыфікатар працэсу, а adb logcat --pid=1234 -v threadtime выводзіць толькі гэты працэс, тады як adb logcat -g паказвае, колькі месца мае кожны буфер, перш чым пачне перазапісваць.
Выдаліце сакрэты, затым перадайце адзін цэльны пакет
Перш чым нешта пакіне вашу машыну, прыбярыце паролі, токены, прыватныя ключы, кукі сесій і поўныя ідэнтыфікатары прылады. Пакіньце коды памылак, парадак падзей і сувязі адрасоў, якія робяць збой чытэльным, бо захоп, ачышчаны за гэтым месцам, такі ж бескарысны, як і той, што ніколі не фільтраваўся.
Затым адпраўце адзін пакет, а не некалькі асобных файлаў: экспарт кліента, акно ADB з назвай па часе пачатку і спынення, зводку з двух радкоў пра этап, які зраніў, і нататку пра асяроддзе з пачатку гэтага спіса. Калі частку нельга апублікаваць публічна, выкарыстайце прыватны канал падтрымкі пастаўшчыка і скажыце, які файл патрабуе гэтага канала.
Перад адпраўкай праверце чатыры рэчы. Пакет ахоплівае адну спробу, а не ўсю пасляабедзенную гадзіну? Часовыя адзнакі кліента і сістэмы перакрываюцца? І ці ёсць у ім яшчэ токен, пароль або поўны ідэнтыфікатар падпісчыка? Спачатку выпраўце апошні пункт, затым далучыце файлы да існуючага звароту, а не адкрывайце новы, каб той, хто возьмецца, захаваў папярэдні кантэкст.