ro en en da en en sv ro nb tr da nl da da da da da da da de nl da da da da da da da da da da fr en fr da da en en sv fr de de fr fr fr sv en en en en en en en en en en de da nl en nl da en en en da uk en uk da en en en da da da da es nb en da da da da da da zh en sv hbs_lat en da fr en fr da da nb da da da da da en en da da en en da da da en da da da en en en da da da da de da da da da da da da da sv da nb nb en da da da da en nl da sv da en
Charles Proxy – din mand i midten – NerdGirl
Forbud fører sjældent noget godt med sig
(Last Updated On: 1. juli 2019)
Installation af Charles Proxy (på Linux)
Hvis du har en firewall
Charles Proxy, ændring af host
Kort sagt: app’en “snakker” med prod.domæne.dk og det skal ændres midlertidigt til test.domæne.dk.
Der er flere gode bud, f.eks. Wireshark  som er gratis og helt fantastisk analyseværktøj hvis man virkelig skal i dybden med analyse af netværksdata. Til mit behov er det dog lidt som at bruge mikroskop, hvis et forstørrelsesglas kan klare opgaven.
Valget er derfor faldet på Charles Proxy der ligesom Wireshark både er tilgængelig til Windows, Mac og Linux. Sidstnævnte er mit foretrukne OS. Charles Proxy koster dog i skrivende stund $50 for en enkeltlicens. Det vil nogen nok rynke på næsen af. Men jeg kan godt lide programmets enkelthed og har absolut intet imod at betale for et stykke software. Den kan i øvrigt afprøves gratis i 30 dage.
En proxy lægger sig imellem afsender og modtager af data – i dette tilfælde mellem min mobil og min wifi forbindelse. Da proxy’en således både kan se og røre ved alt hvad min mobil kommunikerer med Internet, er det enkelt at ændre data og dirigere det et andet sted hen. Mulighederne er mange.
Bemærk: Løsningen beskrevet her, kræver at både computer og mobil benytter samme wifi forbindelse.
Installation af Charles Proxy (på Linux)
Jeg har hentet Charles Proxy (version 4.1.4) og startet den. Da det er et standalone Java program kræver det ikke installation, men skal blot hentes og pakkes ud. Den korrekte placering ville være /opt mappen, men det er op til dig. Du starter Charles proxy via charles scriptet i ~/bin mappen.
Bemærk, jeg starter den som almindelig bruger, ikke root.
Jeg ved ikke om det er det samme på andre distros, men i Fedora kan du placere et start ikon  under Activities->Show applications ved at oprette en *.desktop fil (ikonet bliver tilgængeligt med det samme, ingen grund til at logge ud eller genstarte – i hvert fald på Fedora 26):
/home/[dit brugernavn]/.local/share/applications/charles-proxy.desktop: [Desktop Entry] Type=Application Encoding=UTF-8 Name=Charles Proxy Comment=Charles Proxy Exec=/opt/charles-proxy-4.1.4_amd64/charles/bin/charles Icon=/opt/charles-proxy-4.1.4_amd64/charles/icon/charles_icon64.png Terminal=false
Charles Proxy lytter som standard på port 8888, og du kan tjekke at det rent faktisk er tilfældet:
Blandt de linjer der kommer frem, skulle du gerne se
tcp6 0 0 :::8888 :::* LISTEN 16424/java
tcp6 0 0 :::8888 :::* LISTEN 16424/java
Og nu skal du så lige notere dig adressen på den computer hvor proxien kører
Kig efter disse linjer (kun et eksempel, adresserne kan variere)
Nu skal du så fortælle din device (mobil, tablet m.v.) at trafikken skal gennem denne proxy
På min Android 7 telefon går jeg til Indstillinger -> Forbindelse -> Wi-Fi og hold fingeren på den aktuelt tilsluttede Wifi forbindelse indtil en menu kommer frem. Her vælger jeg “Administrer nertværksindstillinger”. Sæt flueben i “Vis avancerede indstillinger” og vælger “Manuelt” under “Proxy”.
På iOS går du til “Indstillinger” -> Wifi og klikker på info ikonet (et “i” med en cirkel omkring) ud for den aktuelt tilsluttede wifi forbindelse. Scroll ned til Proxy indstillingerne nederst på siden:
Navn på Proxy-vært/server: 192.168.1.117
Android: Husk at trykke på GEM nederst i dialogboksen
iOS: Husk at trykke på Arkiver øverst
Ip adressen skal du naturligvis erstatte med din egen fundet vha. ifconfig kommandoen.
Nu skulle Charles Proxy gerne ret hurtigt bede dig godkende forbindelsen fra telefonen, ellers prøv at slukke/tænde telefonens Wi-Fi.
Hvis du har en firewall
Hvis der er firewall på den computer hvor Charles Proxy kører, kan den spærre for adgangen til porten som Charles lytter på og så kan din mobil/tablet ikke forbinde. På min laptop er det firewalld og jeg kunne derfor åbne for porten således:
$ sudo firewall-cmd --permanent --zone=public --add-port=8888/tcp $ sudo firewall-cmd --reload
$ sudo firewall-cmd --permanent --zone=public --add-port=8888/tcp
$ sudo firewall-cmd --reload
Du kan evt. tjekke om porten allerede er åben:
$ sudo iptables -L -n
$ sudo iptables -L -n
Charles Proxy SSL opsætning
Rigtig meget kommunikation i dag, sker over SSL forbindelser (https). Det betyder at alt hvad der sendes frem og tilbage mellem device og Internet er krypteret. Hvis du vil kunne læse disse data, skal både device og computer indlæse Charles SSL cerficatet.
I Charles Proxy programmet: Help -> SSL Proxying -> Install Charles Root Certificate. Et vindue åbner, her trykker du på knappen [Import].
På dine devices åbnes en browser du besøger så blot internet adressen charlesproxy.com/getssl. Dette vil downloade getssl.crt til telefonen.
Bemærk: På iOS skal du derefter aktivere “Slå fuld godkendelse af rodcertifikater til ” under Indstillinger -> Generelt -> Om -> Indst. til certifikatgodkendelser.
Charles Proxy, ændring af host
Og nu til kernen i hele dette setup. Jeg vil gerne have en app til at kommunikere med et andet domæne. Lad os antage at den normalt taler med prod.domæne.dk men skal peges over på test.domæne.dk.
I Charles vælger du Tools -> Rewrite og sætter flueben i “Enable rewrite”.  Klik på knappen “Add”. Nu skal du tilføje et nyt element under “Locations” og “Rules”:
(Resten af felterne efterlades blanke)
Match -> Value: prod.domæne.dk
Replace -> Value: test.domæne.dk
… og til sidst:
Hver gang din device sender noget afsted, vil disse data indholde navnet på destinationsserveren, som her er prod.domæne.dk. Men vores lille rewrite her, vil nu ændre i data som derfor i stedet sendes til test.domæne.dk
Opsætning af Chrome browser
Hvis du vil have trafikken fra Chrome gennem Charles Proxy skal du gøre følgende:
Gå til  Help -> SSL Proxying -> Save Charles Root Certificate
Åben “Settings” og derefter “Advanced”. Vælg “Manage Certificates” og derefter “Authorities” fanebladet. Klik “Import” og vælg det certifikat du gemte fra Charles Proxy.
Nu skal du dirigere trafikken fra din wi-fi forbindelse gennem Charles. Dette kan variere alt efter hvilket operativsystem du bruger. Jeg benytter en Linux variant der hedder “Fedora”, og her gør jeg som følger:
I “Settings” vælger jeg “Network” og trykker på “Network Proxy”. Herefter skifter jeg proxy status til “Manual” og indtaster Charles ip og port i både “HTTPS proxy” og “HTTP proxy”.
Dybest set handler det om at sætte “en mand i midten” der overvåger al kommunikation, og om nødvendigt kan redigere i data. Det er et fantastisk værktøj der giver en vifte af muligheder for at teste og afprøve forskellige scenarier. I en browser kan man i adresselinien se hvem man kommunikerer med og hvilke data der sendes. Den mulighed findes ikke i app’s, og derfor er værktøjer som “Charles Proxy” meget praktiske at have ved hånden… også hvis du bare er nysgerrig på hvad en app foretager sig.
Ovenstående er et “hint” mere end en egentlig vejledning. Hvis du vil vide mere om Charles Proxy henvises til Charles Proxy dokumentationen eller nogle af de mange eksempler man kan Google sig til.
Posted in Webudvikling Tagged charles proxy, netværk, proxy, ssl
Bekæmp DF ved at tage vælgerne alvorligt
Sunde kokosmuffins med chokolade
I gang med Angular 13 på Linux
Brug af grep kommandoen
Installer Asbru Connection Manager på Fedora
Installer DBeaver på Fedora
Node Package Manager (npm)
Linux: Afvikle en kommando som en anden bruger
MariaDB: Slå generel log til midlertidigt
Udskift nouveau driver med NVIDIA på Fedora 33 – og fortryd
Skab overblik over dine DMARC rapporter
Kategorier Vælg kategori Aftensmad Akrylmaling Bagværk Computer Dessert Fotografi Generelt Grød Hakket oksekød Hobby Hvidkål Ikke kategoriseret Internet IT Krop og sind PHP Pizza Politik Samfund Server Tips & Tricks Vegansk Webudvikling
Arkiver Vælg måned august 2022 april 2022 marts 2022 oktober 2021 maj 2021 marts 2021 februar 2021 januar 2021 december 2020 november 2020 oktober 2020 august 2020 juli 2020 juni 2020 marts 2020 januar 2020 december 2019 november 2019 oktober 2019 august 2019 juni 2019 april 2019 februar 2019 december 2018 oktober 2018 september 2018 juli 2018 juni 2018 maj 2018 april 2018 februar 2018 januar 2018 december 2017 oktober 2017 september 2017 august 2017 juli 2017 juni 2017 maj 2017 april 2017 januar 2017 december 2016 november 2016 oktober 2016 september 2016 januar 2016 december 2015 november 2015 oktober 2015 september 2015
Proudly powered by WordPress | Theme: chichi by xtianmark.