Bagaimana internet rumah hidup dan statistik server nama domain?

Router rumah (dalam hal ini FritzBox) dapat merekam banyak hal: berapa banyak lalu lintas yang terjadi, kapan, siapa yang terhubung pada kecepatan berapa, dll. Server nama domain (DNS) di jaringan lokal membantu saya menemukan apa yang tersembunyi di balik penerima yang tidak dikenal.

Secara keseluruhan, DNS mempunyai dampak positif pada jaringan rumah: menambah kecepatan, stabilitas, dan kemudahan pengelolaan.

Di bawah ini adalah diagram yang menimbulkan pertanyaan dan kebutuhan untuk memahami apa yang terjadi. Hasilnya sudah memfilter permintaan yang diketahui dan berfungsi ke server nama domain.

Mengapa 60 domain tidak jelas disurvei setiap hari sementara semua orang masih tidur?

Setiap hari, 440 domain tidak diketahui disurvei selama jam aktif. Siapa mereka dan apa yang mereka lakukan?

Jumlah rata-rata permintaan per hari per jam

Bagaimana internet rumah hidup dan statistik server nama domain?

Kueri laporan SQL

WITH CLS AS ( /* prepare unique requests */
SELECT
DISTINCT DATE_NK,
STRFTIME( '%s', SUBSTR(DATE_NK,8,4) || '-' ||
	CASE SUBSTR(DATE_NK,4,3)
	WHEN 'Jan' THEN '01' WHEN 'Feb' THEN '02' WHEN 'Mar' THEN '03' WHEN 'Apr' THEN '04' WHEN 'May' THEN '05' WHEN 'Jun' THEN '06'
	WHEN 'Jul' THEN '07' WHEN 'Aug' THEN '08' WHEN 'Sep' THEN '09' WHEN 'Oct' THEN '10' WHEN 'Nov' THEN '11'
	ELSE '12' END || '-' || SUBSTR(DATE_NK,1,2) || ' ' || SUBSTR(TIME_NK,1,8) ) AS EVENT_DT,
REQUEST_NK, DOMAIN
FROM STG_BIND9_LOG )
SELECT
  1 as 'Line: DNS Requests per Day for Hours',
  strftime('%H:00', datetime(EVENT_DT, 'unixepoch')) AS 'Day',
  ROUND(1.0*SUM(1)/COUNT(DISTINCT strftime('%d.%m', datetime(EVENT_DT, 'unixepoch'))), 1) AS 'Requests per Day'
FROM CLS
WHERE DOMAIN NOT IN ('in-addr.arpa', 'IN-ADDR.ARPA', 'local', 'dyndns', 'nas', 'ntp.org')
  AND datetime(EVENT_DT, 'unixepoch') > date('now', '-20 days')
GROUP BY /* hour aggregate */
  strftime('%H:00', datetime(EVENT_DT, 'unixepoch'))
ORDER BY strftime('%H:00', datetime(EVENT_DT, 'unixepoch'))

Pada malam hari, akses nirkabel dinonaktifkan dan aktivitas perangkat diperkirakan terjadi, mis. tidak ada polling untuk domain yang tidak diketahui. Artinya aktivitas terbesar datang dari perangkat dengan sistem operasi seperti Android, iOS, dan Blackberry OS.

Mari kita daftar domain yang disurvei secara intensif. Intensitasnya akan ditentukan oleh parameter seperti jumlah permintaan per hari, jumlah hari aktivitas, dan berapa jam dalam sehari permintaan tersebut diperhatikan.

Semua tersangka yang diharapkan ada dalam daftar.

Domain yang disurvei secara intensif

Bagaimana internet rumah hidup dan statistik server nama domain?

Kueri laporan SQL

WITH CLS AS ( /* prepare unique requests */
SELECT
DISTINCT DATE_NK,
STRFTIME( '%s', SUBSTR(DATE_NK,8,4) || '-' ||
	CASE SUBSTR(DATE_NK,4,3)
	WHEN 'Jan' THEN '01' WHEN 'Feb' THEN '02' WHEN 'Mar' THEN '03' WHEN 'Apr' THEN '04' WHEN 'May' THEN '05' WHEN 'Jun' THEN '06'
	WHEN 'Jul' THEN '07' WHEN 'Aug' THEN '08' WHEN 'Sep' THEN '09' WHEN 'Oct' THEN '10' WHEN 'Nov' THEN '11'
	ELSE '12' END || '-' || SUBSTR(DATE_NK,1,2) || ' ' || SUBSTR(TIME_NK,1,8) ) AS EVENT_DT,
REQUEST_NK, DOMAIN
FROM STG_BIND9_LOG )
SELECT 
  1 as 'Table: Havy DNS Requests',
  REQUEST_NK AS 'Request',
  DOMAIN AS 'Domain',
  REQ AS 'Requests per Day',
  DH AS 'Hours per Day',
  DAYS AS 'Active Days'
