Vilka adresser kollas för att se om man har Internet connection

Diskussion i 'Frågor, support och diskussion' startad av peli44, 27 sept 2018.

  1. peli44

    peli44 Infant Droid Medlem

    Blev medlem:
    5 jun 2017
    Inlägg:
    9
    Mottagna gillanden:
    0
    Vi kör en applikation på ett lokalt WiFi nätverk. I senare versioner av Android har man nu börjat få meddelande om att man inte har Internet connection när man kopplar upp sig till detta. Så var det inte tidigare. Man kommer runt det hela genom att acceptera en fråga som efter ett tag dyker upp. Tillämpningen används av många med olika telefoner och jag vet inte hur det ser ut på olika telefoner.
    Vi kan lösa problemet genom att ansluta nätverket till Internet.
    Nu vill vi helst inte göra det utan tänker ansluta till Internet men genom en firewall. Enligt uppgift så kollar telefoner av olika fabrikat mot olika adresser för att se om man har Internetanslutning. Finns det någon information om vilka adresser man kollar så att vi kan öppna endast för dessa.
    Anledningen till att vi inte vill ha helt öppet är att det då finns risk att våra besökare istället för att använda vår app börjar surfa helt vilt och i onödan belastar vårt WiFi nät.
     
  2. inact_0033

    inact_0033 Guest

    Nä, det finns mig veterligen ingen färdig lista med alla adresser som olika leverantörer använder. Dessutom lär den listan ändras ganska frekvent.

    En bättre lösning är att använda Androids API för att få appen att kommunicera på WiFi-nätet även fast operativsystemet inte upptäcker en internetanslutning. Då kommer resten av trafiken gå via mobilnätet, och användarna kan fortsätta surfa som vanligt istället för att bli spärrade av din brandvägg.

    Se API-dokumentationen här:
    ConnectivityManager  |  Android Developers
     
    pulsar gillar detta.
  3. peli44

    peli44 Infant Droid Medlem

    Blev medlem:
    5 jun 2017
    Inlägg:
    9
    Mottagna gillanden:
    0
    Problemet är att felmeddelandet uppstår redan när användaren kopplar upp sig mot vårt WiFi nät. Användaren måste då förstå att hen måste svara ja på DN fråga som efter ett tag dyker upp. I annat fall får hen ingen access till WiFi nätet.
    Vad jag förstått är de adresser som avfrågas inga gemensamma google eller android adresser utan olika adresser beroende på vilket märke av telefon man har.
    I IOS har man gjort det lättare. Där får man bara informationen att man är anslutet till ett WoFo nät med begränsad access till Internet.
    Öppnar jag nätet ut mot Internet utan några restriktioner så går det bra. Men vill jag hindra användarna från att fritt surfa på Internet måste jag begränsa accessen och helst bara släppa fram de adresser som behövs.
     
  4. inact_0033

    inact_0033 Guest

    Okej, jag tycker det säger sig själv att ni har designat er applikation väldigt dåligt om ni tvingar era kunder att sitta på ett WiFi som presenterar sig som om det vore internetanslutet. Ni förstår väl att era kunder kommer bli förbannade över att alla andra appar slutar fungera bara för att er app ska fungera?

    Återigen, om ni nu måste ha anslutningen lokalt så är det bättre att gå via API:et jag länkade ovan och enbart skicka er apps trafik genom WiFi-nätverket. Användaren kommer inte behöva svara ja på någon fråga, utan appen kommer automatiskt att skicka all trafik genom WiFit även om telefonen upptäckt att det inte finns någon internetanslutning.

    Ni skulle även kunna titta på VPN, TLS med cert pinning och liknande tekniska lösningar för att köra applikationen säkert över internet. Då spelar det ingen roll vilken anslutning användaren har.

    Om du ändå helt absolut måste ha det så som du vill så får du nog helt enkelt köpa in telefoner från olika tillverkare och se hur de detekterar om ett nätverk har internetanslutning eller ej. Det lär dock vara jobbigt att underhålla den listan i längden, och ni kan räkna med att uppdateringar från olika tillverkare kommer ha sönder lösningen och kunder kommer bli förbannade.