Ciamar a tha an eadar-lìn dachaigh beò agus staitistig frithealaiche ainm fearainn?

Faodaidh router dachaigh (sa chùis seo FritzBox) mòran a chlàradh: dè an trafaic a tha a’ dol cuin, cò aig a bheil ceangal aig dè an astar, msaa. Chuidich frithealaiche ainm fearainn (DNS) air an lìonra ionadail mi gus faighinn a-mach dè a bha falaichte air cùl luchd-faighinn neo-aithnichte.

Gu h-iomlan, tha DNS air buaidh mhath a thoirt air an lìonra dachaigh: tha e air astar, seasmhachd agus comas stiùiridh a chuir ris.

Gu h-ìosal tha diagram a thog ceistean agus am feum a bhith a’ tuigsinn dè bha a’ tachairt. Bidh na toraidhean mu thràth a’ sìoladh a-mach iarrtasan aithnichte agus obrach gu frithealaichean ainmean fearainn.

Carson a thathas a’ sgrùdadh 60 raon doilleir a h-uile latha fhad ‘s a tha a h-uile duine fhathast nan cadal?

Gach latha, thèid 440 raon neo-aithnichte a sgrùdadh rè uairean gnìomhach. Cò iad agus dè bhios iad a’ dèanamh?

Àireamh chuibheasach de iarrtasan gach latha san uair

Ciamar a tha an eadar-lìn dachaigh beò agus staitistig frithealaiche ainm fearainn?

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

Air an oidhche, tha ruigsinneachd gun uèir ciorramach agus tha dùil ri gnìomhachd inneal, i.e. chan eil cunntas-bheachd ann airson raointean neo-aithnichte. Tha seo a 'ciallachadh gu bheil an gnìomhachd as motha a' tighinn bho innealan le siostaman obrachaidh leithid Android, iOS agus Blackberry OS.

Leig leinn liosta de na raointean a tha air an sgrùdadh gu dian. Bidh an dian air a dhearbhadh a rèir crìochan leithid an àireamh de dh’ iarrtasan gach latha, an àireamh de làithean gnìomhachd agus cia mheud uair a thìde den latha a chaidh mothachadh dhaibh.

Bha a h-uile duine a bha fo amharas air an liosta.

Fearann ​​​​air an sgrùdadh gu dian

Ciamar a tha an eadar-lìn dachaigh beò agus staitistig frithealaiche ainm fearainn?

Ceist aithisg 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

Bidh sinn a’ bacadh isс.blackberry.com agus iceberg.blackberry.com, a dh’ fhìreanaicheas an neach-dèanamh airson adhbharan tèarainteachd. Toradh: nuair a tha thu a’ feuchainn ri ceangal ris an WLAN, seallaidh e an duilleag logaidh a-steach agus cha bhith e a’ ceangal àite sam bith tuilleadh. Leig dhuinn a bhacadh.

detectportal.firefox.com an aon uidheamachd, air a chuir an gnìomh a-mhàin ann am brabhsair Firefox. Ma dh'fheumas tu logadh a-steach don lìonra WLAN, seallaidh e an duilleag logaidh a-steach an toiseach. Chan eil e gu tur soilleir carson a bu chòir an seòladh a bhith air a phingadh cho tric, ach tha an uidheamachd air a mhìneachadh gu soilleir leis an neach-dèanamh.

skype. Tha gnìomhan a 'phrògraim seo coltach ri cnuimhean: bidh e a' falach agus chan eil e dìreach a 'leigeil leotha fhèin a bhith air a mharbhadh anns a' bhàr-tasg, a 'cruthachadh tòrr trafaig air an lìonra, a' pings 10 raointean gach 4 mionaidean. Nuair a nì thu gairm bhidio, bidh an ceangal eadar-lìn an-còmhnaidh a’ briseadh sìos, nuair nach urrainn dha a bhith nas fheàrr. Airson a-nis tha e riatanach, mar sin tha e fhathast.

upload.fp.measure.office.com - a’ toirt iomradh air Office 365, cha b’ urrainn dhomh tuairisgeul iomchaidh a lorg.
browser.pipe.aria.microsoft.com - cha b' urrainn dhomh tuairisgeul iomchaidh a lorg.
Bidh sinn a 'bacadh an dà chuid.

connect.facebook.net - tagradh cabadaich Facebook. air fhàgail.

mediator.mail.ru Sheall mion-sgrùdadh air a h-uile iarrtas airson an àrainn mail.ru gu robh àireamh mhòr de ghoireasan sanasachd agus luchd-cruinneachaidh staitistig, a tha ag adhbhrachadh mì-earbsa. Tha an àrainn mail.ru air a chuir gu tur chun liosta dhubh.

