Kā darbojas mājas internets un domēna vārdu servera statistika?

Mājas marÅ”rutētājs (Å”ajā gadÄ«jumā FritzBox) var ierakstÄ«t daudz: cik daudz trafika notiek, kad, kurÅ” ir savienots ar kādu ātrumu utt. Domēna vārdu serveris (DNS) lokālajā tÄ«klā man palÄ«dzēja noskaidrot, kas slēpjas aiz nezināmajiem adresātiem.

Kopumā DNS ir pozitīvi ietekmējis mājas tīklu: tas ir palielinājis ātrumu, stabilitāti un vadāmību.

Zemāk ir diagramma, kas radÄ«ja jautājumus un nepiecieÅ”amÄ«bu saprast, kas notiek. Rezultāti jau filtrē zināmos un strādājoÅ”os pieprasÄ«jumus domēna nosaukumu serveriem.

Kāpēc katru dienu tiek aptaujāti 60 neskaidri domēni, kamēr visi vēl guļ?

Katru dienu aktīvajā laikā tiek aptaujāti 440 nezināmi domēni. Kas viņi ir un ko viņi dara?

Vidējais pieprasījumu skaits dienā pa stundām

Kā darbojas mājas internets un domēna vārdu servera statistika?

SQL atskaites vaicājums

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'))

NaktÄ« bezvadu piekļuve ir atspējota un ir gaidāma ierÄ«ces darbÄ«ba, t.i. nezināmiem domēniem aptauja netiek veikta. Tas nozÄ«mē, ka vislielāko aktivitāti nodroÅ”ina ierÄ«ces ar tādām operētājsistēmām kā Android, iOS un Blackberry OS.

UzskaitÄ«sim tos domēnus, kuri tiek intensÄ«vi aptaujāti. Intensitāti noteiks tādi parametri kā pieprasÄ«jumu skaits dienā, aktivitāŔu dienu skaits un cik diennakts stundās tie tika pamanÄ«ti.

Visi paredzamie aizdomās turamie bija sarakstā.

Intensīvi aptaujāti domēni

Kā darbojas mājas internets un domēna vārdu servera statistika?

SQL atskaites vaicājums

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

Mēs bloķējam isс.blackberry.com un iceberg.blackberry.com, ko ražotājs attaisnos droŔības apsvērumu dēļ. Rezultāts: mēģinot izveidot savienojumu ar WLAN, tiek parādÄ«ta pieteikÅ”anās lapa un vairs nekur netiek izveidots savienojums. Atbloķēsim to.

detectportal.firefox.com ir tas pats mehānisms, kas ieviests tikai pārlÅ«kprogrammā Firefox. Ja jums ir jāpiesakās WLAN tÄ«klā, vispirms tiks parādÄ«ta pieteikÅ”anās lapa. Nav lÄ«dz galam skaidrs, kāpēc adrese ir tik bieži jāpiesaista, taču ražotājs ir skaidri aprakstÄ«jis mehānismu.

skype. Å Ä«s programmas darbÄ«bas ir lÄ«dzÄ«gas tārpam: tā slēpjas un vienkārÅ”i neļauj sevi nogalināt uzdevumjoslā, Ä£enerē lielu trafiku tÄ«klā, ping 10 domēnus ik pēc 4 minÅ«tēm. Veicot videozvanu, interneta savienojums nepārtraukti pārtrÅ«kst, kad tas nevar bÅ«t labāks. Pagaidām vajag, tā arÄ« paliek.

upload.fp.measure.office.com ā€” attiecas uz Office 365, es nevarēju atrast pienācÄ«gu aprakstu.
browser.pipe.aria.microsoft.com ā€” nevarēju atrast pienācÄ«gu aprakstu.
Mēs bloķējam abus.

connect.facebook.net ā€” Facebook tērzÄ“Å”anas lietojumprogramma. Paliek.

mediator.mail.ru Visu domēna mail.ru pieprasījumu analīze parādīja milzīgu reklāmas resursu un statistikas vācēju klātbūtni, kas izraisa neuzticību. Domēns mail.ru tiek pilnībā nosūtīts uz melno sarakstu.

google-analytics.com - neietekmē ierīču funkcionalitāti, tāpēc mēs to bloķējam.
doubleclick.net - uzskaita reklāmas klikŔķus. Mēs bloķējam.