FROM (
SELECT
  REQUEST_NK, MAX(DOMAIN) AS DOMAIN,
  COUNT(DISTINCT REQUEST_NK) AS SUBD,
  COUNT(DISTINCT strftime('%d.%m', datetime(EVENT_DT, 'unixepoch'))) AS DAYS,
  ROUND(1.0*SUM(1)/COUNT(DISTINCT strftime('%d.%m', datetime(EVENT_DT, 'unixepoch'))), 1) AS REQ,
  ROUND(1.0*COUNT(DISTINCT strftime('%d.%m %H', datetime(EVENT_DT, 'unixepoch')))/COUNT(DISTINCT strftime('%d.%m', datetime(EVENT_DT, 'unixepoch'))), 1) AS DH
FROM CLS
WHERE DOMAIN NOT IN ('in-addr.arpa', 'IN-ADDR.ARPA', 'local', 'dyndns', 'nas', 'ntp.org')
  AND datetime(EVENT_DT, 'unixepoch') > date('now', '-20 days')
GROUP BY REQUEST_NK )
WHERE DAYS > 9 -- long period
ORDER BY 4 DESC, 5 DESC
LIMIT 20

Kami memblokir isс.blackberry.com dan iceberg.blackberry.com, yang akan dibenarkan oleh pabrikan karena alasan keamanan. Hasilnya: saat mencoba menyambung ke WLAN, muncul halaman login dan tidak pernah tersambung lagi ke mana pun. Mari kita buka blokirnya.

detectorportal.firefox.com adalah mekanisme yang sama, hanya diterapkan di browser Firefox. Jika Anda perlu masuk ke jaringan WLAN, halaman login akan ditampilkan terlebih dahulu. Tidak sepenuhnya jelas mengapa alamat harus sering di-ping, namun mekanismenya dijelaskan dengan jelas oleh pabrikan.

skype. Tindakan program ini mirip dengan worm: ia bersembunyi dan tidak membiarkan dirinya dimatikan di taskbar, menghasilkan banyak lalu lintas di jaringan, melakukan ping ke 10 domain setiap 4 menit. Saat melakukan panggilan video, koneksi Internet terus-menerus terputus, padahal tidak bisa lebih baik lagi. Untuk saat ini hal itu perlu, jadi tetap saja.

upload.fp.measure.office.com - mengacu pada Office 365, saya tidak dapat menemukan deskripsi yang layak.
browser.pipe.aria.microsoft.com - Saya tidak dapat menemukan deskripsi yang layak.
Kami memblokir keduanya.

connect.facebook.net - Aplikasi obrolan Facebook. Tetap.

mediator.mail.ru Analisis semua permintaan domain mail.ru menunjukkan adanya sejumlah besar sumber daya periklanan dan pengumpul statistik, yang menyebabkan ketidakpercayaan. Domain mail.ru dikirim seluruhnya ke daftar hitam.

google-analytics.com - tidak memengaruhi fungsi perangkat, jadi kami memblokirnya.
doubleclick.net - menghitung klik iklan. Kami memblokir.

Banyak permintaan masuk ke googleapis.com. Pemblokiran telah menyebabkan penutupan pesan singkat di tablet dengan gembira, yang menurut saya bodoh. Tapi playstore berhenti berfungsi, jadi mari kita buka blokirnya.

cloudflare.com - mereka menulis bahwa mereka menyukai open source dan, secara umum, banyak menulis tentang diri mereka sendiri. Intensitas survei domain tidak sepenuhnya jelas, yang seringkali jauh lebih tinggi dibandingkan aktivitas sebenarnya di Internet. Mari kita tinggalkan untuk saat ini.

Oleh karena itu, intensitas permintaan sering kali dikaitkan dengan fungsionalitas perangkat yang diperlukan. Tetapi mereka yang berlebihan dalam aktivitas juga ketahuan.

Yang paling pertama

Saat Internet nirkabel dihidupkan, semua orang masih tertidur dan Anda dapat melihat permintaan mana yang dikirim ke jaringan terlebih dahulu. Jadi, pada pukul 6:50 Internet menyala dan dalam periode sepuluh menit pertama, 60 domain disurvei setiap hari:

Bagaimana internet rumah hidup dan statistik server nama domain?

Kueri laporan SQL