google-analytics.com - chan eil e a’ toirt buaidh air gnìomhachd innealan, agus mar sin bidh sinn ga bhacadh.
doubleclick.net - a’ cunntadh cliogan sanasachd. Bidh sinn a’ bacadh.

Bidh mòran iarrtasan a’ dol gu googleapis.com. Tha am bacadh air leantainn gu bhith a ’dùnadh teachdaireachdan goirid air a’ chlàr, a tha a ’coimhead gòrach dhomh. Ach sguir an playstore ag obair, mar sin leig dhuinn a bhacadh.

cloudflare.com - bidh iad a 'sgrìobhadh gu bheil iad dèidheil air open source agus, san fharsaingeachd, a' sgrìobhadh mòran mun deidhinn fhèin. Chan eil cho dian sa tha an sgrùdadh fearainn gu tur soilleir, a tha gu tric mòran nas àirde na an fhìor ghnìomhachd air an eadar-lìn. Fàgaidh sinn e airson a-nis.

Mar sin, tha dian iarrtasan gu tric co-cheangailte ri comas-gnìomh riatanach nan innealan. Ach chaidh an fheadhainn a rinn cus de ghnìomhachd a lorg cuideachd.

A 'chiad fhear

Nuair a thèid an eadar-lìn gun uèir a chuir air, tha a h-uile duine fhathast nan cadal agus chì thu dè na h-iarrtasan a thèid a chuir chun lìonra an toiseach. Mar sin, aig 6:50 bidh an eadar-lìn a’ tionndadh air agus anns a’ chiad deich mionaidean bidh 60 raon air an sgrùdadh gach latha:

Ciamar a tha an eadar-lìn dachaigh beò agus staitistig frithealaiche ainm fearainn?

Ceist aithisg 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

Bidh Firefox a’ sgrùdadh a’ cheangal WLAN airson làthaireachd duilleag logadh a-steach.
Tha Citrix a’ pingadh an fhrithealaiche aige ged nach eil an aplacaid a’ ruith gu gnìomhach.
Bidh Symantec a’ dearbhadh teisteanasan.
Bidh Mozilla a’ sgrùdadh airson ùrachaidhean, ged a dh’ iarr mi gun a bhith a’ dèanamh seo anns na roghainnean.

Tha mmo.de na sheirbheis cluichidh. Is dòcha gu bheil an t-iarrtas air a thòiseachadh le cabadaich facebook. Bidh sinn a’ bacadh.

Cuiridh Apple an gnìomh a sheirbheisean gu lèir. api-glb-fra.smoot.apple.com - a’ breithneachadh leis an tuairisgeul, thèid a h-uile cliog putan a chuir an seo airson adhbharan optimization einnsean sgrùdaidh. Gu math amharasach, ach co-cheangailte ri comas-gnìomh. Fàgaidh sinn e.

Tha na leanas na liosta fhada de dh’ iarrtasan gu microsoft.com. Bidh sinn a’ casg a h-uile raon a’ tòiseachadh bhon treas ìre.

Àireamh de chiad subdomains
Ciamar a tha an eadar-lìn dachaigh beò agus staitistig frithealaiche ainm fearainn?

Mar sin, a 'chiad 10 mionaidean de tionndadh air an eadar-lìon gun uèir.
Bidh iOS a’ taghadh na fo-roinnean as motha - 32. Air a leantainn le Android - 24, an uairsin Windows - 15 agus mu dheireadh Blackberry - 9.
Bidh an tagradh facebook leis fhèin a’ sgrùdadh 10 raointean, a’ bhòtadh skype air 9 raointean.

Stòr fiosrachaidh

B’ e stòr an anailis am faidhle log frithealaiche ionadail bind9, anns a bheil an cruth a leanas:

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)

Chaidh am faidhle a thoirt a-steach do stòr-dàta sqlite agus chaidh a sgrùdadh le bhith a’ cleachdadh cheistean SQL.
Bidh am frithealaiche ag obair mar tasgadan; thig iarrtasan bhon router, agus mar sin bidh aon neach-dèiligidh iarrtas ann an-còmhnaidh. Tha structar bùird nas sìmplidh gu leòr, i.e. Feumaidh an aithisg ùine an iarrtais, an t-iarrtas fhèin, agus an raon dàrna ìre airson a bhith a’ cruinneachadh.

Clàr DDL saor an asgaidh

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

co-dhùnadh

Mar sin, mar thoradh air mion-sgrùdadh air log an fhrithealaiche ainm fearainn, chaidh barrachd air clàran 50 a chaisgireachd agus a chuir air an liosta bhlocaichean.

Tha feum air cuid de cheistean air a dheagh mhìneachadh le luchd-saothrachaidh bathar-bog agus a’ brosnachadh misneachd. Ach, tha mòran den ghnìomhachd gun stèidh agus teagmhach.

Source: www.habr.com

Cuir beachd ann