Skip to Content
Installation

Installera mitmproxy

Se vad era appar och sidor faktiskt skickar över nätet, med certifikatsteget som alla glömmer och avinstallationen som ingen nämner.

Vad mitmproxy är

Ett program som ställer sig mellan er dator och internet och visar er varje anrop som går fram och tillbaka. Ni ser vilken adress som anropas, vad som skickas med, och vad servern svarar. Ingenting av det syns annars.

Det låter smalt, och det är det inte. Bygger ni en app eller en sajt som pratar med ett betalsystem, ett fraktbolag eller ett API ni inte skrivit själva, så är den vanligaste frågan varför det inte fungerar. mitmproxy svarar på den frågan genom att visa vad som faktiskt skickades, i stället för vad ni trodde att ni skickade.

Namnet betyder man in the middle, alltså mannen i mitten. Det är precis vad programmet gör, och det är också därför det finns regler kring det. Mer om dem längre ner.

Windows

Hämta installationsprogrammet från mitmproxy.org och kör det. Det finns också i Microsoft Store om ni hellre vill ha det den vägen. Inget av alternativen kostar något.

Öppna sedan PowerShell. Det gör ni genom att trycka på Windows-tangenten, skriva PowerShell och trycka Enter. Skriv:

mitmweb

Ett webbläsarfönster öppnas med gränssnittet, och proxyn lyssnar på port 8080 på er egen dator.

Linux Mint

Ladda ner den färdiga Linux-filen från samma sida. Den kommer som ett arkiv ni packar upp, och i den ligger tre program som går att köra direkt utan installation. Öppna Terminal, gå till mappen där ni packade upp filerna, och kör:

./mitmweb

Paketet i Mints egna programkatalog finns också, men det ligger ofta flera versioner efter. Den nedladdade filen är nyare och lika enkel.

Tre program följer med, och skillnaden mellan dem är bara hur ni tittar på trafiken. mitmweb visar den i webbläsaren och är den ni ska börja med. mitmproxy visar samma sak i ett terminalfönster. mitmdump visar ingenting utan skriver till en fil, vilket är användbart när ni vill spara en session och titta på den senare.

Fyra saker att göra först

  1. Ställ in proxyn, annars går ingen trafik genom mitmproxy och listan förblir tom. På Windows finns inställningen under Inställningar, Nätverk och Internet och Proxy: slå på manuell proxy, adress 127.0.0.1, port 8080. På Linux Mint ligger den under Inställningar och Nätverk, i nätverksproxyn: välj manuell och skriv samma adress och port för både HTTP och HTTPS. Ska en telefon fångas sätter ni i stället datorns IP-adress som proxy i telefonens wifi-inställningar.
  2. Installera certifikatet direkt efteråt. Surfa till http://mitm.it med proxyn påslagen och följ instruktionen för er plattform. Utan det steget fungerar ingen HTTPS-sida alls, och nästan allt är HTTPS i dag.
  3. Fånga er egen sida först, inte någon annans. Ladda om ert eget projekt med mitmweb igång och klicka runt i listan. Ni ser direkt hur många anrop en enda sidladdning innebär, och det är nyttigare än det låter.
  4. Prova filterrutan. Skriv ~u api för att bara visa anrop vars adress innehåller ordet api. Listan blir oöverskådligt lång annars, och det är där de flesta ger upp.

Den vanligaste fällan

Att stänga mitmproxy och låta proxyinställningen stå kvar. Datorn fortsätter skicka all trafik till port 8080, där det nu inte finns någon som svarar, och resultatet är att internet verkar vara nere. Webbläsaren säger bara att den inte kan ansluta, och ingenting pekar mot proxyn.

Vänj er därför vid att slå av proxyn i samma rörelse som ni stänger programmet. Samma inställning som ni slog på, tillbaka till av.

Den andra halvan är certifikatet. När ni installerar mitmproxys certifikat säger ni åt datorn att lita på just det certifikatet för all krypterad trafik. Det är hela poängen medan ni felsöker, och det är också en dörr som står öppen så länge certifikatet ligger kvar, för den som kommer åt nyckeln kan läsa er trafik utan att webbläsaren varnar.

Ta därför bort det när ni är klara. På Windows öppnar ni certifikathanteraren genom att trycka Windows och R, skriva certmgr.msc och trycka Enter. Certifikatet heter mitmproxy och ligger under Betrodda rotcertifikatutfärdare och Certifikat. Högerklicka och välj ta bort.

På Linux Mint ligger originalet i ~/.mitmproxy/ och kopian ni la in i systemet i /usr/local/share/ca-certificates/. Ta bort kopian och uppdatera listan:

sudo rm /usr/local/share/ca-certificates/mitmproxy-ca-cert.crt
sudo update-ca-certificates --fresh

La ni in certifikatet i webbläsaren ska det bort där också. I Firefox ligger det under inställningarna, i avsnittet för certifikat.

Den andra halvan av samma fälla är juridisk. Att titta på trafik från era egna enheter och era egna tjänster är oproblematiskt. Att koppla in sig på någon annans trafik är det inte, oavsett hur enkelt programmet gör det. Håll er till era egna saker, så är det här ett felsökningsverktyg och ingenting annat.