Android Telefonların Şebekeye Bağlanma Mantığı

ahmetbysoy

Üye
Katılım
27 Eyl 2018
Mesajlar
52
Tepkime puanı
20
Puanları
8
Çevrimdışı
merak ettiğim bir konu var;
android bir telefona simkart taktığımızda şebekeye bağlanıyor bağlandığımız operator cihazımızın bilgilerini görebiliyor
gördüğü bu bilgiler
  • telefonun markası
  • modeli
  • imei bilgisi
  • telefon numrası
  • seri numarası
  • telefonun saat ve tarihi
  • konum bilgileri
  • gelen-giden sms
  • gelen giden aramalar
  • konuşmaların kayıt altına alınması
bildiklerim bunlar

sorum şu;

android telefonlarda bu bilgileri okuyan oparatör
  • cihazdaki hangi uygulamayı kullanıyor
  • uygulamanın kök dizini nerede bulunur
  • kullandığı kodlar nelerdir
  • yeterli bir çalışma yapılırsa bu bilgileri manipule edebilirmiyiz?
  • birşekilde kendi yazdığım bir uygulamayla oparatöre giden bilgileri kendim belirleyebilirmiyim?
programla ilgilenen ustalarım cevap verirseniz memnun olurum teşekür ederim
 
Güzel bir konuya değinmişsiniz. Bunları okuduktan sonra bende merak ettim.
Bunlar engellenirmi bilemem de kök dizin erişimi için root her halukarda şart olacaktır.
Telefon arama uygulamasıyla bir bağlantısı vardır diye düşünüyorum muhakkak
 
şebekeye bağlandığımız cihazın kimliği (IMEI) sayesinde cihaz modelini öğrenirler
IMEI numarası yasa dışı bir şekilde değiştirilmiş ve nokia 3310 ait IMEI numarası plakalandırılmış bir j3 cihazın j3 olduğunu anlayamazlar
o cihazdan müşteri hizmetlerini arayıp internet ayarı isterseniz size cihazınızın internet desteği olmadığını söylerler
cihazınızın modelini sorarsanızda 3310 derler misal :D


gelen giden arama ve sms ler zaten operatörün baz istasyonundan geçiyor bunları kayıt altına alabilmeleri normal
cihazın tam olarak konumunu baz istasyonu ile cihaz arasındaki bilgi alışverişi frenkans ping yolu ile ölçebilir tam olarak ne civarda olduğunu bulabilirler fakat tam konumunu gps olmadan bulamazlar örneğin esenler falanca mahallesinde gibi bir konum çıkarır tabi operatörün gps'e erişim izni yoktur

 
haklısın bende öyle düşündüm operatörün
cihazımıza info yaptırdığını düşünüyorum biraz araştırma yapım
örnek;
how-to-get-device-information-in-android.png


bu resimdeki bilgileri aşağıdaki kodlamayla alabiliyruz

Kod:
package com.apnatutorials.android_device_info;

