Slik samlar du inn Android VPN-loggar for ein støttebillett
Eksporter loggen til klienten for eitt forsøk, deretter eit kort autorisert ADB logcat-vindauge. Filtrer på tid og tag, skjul løyndomar og send éin pakke.
Du trykkjer på Connect, profilen snurrar eit sekund, og klienten melder at sambandet er brote. Støtta ber om loggar, du legg ved eit skjermbilete, og tråden står i to dagar fordi ingen kan seie kva del av handtrykket som gav opp. Ein rapport bygd rundt eitt forsøk, med eit smalt tidsvindauge og det siste fullførte trinnet, flyttar saka vidare i éin runde. Alternativet, ein heil dag med telefonloggar, gjev vanlegvis personen på den andre sida fleire stader å sjå.
To telefonar på same gateway kan framleis oppføre seg ulikt, fordi protokollen, sertifikatlageret, autentiseringsmetoden eller trafikkpolitikken kanskje ikkje stemmer overeins. Det fungerer på telefonen min er eit utgangspunkt for samanlikning, ikkje prov for ein Android-feil.
Fang eitt forsøk i staden for ein heil dags historikk
Skriv ned miljøet før du reproduserer noko: Android-versjon, produsent og modell, klientnamn og -versjon, profilen du valde, nettverket du er tilkopla, og klokketida med tidssona. Eg noterer òg om batterisparing eller Data Saver er på, fordi begge endrar kva klienten kan gjere når skjermen blir slått av.
Deretter avgjer kva av fem utfall du faktisk ser på. Samtykke- eller løyveforespurnaden blir aldri fullført, endepunktet kan ikkje nåast i det heile, autentiseringa blir avvist, oppsettet av grensesnittet feilar etter vellukka innlogging, eller tunnelen kjem opp og éin bestemd ressurs blir verande utilgjengeleg. Kvar av dei har ein annan eigar og ei anna løysing, og ein pakke som blandar dei får svar om å prøve igjen. Det er gjettinga mellom dei som gjer ei sak på ein time til ei veke med fram og tilbake.
Overgangar betyr òg noko. Viss feilen berre viser seg etter skjermlås eller etter eit byte frå Wi-Fi til mobildata, skriv det i første linje av saka og noter minuttet det skjedde.
Eksporter først loggen til klienten sjølv
Den første vedlegga bør kome frå appen og ikkje frå operativsystemet. Dei fleste klientar tilbyr eksport av diagnostikk- eller tilkoplingslogg i innstillingane, nokre gonger gøymd bak eit langt trykk på versjonsstrengen, og den eksporten forstår allereie si eiga tilstandsmaskin. Bruk han slik han kjem ut i staden for å skrive dei interessante linjene inn i saka på nytt.
Legg ved den første feilen og hendingane rett før han, ikkje berre den siste linja om brote samband. Ein rein hale betyr vanlegvis at den eigentlege feilen skjedde tidlegare: ei sertifikatkjede som ikkje validerte, eit namn som vart løyst på ein uventa stad, eller eit grensesnitt som aldri vart konfigurert.
Legg berre til logcat for eit spørsmål du kan namngje
Ein terminalemulator på telefonen er ikkje ein systemloggar. Android loggar buffrane sine som separate sirkelstraumar som berre privilegerte prosessar kan lese fullt ut. Ein vanleg app ser derfor si eiga utdata pluss ein avgrensa del, og påstanden om at logcat var tom beviser svært lite om kva plattforma registrerte.
Den støtta vegen er ein autorisert ADB-økt frå ein datamaskin du kontrollerer. Slå på utviklarval og USB-feilsøking, kople til kabelen, og godta RSA-fingavtrykkdialogen på eininga; viss den førespurnaden blir lukka, feilar kvar seinare kommando med unauthorized og ingen opptak startar.
Stadfest at eininga verkeleg er der før du brukar tid på eit opptak. adb devices skal skrive ut serienummeret etterfølgt av ordet device, og alt som viser offline eller unauthorized treng først kabelen, førespurnaden eller drivaren ordna.
Når ho er på lista, byrja å ta opp nokre sekund før du trykkjer Connect og stopp rett etter at klienten gjev opp. Eit live-opptak med ein medviten start slår ein dump teken tjue minutt seinare, fordi sirkelbuffrane allereie har rotert og dei tidlege linjene du treng kan vere borte:
adb logcat -v threadtime -b main,system,crash > attempt.txt
Filtrer på tid og tag i staden for ordet VPN
Å søkje gjennom eit opptak etter vpn er den raskaste måten å miste linja som forklarer feilen. Sertifikatvalidering, prosesskrasj og endringar i tilkoplinga blir logga under taggar som aldri nemner VPN, så eit nøkkelordfilter held på støyen og kastar prova.
Avgrense først vindauget, deretter prioriteten, deretter taggen. Når du berre treng det som skjedde etter eit kjent tidspunkt, spelar adb logcat -v threadtime -t '11-03 20:14:00.000' av den nyaste halen frå det punktet, og formatet threadtime held tidsstempel samanliknbare med klienten sin eigen eksport.
Viss du kjenner klientpakken, følg prosessen i staden for å gjette på taggar. adb shell pidof com.vendor.client returnerer ein PID, og adb logcat --pid=1234 -v threadtime skriv berre ut den prosessen, medan adb logcat -g viser kor mykje plass kvar buffer har før han byrjar å overskrive.
Skjul løyndomar, og overlever deretter éin samanhengande pakke
Før noko forlèt maskinen din, fjern passord, token, private nøklar, sesjonskaker og fullstendige einingidentifikatorar. Behald feilkodane, rekkjefølgja av hendingar og adresseforholda som gjer feilen lesbar, fordi eit opptak som er rydda forbi det punktet er like ubrukeleg som eit som aldri vart filtrert.
Send deretter éin pakke i staden for fleire lause filer: eksporten til klienten, ADB-vindauget namngjeve med start- og stopptid, eit samandrag på to linjer av trinnet som feila, og miljønotatet frå toppen av denne lista. Viss ein del ikkje kan publiserast offentleg, bruk den private støttekanalen til leverandøren og sei kva fil som treng den kanalen.
Før du sender, sjekk fire ting. Dekkjer pakken eitt forsøk i staden for ein heil ettermiddag? Overlappar tidsstempla til klienten og systemet? Og inneheld han framleis eit token, eit passord eller ein fullstendig abonnentidentifikator? Rett det siste punktet først, og legg deretter filene ved den eksisterande saka i staden for å opne ei ny, slik at den som tek over held på den tidlegare konteksten.