WITH CLS AS ( /* prepare unique requests */
SELECT
DISTINCT DATE_NK,
STRFTIME( '%s', SUBSTR(DATE_NK,8,4) || '-' ||
	CASE SUBSTR(DATE_NK,4,3)
	WHEN 'Jan' THEN '01' WHEN 'Feb' THEN '02' WHEN 'Mar' THEN '03' WHEN 'Apr' THEN '04' WHEN 'May' THEN '05' WHEN 'Jun' THEN '06'
	WHEN 'Jul' THEN '07' WHEN 'Aug' THEN '08' WHEN 'Sep' THEN '09' WHEN 'Oct' THEN '10' WHEN 'Nov' THEN '11'
	ELSE '12' END || '-' || SUBSTR(DATE_NK,1,2) || ' ' || SUBSTR(TIME_NK,1,8) ) AS EVENT_DT,
REQUEST_NK, DOMAIN
FROM STG_BIND9_LOG )
SELECT
  1 as 'Table: First DNS Requests at 06:00',
  REQUEST_NK AS 'Request',
  DOMAIN AS 'Domain',
  REQ AS 'Requests',
  DAYS AS 'Active Days',
  strftime('%H:%M', datetime(MIN_DT, 'unixepoch')) AS 'First Ping',
  strftime('%H:%M', datetime(MAX_DT, 'unixepoch')) AS 'Last Ping'
FROM (
SELECT
  REQUEST_NK, MAX(DOMAIN) AS DOMAIN,
  MIN(EVENT_DT) AS MIN_DT,
  MAX(EVENT_DT) AS MAX_DT,
  COUNT(DISTINCT strftime('%d.%m', datetime(EVENT_DT, 'unixepoch'))) AS DAYS,
  ROUND(1.0*SUM(1)/COUNT(DISTINCT strftime('%d.%m', datetime(EVENT_DT, 'unixepoch'))), 1) AS REQ
FROM CLS
WHERE DOMAIN NOT IN ('in-addr.arpa', 'IN-ADDR.ARPA', 'local', 'dyndns', 'nas', 'ntp.org')
  AND datetime(EVENT_DT, 'unixepoch') > date('now', '-20 days')
  AND strftime('%H', datetime(EVENT_DT, 'unixepoch')) = strftime('%H', '2019-08-01 06:50:00')
GROUP BY REQUEST_NK
 )
WHERE DAYS > 3 -- at least 4 days activity
ORDER BY 5 DESC, 4 DESC

Firefox memeriksa koneksi WLAN untuk mengetahui keberadaan halaman login.
Citrix melakukan ping ke servernya meskipun aplikasi tidak aktif berjalan.
Symantec memverifikasi sertifikat.
Mozilla memeriksa pembaruan, meskipun dalam pengaturan saya meminta untuk tidak melakukan ini.

mmo.de adalah layanan game. Kemungkinan besar permintaan tersebut diawali oleh chat facebook. Kami memblokir.

Apple akan mengaktifkan semua layanannya. api-glb-fra.smoot.apple.com - dilihat dari deskripsinya, setiap klik tombol dikirim ke sini untuk tujuan optimasi mesin pencari. Sangat mencurigakan, tetapi terkait dengan fungsionalitas. Kami meninggalkannya.

Berikut ini adalah daftar panjang permintaan ke microsoft.com. Kami memblokir semua domain mulai dari level ketiga.

Jumlah subdomain pertama
Bagaimana internet rumah hidup dan statistik server nama domain?

Jadi, 10 menit pertama menyalakan Internet nirkabel.
iOS melakukan jajak pendapat subdomain terbanyak - 32. Diikuti oleh Android - 24, lalu Windows - 15 dan terakhir Blackberry - 9.
Aplikasi facebook sendiri melakukan polling 10 domain, skype melakukan polling 9 domain.

Sumber informasi

Sumber analisisnya adalah file log server lokal bind9, yang berisi format berikut:

01-Aug-2019 20:03:30.996 client 192.168.0.2#40693 (api.aps.skype.com): query: api.aps.skype.com IN A + (192.168.0.102)

File tersebut diimpor ke database sqlite dan dianalisis menggunakan kueri SQL.
Server bertindak sebagai cache; permintaan datang dari router, jadi selalu ada satu permintaan klien. Struktur tabel yang disederhanakan sudah cukup, mis. Laporan tersebut memerlukan waktu permintaan, permintaan itu sendiri, dan domain tingkat kedua untuk pengelompokan.

tabel DDL

CREATE TABLE STG_BIND9_LOG (
  LINE_NK       INTEGER NOT NULL DEFAULT 1,
  DATE_NK       TEXT NOT NULL DEFAULT 'n.a.',
  TIME_NK       TEXT NOT NULL DEFAULT 'n.a.',
  CLI           TEXT, -- client
  IP            TEXT,
  REQUEST_NK    TEXT NOT NULL DEFAULT 'n.a.', -- requested domain
  DOMAIN        TEXT NOT NULL DEFAULT 'n.a.', -- domain second level
  QUERY         TEXT,
  UNIQUE (LINE_NK, DATE_NK, TIME_NK, REQUEST_NK)
);

Keluaran

Jadi, sebagai hasil analisis log server nama domain, lebih dari 50 catatan disensor dan ditempatkan pada daftar blokir.

Pentingnya beberapa pertanyaan dijelaskan dengan baik oleh produsen perangkat lunak dan menginspirasi kepercayaan diri. Namun, sebagian besar kegiatan tersebut tidak berdasar dan dipertanyakan.

Sumber: www.habr.com

Tambah komentar