Daudzi pieprasÄ«jumi tiek nosÅ«tÄ«ti uz googleapis.com. BloÄ·Ä“Å”ana ir novedusi pie priecÄ«gas Ä«sziņu izslēgÅ”anas planÅ”etdatorā, kas man Ŕķiet stulbi. Taču spēļu veikals pārstāja darboties, tāpēc atbloķēsim to.

cloudflare.com - viņi raksta, ka mīl atvērto avotu un kopumā daudz raksta par sevi. Domēna aptaujas intensitāte nav līdz galam skaidra, kas bieži vien ir daudz augstāka par faktisko aktivitāti internetā. Atstāsim to pagaidām.

Tādējādi pieprasÄ«jumu intensitāte bieži ir saistÄ«ta ar nepiecieÅ”amo ierīču funkcionalitāti. Taču tika atklāti arÄ« tie, kas ar aktivitāti pārcentās.

Pats pirmais

Kad ir ieslēgts bezvadu internets, visi vēl guļ un ir iespēja redzēt, kuri pieprasījumi tiek nosūtīti tīklam pirmie. Tātad, pulksten 6:50 ieslēdzas internets un pirmajās desmit minūtēs katru dienu tiek aptaujāti 60 domēni:

Kā darbojas mājas internets un domēna vārdu servera statistika?

SQL atskaites vaicājums

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 pārbauda, ā€‹ā€‹vai WLAN savienojumā nav pieteikÅ”anās lapas.
Citrix nosūta savu serveri, lai gan lietojumprogramma nedarbojas aktīvi.
Symantec pārbauda sertifikātus.
Mozilla pārbauda atjauninājumus, lai gan iestatījumos es lūdzu to nedarīt.

mmo.de ir spēļu pakalpojums. Visticamāk, pieprasījumu ierosina facebook čats. Mēs bloķējam.

Apple aktivizēs visus savus pakalpojumus. api-glb-fra.smoot.apple.com - spriežot pēc apraksta, katrs pogas klikŔķis tiek nosÅ«tÄ«ts Å”eit meklētājprogrammu optimizācijas nolÅ«kos. Ä»oti aizdomÄ«gs, bet saistÄ«ts ar funkcionalitāti. Mēs to atstājam.

Tālāk ir sniegts garÅ” Microsoft.com pieprasÄ«jumu saraksts. Mēs bloķējam visus domēnus, sākot no treŔā lÄ«meņa.

PaÅ”u pirmo apakÅ”domēnu skaits
Kā darbojas mājas internets un domēna vārdu servera statistika?

Tātad, pirmās 10 minÅ«tes pēc bezvadu interneta ieslēgÅ”anas.
iOS aptaujā visvairāk apakÅ”domēnu - 32. Seko Android - 24, tad Windows - 15 un visbeidzot Blackberry - 9.
facebook aplikācija vien aptaujā 10 domēnus, skype ā€“ 9 domēnus.

Informācijas avots

Analīzes avots bija bind9 lokālā servera žurnālfails, kas satur Ŕādu formātu:

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)

Fails tika importēts sqlite datu bāzē un analizēts, izmantojot SQL vaicājumus.
Serveris darbojas kā keÅ”atmiņa; pieprasÄ«jumi nāk no marÅ”rutētāja, tāpēc vienmēr ir viens pieprasÄ«juma klients. Pietiek ar vienkārÅ”otu tabulas struktÅ«ru, t.i. Pārskatam ir nepiecieÅ”ams pieprasÄ«juma laiks, pats pieprasÄ«jums un otrā lÄ«meņa domēns grupÄ“Å”anai.

DDL tabulas

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)
);

secinājums

Tādējādi domēna vārdu servera žurnāla analÄ«zes rezultātā vairāk nekā 50 ieraksti tika cenzēti un ievietoti bloÄ·Ä“Å”anas sarakstā.

ProgrammatÅ«ras ražotāji ir labi aprakstÄ«juÅ”i dažu vaicājumu nepiecieÅ”amÄ«bu, un tas rada pārliecÄ«bu. Tomēr liela daļa aktivitāŔu ir nepamatotas un apÅ”aubāmas.

Avots: www.habr.com

Pievieno komentāru