import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Build;
import android.support.annotation.NonNull;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    public static final int REQUEST_CODE_PHONE_STATE_READ = 100;
    private int checkedPermission = PackageManager.PERMISSION_DENIED;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        checkedPermission = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE);
        if (Build.VERSION.SDK_INT >= 23 && checkedPermission != PackageManager.PERMISSION_GRANTED) {
            requestPermission();
        } else
            checkedPermission = PackageManager.PERMISSION_GRANTED;

    }

    private void requestPermission() {
        Toast.makeText(MainActivity.this, "Requesting permission", Toast.LENGTH_SHORT).show();
        this.requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE},
                REQUEST_CODE_PHONE_STATE_READ);
    }

    /**
     * Method will be use to show device info
     *
     * @param v
     */
    public void showDeviceInfo(View v) {
        TelephonyManager manager = (TelephonyManager) getSystemService(this.TELEPHONY_SERVICE);
        AlertDialog.Builder dBuilder = new AlertDialog.Builder(this);
        StringBuilder stringBuilder = new StringBuilder();

        if (checkedPermission != PackageManager.PERMISSION_DENIED) {
            dBuilder.setTitle("Device Info");
            // Name of underlying board like "GoldFish"
            stringBuilder.append("Board : " + Build.BOARD + "\n");
            // The consumer-visible brand with which the product/hardware will be associated, if any.
            stringBuilder.append("Brand : " + Build.BRAND + "\n");
            // The name of the industrial design.
            stringBuilder.append("DEVICE : " + Build.DEVICE + "\n");
            // A build ID string meant for displaying to the user
            stringBuilder.append("Display : " + Build.DISPLAY + "\n");
            // A string that uniquely identifies this build.
            stringBuilder.append("FINGERPRINT : " + Build.FINGERPRINT + "\n");
            // The name of the hardware
            stringBuilder.append("HARDWARE : " + Build.HARDWARE + "\n");
            // either a changelist number, or a label like "M4-rc20".
            stringBuilder.append("ID : " + Build.ID + "\n");
            // The manufacturer of the product/hardware.
            stringBuilder.append("Manufacturer : " + Build.MANUFACTURER + "\n");
            // The end-user-visible name for the end product.
            stringBuilder.append("MODEL : " + Build.MODEL + "\n");
            // A hardware serial number, if available.
            stringBuilder.append("SERIAL : " + Build.SERIAL + "\n");
            // The user-visible SDK version of the framework; its possible values are defined in Build.VERSION_CODES.
            stringBuilder.append("VERSION : " + Build.VERSION.SDK_INT + "\n");

            // Returns the phone number string for line 1, for example, the MSISDN for a GSM phone.
            // Return null if it is unavailable
            stringBuilder.append("Line 1 : " + manager.getLine1Number() + "\n");
            // Returns the unique device ID, for example, the IMEI for GSM and the MEID or ESN for CDMA phones.
            // Return null if device ID is not available.
            stringBuilder.append("Device ID/IMEI : " + manager.getDeviceId() + "\n");
            // Returns the unique subscriber ID, for example,
            // the IMSI for a GSM phone. Return null if it is unavailable.
            stringBuilder.append("IMSI : " + manager.getSubscriberId());
        } else {
            dBuilder.setTitle("Permission denied");
            stringBuilder.append("Can't access device info !");
        }
        dBuilder.setMessage(stringBuilder);
        dBuilder.show();
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {

        switch (requestCode) {
            case REQUEST_CODE_PHONE_STATE_READ:
                if (grantResults.length > 0 && grantResults[0]== PackageManager.PERMISSION_GRANTED ) {
                    checkedPermission = PackageManager.PERMISSION_GRANTED;
                }
                break;

        }
    }
}
yukarıdaki kodlarda resimdeki bilgiler çekiliyor
eğer dediğiniz gibi imei bilgisinden yola çıkılıyorsa
cihazda bulunan herhangi bir klasörde bunu bypass edip istediğimiz bilgileri gönderemeyiz
tersine mühendislik tekniği uygulanabilir diye düşünmüştüm

farklı fikirleri olan arkadaşların düşüncelerini almak isterim
 
imei bilgisiyle ulasilabilecekleri bilgiler kisitli. ancak sms ve gorusmeleri cryptolayarak gizlemek yada yaygin olarak kullanilan sosyal medya chat programlari gibi uygulamalarda kullanilan uctan uca sifreleme metoduyla engelleyebilirsiniz... sebeke uzerinden konusmaya gelince. yetirince uzun konustugunuzda nokta tespiiti yapilir. cok katli bir binada oturuyorsaniz kat ve daire numarasi haric herseye erisim.saglanabilir. operatorlarin watcher dedikleri birimlerde baz istayonlarin takibini yapan personeller var. anlik cagri adedi ,suresi, operator arasindaki paylasimlar vs. dolayisiyla sistem kendi icerisinde log tutar. hatti kullanmaya basladiginiz andan kapattiginiz ana kadar sesli gorusme sms internet vb. bazi bilgiler txt olarak kalici sekilde depolanir. dolayisiyla 10yil kullanilan 1 telefon ici 10mb bir text dosyasi olabilir.(10mb sadece tahmin) sistemi manipule edemessiniz ancak hatti kullanan kisinin kim oldugunu anlamak biraz daha fazla zaman alabilir.
 
uctan uca sifeleme metodu yada gorusmelerin cryptolu telefonlarla yapilmasi disinda manipule etmek neredeyse %0. resimde baz istasyonun cagri yapildigindaki calisma prensipleri siralanmis. Ülkemize resmi yollarla gelen telefonlarin hepsinin imei bilgileri operatorlerde bulunduğundan cihazlari marka ve modellerini bilmek cok kolay.
 

Ekli dosyalar

  • Screenshot_2019-05-01-00-58-18.png
    Screenshot_2019-05-01-00-58-18.png
    166 KB · Görüntüleme: 12
Son düzenleme:
Geri
Üst Alt