рд╣реЛрдо рдЗрдВрдЯрд░рдиреЗрдЯ рд▓рд╛рдЗрд╡реНрд╣ рдЖрдгрд┐ рдбреЛрдореЗрди рдиреЗрдо рд╕рд░реНрд╡реНрд╣рд░рдЪреА рдЖрдХрдбреЗрд╡рд╛рд░реА рдХрд╢реА рдЖрд╣реЗ?

рд╣реЛрдо рд░рд╛рдЙрдЯрд░ (рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд рдлреНрд░рд┐рдЯреНрдЬрдмреЙрдХреНрд╕) рдЦреВрдк рд░реЗрдХреЙрд░реНрдб рдХрд░реВ рд╢рдХрддреЛ: рдХрд┐рддреА рд░рд╣рджрд╛рд░реА рдХрдзреА рдЬрд╛рдд рдЖрд╣реЗ, рдХреЛрдг рдХреЛрдгрддреНрдпрд╛ рд╡реЗрдЧрд╛рдиреЗ рдХрдиреЗрдХреНрдЯ рдЖрд╣реЗ рдЗ. рд╕реНрдерд╛рдирд┐рдХ рдиреЗрдЯрд╡рд░реНрдХрд╡рд░реАрд▓ рдбреЛрдореЗрди рдиреЗрдо рд╕рд░реНрд╡реНрд╣рд░ (DNS) рдиреЗ рдорд▓рд╛ рдЕрдЬреНрдЮрд╛рдд рдкреНрд░рд╛рдкреНрддрдХрд░реНрддреНрдпрд╛рдВрдЪреНрдпрд╛ рдорд╛рдЧреЗ рдХрд╛рдп рд▓рдкрд▓реЗрд▓реЗ рдЖрд╣реЗ рд╣реЗ рд╢реЛрдзрдгреНрдпрд╛рдд рдорджрдд рдХреЗрд▓реА.

рдПрдХреВрдгрдЪ, DNS рдЪрд╛ рд╣реЛрдо рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рднрд╛рд╡ рдкрдбрд▓рд╛ рдЖрд╣реЗ: рдпрд╛рдд рдЧрддреА, рд╕реНрдерд┐рд░рддрд╛ рдЖрдгрд┐ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирдХреНрд╖рдорддрд╛ рдЬреЛрдбрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ.

рдЦрд╛рд▓реА рдПрдХ рдЖрдХреГрддреА рдЖрд╣реЗ рдЬреНрдпрд╛рдиреЗ рдкреНрд░рд╢реНрди рдЙрдкрд╕реНрдерд┐рдд рдХреЗрд▓реЗ рдЖрдгрд┐ рдХрд╛рдп рд╣реЛрдд рдЖрд╣реЗ рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ. рдкрд░рд┐рдгрд╛рдо рдЖрдзреАрдЪ рдбреЛрдореЗрди рдиреЗрдо рд╕рд░реНрд╡реНрд╣рд░рд╕рд╛рдареА рдЬреНрдЮрд╛рдд рдЖрдгрд┐ рдХрд╛рд░реНрдпрд░рдд рд╡рд┐рдирдВрддреНрдпрд╛ рдлрд┐рд▓реНрдЯрд░ рдХрд░рддрд╛рдд.

рдкреНрд░рддреНрдпреЗрдХрдЬрдг рдЭреЛрдкреЗрдд рдЕрд╕рддрд╛рдирд╛ рджрд░рд░реЛрдЬ 60 рдЕрд╕реНрдкрд╖реНрдЯ рдбреЛрдореЗрди рдХрд╛ рдорддрджрд╛рди рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд?

рджрд░рд░реЛрдЬ, 440 рдЕрдЬреНрдЮрд╛рдд рдбреЛрдореЗрди рд╕рдХреНрд░рд┐рдп рддрд╛рд╕рд╛рдВрджрд░рдореНрдпрд╛рди рдорддрджрд╛рди рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. рддреЗ рдХреЛрдг рдЖрд╣реЗрдд рдЖрдгрд┐ рдХрд╛рдп рдХрд░рддрд╛рдд?

рдкреНрд░рддрд┐ рддрд╛рд╕ рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреА рд╕рд░рд╛рд╕рд░реА рд╕рдВрдЦреНрдпрд╛

рд╣реЛрдо рдЗрдВрдЯрд░рдиреЗрдЯ рд▓рд╛рдЗрд╡реНрд╣ рдЖрдгрд┐ рдбреЛрдореЗрди рдиреЗрдо рд╕рд░реНрд╡реНрд╣рд░рдЪреА рдЖрдХрдбреЗрд╡рд╛рд░реА рдХрд╢реА рдЖрд╣реЗ?

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

рд░рд╛рддреНрд░реА, рд╡рд╛рдпрд░рд▓реЗрд╕ рдкреНрд░рд╡реЗрд╢ рдЕрдХреНрд╖рдо рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рдХреНрд░рд┐рдпрд╛рдХрд▓рд╛рдк рдЕрдкреЗрдХреНрд╖рд┐рдд рдЖрд╣реЗ, рдореНрд╣рдгрдЬреЗ. рдЕрдЬреНрдЮрд╛рдд рдбреЛрдореЗрдирд╕рд╛рдареА рдорддрджрд╛рди рдирд╛рд╣реА. рдпрд╛рдЪрд╛ рдЕрд░реНрде Android, iOS рдЖрдгрд┐ Blackberry OS рд╕рд╛рд░рдЦреНрдпрд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯреАрдо рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕реЗрд╕рдордзреВрди рд╕рд░реНрд╡рд╛рдд рдореЛрдареА рдХреНрд░рд┐рдпрд╛ рдпреЗрддреЗ.

рддреАрд╡реНрд░рддреЗрдиреЗ рдорддрджрд╛рди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдбреЛрдореЗрдирдЪреА рдпрд╛рджреА рдХрд░реВрдпрд╛. рдкреНрд░рддрд┐рджрд┐рди рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛, рдХреНрд░рд┐рдпрд╛рдХрд▓рд╛рдкрд╛рдВрдЪреНрдпрд╛ рджрд┐рд╡рд╕рд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рдЖрдгрд┐ рджрд┐рд╡рд╕рд╛рдЪреНрдпрд╛ рдХрд┐рддреА рддрд╛рд╕рд╛рдВрдордзреНрдпреЗ рддреЗ рд▓рдХреНрд╖рд╛рдд рдЖрд▓реЗ рдпрд╛рд╕рд╛рд░рдЦреНрдпрд╛ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рджреНрд╡рд╛рд░реЗ рддреАрд╡реНрд░рддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреЗрд▓реА рдЬрд╛рдИрд▓.

рд╕рд░реНрд╡ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╕рдВрд╢рдпрд┐рдд рдпрд╛рджреАрдд рд╣реЛрддреЗ.

рдЧрд╣рдирдкрдгреЗ рдорддрджрд╛рди рдХреЗрд▓реЗрд▓реЗ рдбреЛрдореЗрди

рд╣реЛрдо рдЗрдВрдЯрд░рдиреЗрдЯ рд▓рд╛рдЗрд╡реНрд╣ рдЖрдгрд┐ рдбреЛрдореЗрди рдиреЗрдо рд╕рд░реНрд╡реНрд╣рд░рдЪреА рдЖрдХрдбреЗрд╡рд╛рд░реА рдХрд╢реА рдЖрд╣реЗ?

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

рдЖрдореНрд╣реА is╤Б.blackberry.com рдЖрдгрд┐ iceberg.blackberry.com рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рддреЛ, рдЬреНрдпрд╛рд▓рд╛ рдирд┐рд░реНрдорд╛рддрд╛ рд╕реБрд░рдХреНрд╖рд┐рддрддреЗрдЪреНрдпрд╛ рдХрд╛рд░рдгрд╛рд╕реНрддрд╡ рд╕рдорд░реНрдерди рджреЗрдИрд▓. рдкрд░рд┐рдгрд╛рдо: WLAN рд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддрд╛рдирд╛, рддреЗ рд▓реЙрдЧрд┐рди рдкреГрд╖реНрда рджрд░реНрд╢рд╡рддреЗ рдЖрдгрд┐ рдкреБрдиреНрд╣рд╛ рдХрдзреАрд╣реА рдХрдиреЗрдХреНрдЯ рд╣реЛрдд рдирд╛рд╣реА. рдЪрд▓рд╛ рддреЗ рдЕрдирдмреНрд▓реЙрдХ рдХрд░реВрдпрд╛.

detectportal.firefox.com рд╣реА рд╕рдорд╛рди рдпрдВрддреНрд░рдгрд╛ рдЖрд╣реЗ, рдлрдХреНрдд рдлрд╛рдпрд░рдлреЙрдХреНрд╕ рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ рд▓рд╛рдЧреВ рдХреЗрд▓реА рдЬрд╛рддреЗ. рддреБрдореНрд╣рд╛рд▓рд╛ WLAN рдиреЗрдЯрд╡рд░реНрдХрдордзреНрдпреЗ рд▓реЙрдЧ рдЗрди рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рд▓реНрдпрд╛рд╕, рддреЗ рдкреНрд░рдердо рд▓реЙрдЧрд┐рди рдкреГрд╖реНрда рджрд░реНрд╢рд╡реЗрд▓. рдкрддреНрддрд╛ рдЗрддрдХреНрдпрд╛ рд╡реЗрд│рд╛ рдХрд╛ рдкрд┐рдВрдЧ рдХреЗрд▓рд╛ рдЬрд╛рд╡рд╛ рд╣реЗ рдкреВрд░реНрдгрдкрдгреЗ рд╕реНрдкрд╖реНрдЯ рдирд╛рд╣реА, рдкрд░рдВрддреБ рдирд┐рд░реНрдорд╛рддреНрдпрд╛рдиреЗ рдпрдВрддреНрд░рдгрд╛ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рд╡рд░реНрдгрди рдХреЗрд▓реА рдЖрд╣реЗ.

рд╕реНрдХрд╛рдИрдк рдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдордЪреНрдпрд╛ рдХреНрд░рд┐рдпрд╛ рдХрд┐рдбреНрдпрд╛рд╕рд╛рд░рдЦреНрдпрд╛рдЪ рдЖрд╣реЗрдд: рддреЗ рд▓рдкрд╡рддреЗ рдЖрдгрд┐ рдЯрд╛рд╕реНрдХрдмрд╛рд░рдордзреНрдпреЗ рд╕реНрд╡рддрдГрд▓рд╛ рдорд╛рд░рд▓реЗ рдЬрд╛рдК рджреЗрдд рдирд╛рд╣реА, рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ рднрд░рдкреВрд░ рд░рд╣рджрд╛рд░реА рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ, рджрд░ 10 рдорд┐рдирд┐рдЯрд╛рдВрдиреА 4 рдбреЛрдореЗрди рдкрд┐рдВрдЧ рдХрд░рддреЗ. рд╡реНрд╣рд┐рдбрд┐рдУ рдХреЙрд▓ рдХрд░рддрд╛рдирд╛, рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рд╕рддрдд рдЦрдВрдбрд┐рдд рд╣реЛрддреЗ, рдЬреЗрд╡реНрд╣рд╛ рддреЗ рдЪрд╛рдВрдЧрд▓реЗ рдЕрд╕реВ рд╢рдХрдд рдирд╛рд╣реА. рд╕рдзреНрдпрд╛ рддреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдореНрд╣рдгреВрди рддреЗ рд░рд╛рд╣рддреЗ.

upload.fp.measure.office.com - Office 365 рдЪрд╛ рд╕рдВрджрд░реНрдн рджреЗрддреЗ, рдорд▓рд╛ рдпреЛрдЧреНрдп рд╡рд░реНрдгрди рд╕рд╛рдкрдбрд▓реЗ рдирд╛рд╣реА.
browser.pipe.aria.microsoft.com - рдорд▓рд╛ рдпреЛрдЧреНрдп рд╡рд░реНрдгрди рд╕рд╛рдкрдбрд▓реЗ рдирд╛рд╣реА.
рдЖрдореНрд╣реА рджреЛрдиреНрд╣реА рдмреНрд▓реЙрдХ рдХрд░рддреЛ.

connect.facebook.net - рдлреЗрд╕рдмреБрдХ рдЪреЕрдЯ рдНрдкреНрд▓рд┐рдХреЗрд╢рди. рд░рд╛рд╣рддреЗ.

mediator.mail.ru mail.ru рдбреЛрдореЗрдирдЪреНрдпрд╛ рд╕рд░реНрд╡ рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рдд рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рдЬрд╛рд╣рд┐рд░рд╛рдд рд╕рдВрд╕рд╛рдзрдиреЗ рдЖрдгрд┐ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА рд╕рдВрдЧреНрд░рд╛рд╣рдХрд╛рдВрдЪреА рдЙрдкрд╕реНрдерд┐рддреА рджрд┐рд╕реВрди рдЖрд▓реА, рдЬреНрдпрд╛рдореБрд│реЗ рдЕрд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд┐рд░реНрдорд╛рдг рд╣реЛрддреЛ. mail.ru рдбреЛрдореЗрди рдкреВрд░реНрдгрдкрдгреЗ рдХрд╛рд│реНрдпрд╛ рдпрд╛рджреАрдд рдкрд╛рдард╡рд▓реЗ рдЬрд╛рддреЗ.

google-analytics.com - рдбрд┐рд╡реНрд╣рд╛рдЗрд╕реЗрд╕рдЪреНрдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрд╡рд░ рдкрд░рд┐рдгрд╛рдо рдХрд░рдд рдирд╛рд╣реА, рдореНрд╣рдгреВрди рдЖрдореНрд╣реА рддреЗ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рддреЛ.
doubleclick.net - рдЬрд╛рд╣рд┐рд░рд╛рдд рдХреНрд▓рд┐рдХ рдореЛрдЬрддреЛ. рдЖрдореНрд╣реА рдмреНрд▓реЙрдХ рдХрд░рддреЛ.

рдЕрдиреЗрдХ рд╡рд┐рдирдВрддреНрдпрд╛ googleapis.com рд╡рд░ рдЬрд╛рддрд╛рдд. рдмреНрд▓реЙрдХрд┐рдВрдЧрдореБрд│реЗ рдЯреЕрдмреНрд▓реЗрдЯрд╡рд░реАрд▓ рд▓рд╣рд╛рди рд╕рдВрджреЗрд╢ рдЖрдирдВрджрд╛рдиреЗ рдмрдВрдж рдЭрд╛рд▓реЗ рдЖрд╣реЗрдд, рдЬреЗ рдорд▓рд╛ рдореВрд░реНрдЦ рд╡рд╛рдЯрддрд╛рдд. рдкрдг рдкреНрд▓реЗрд╕реНрдЯреЛрдЕрд░рдиреЗ рдХрд╛рдо рдХрд░рдгреЗ рдмрдВрдж рдХреЗрд▓реЗ рдЖрд╣реЗ, рдореНрд╣рдгреВрди рддреЗ рдЕрдирдмреНрд▓реЙрдХ рдХрд░реВрдпрд╛.

cloudflare.com - рддреЗ рд▓рд┐рд╣рд┐рддрд╛рдд рдХреА рддреНрдпрд╛рдВрдирд╛ рдореБрдХреНрдд рд╕реНрддреНрд░реЛрдд рдЖрд╡рдбрддреЛ рдЖрдгрд┐ рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рд╕реНрд╡рддрдГрдмрджреНрджрд▓ рдмрд░реЗрдЪ рдХрд╛рд╣реА рд▓рд┐рд╣рд┐рддреЛ. рдбреЛрдореЗрди рд╕рд░реНрд╡реЗрдХреНрд╖рдгрд╛рдЪреА рддреАрд╡реНрд░рддрд╛ рдкреВрд░реНрдгрдкрдгреЗ рд╕реНрдкрд╖реНрдЯ рдирд╛рд╣реА, рдЬреА рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░реАрд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд░рд┐рдпрд╛рдХрд▓рд╛рдкрд╛рдВрдкреЗрдХреНрд╖рд╛ рдЦреВрдк рдЬрд╛рд╕реНрдд рдЕрд╕рддреЗ. рдЖрддрд╛ рддреЗ рд╕реЛрдбреВрдпрд╛.

рдЕрд╢рд╛рдкреНрд░рдХрд╛рд░реЗ, рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреА рддреАрд╡реНрд░рддрд╛ рдЕрдиреЗрдХрджрд╛ рдЙрдкрдХрд░рдгрд╛рдВрдЪреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЕрд╕рддреЗ. рдкрдг рдЬреНрдпрд╛рдВрдиреА рддреНрдпрд╛рдЪрд╛ рдЕрддрд┐рд░реЗрдХ рдХреЗрд▓рд╛ рддреЗрд╣реА рд╢реЛрдзрд▓реЗ рдЧреЗрд▓реЗ.

рдЕрдЧрджреА рдкрд╣рд┐рд▓реЗ

рд╡рд╛рдпрд░рд▓реЗрд╕ рдЗрдВрдЯрд░рдиреЗрдЯ рдЪрд╛рд▓реВ рдЕрд╕рддрд╛рдирд╛, рдкреНрд░рддреНрдпреЗрдХрдЬрдг рдЕрдЬреВрдирд╣реА рдЭреЛрдкрд▓реЗрд▓рд╛ рдЕрд╕рддреЛ рдЖрдгрд┐ рдиреЗрдЯрд╡рд░реНрдХрд▓рд╛ рдХреЛрдгрддреНрдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛ рдкреНрд░рдердо рдкрд╛рдард╡рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рд╣реЗ рдкрд╛рд╣рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ. рддреНрдпрд╛рдореБрд│реЗ, 6:50 рд╡рд╛рдЬрддрд╛ рдЗрдВрдЯрд░рдиреЗрдЯ рдЪрд╛рд▓реВ рд╣реЛрддреЗ рдЖрдгрд┐ рдкрд╣рд┐рд▓реНрдпрд╛ рджрд╣рд╛ рдорд┐рдирд┐рдЯрд╛рдВрдЪреНрдпрд╛ рдХрд╛рд▓рд╛рд╡рдзреАрдд рджрд░рд░реЛрдЬ 60 рдбреЛрдореЗрдирдЪреЗ рдорддрджрд╛рди рдХреЗрд▓реЗ рдЬрд╛рддреЗ:

рд╣реЛрдо рдЗрдВрдЯрд░рдиреЗрдЯ рд▓рд╛рдЗрд╡реНрд╣ рдЖрдгрд┐ рдбреЛрдореЗрди рдиреЗрдо рд╕рд░реНрд╡реНрд╣рд░рдЪреА рдЖрдХрдбреЗрд╡рд╛рд░реА рдХрд╢реА рдЖрд╣реЗ?

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

рдлрд╛рдпрд░рдлреЙрдХреНрд╕ рд▓реЙрдЧрд┐рди рдкреГрд╖реНрдард╛рдЪреНрдпрд╛ рдЙрдкрд╕реНрдерд┐рддреАрд╕рд╛рдареА WLAN рдХрдиреЗрдХреНрд╢рди рддрдкрд╛рд╕рддреЗ.
рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдХреНрд░рд┐рдпрдкрдгреЗ рдЪрд╛рд▓реВ рдирд╕рд▓рд╛ рддрд░реАрд╣реА Citrix рддреНрдпрд╛рдЪреНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рд▓рд╛ рдкрд┐рдВрдЧ рдХрд░рдд рдЖрд╣реЗ.
рд╕рд┐рдореЗрдВрдЯреЗрдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рдВрдЪреА рдкрдбрддрд╛рд│рдгреА рдХрд░рддреЗ.
Mozilla рдЕрджреНрдпрддрдирд╛рдВрд╕рд╛рдареА рддрдкрд╛рд╕рддреЗ, рдЬрд░реА рдореА рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдордзреНрдпреЗ рдЕрд╕реЗ рди рдХрд░рдгреНрдпрд╛рд╕ рд╕рд╛рдВрдЧрд┐рддрд▓реЗ.

mmo.de рд╣реА рдЧреЗрдорд┐рдВрдЧ рд╕реЗрд╡рд╛ рдЖрд╣реЗ. рдмрд╣реБрдзрд╛ рд╡рд┐рдирдВрддреА рдлреЗрд╕рдмреБрдХ рдЪреЕрдЯрджреНрд╡рд╛рд░реЗ рд╕реБрд░реВ рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ. рдЖрдореНрд╣реА рдмреНрд▓реЙрдХ рдХрд░рддреЛ.

рдНрдкрд▓ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕рд░реНрд╡ рд╕реЗрд╡рд╛ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрд▓. api-glb-fra.smoot.apple.com - рд╡рд░реНрдгрдирд╛рдиреБрд╕рд╛рд░, рдкреНрд░рддреНрдпреЗрдХ рдмрдЯрдг рдХреНрд▓рд┐рдХ рд╢реЛрдз рдЗрдВрдЬрд┐рди рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рд╣реЗрддреВрдВрд╕рд╛рдареА рдпреЗрдереЗ рдкрд╛рдард╡рд▓реЗ рдЬрд╛рддреЗ. рдЕрддреНрдпрдВрдд рд╕рдВрд╢рдпрд╛рд╕реНрдкрдж, рдкрд░рдВрддреБ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрд╢реА рд╕рдВрдмрдВрдзрд┐рдд. рдЖрдореНрд╣реА рддреЗ рд╕реЛрдбрддреЛ.

рдЦрд╛рд▓реАрд▓ microsoft.com рдХрдбреЗ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреА рдПрдХ рд▓рд╛рдВрдмрд▓рдЪрдХ рдпрд╛рджреА рдЖрд╣реЗ. рдЖрдореНрд╣реА рддрд┐рд╕рд▒реНрдпрд╛ рд╕реНрддрд░рд╛рдкрд╛рд╕реВрди рд╕реБрд░реВ рд╣реЛрдгрд╛рд░реА рд╕рд░реНрд╡ рдбреЛрдореЗрди рдмреНрд▓реЙрдХ рдХрд░рддреЛ.

рдЕрдЧрджреА рдкрд╣рд┐рд▓реНрдпрд╛ рд╕рдмрдбреЛрдореЗрдирдЪреА рд╕рдВрдЦреНрдпрд╛
рд╣реЛрдо рдЗрдВрдЯрд░рдиреЗрдЯ рд▓рд╛рдЗрд╡реНрд╣ рдЖрдгрд┐ рдбреЛрдореЗрди рдиреЗрдо рд╕рд░реНрд╡реНрд╣рд░рдЪреА рдЖрдХрдбреЗрд╡рд╛рд░реА рдХрд╢реА рдЖрд╣реЗ?

рддрд░, рд╡рд╛рдпрд░рд▓реЗрд╕ рдЗрдВрдЯрд░рдиреЗрдЯ рдЪрд╛рд▓реВ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рдкрд╣рд┐рд▓реЗ 10 рдорд┐рдирд┐рдЯреЗ.
iOS рдиреЗ рд╕рд░реНрд╡рд╛рдзрд┐рдХ рд╕рдмрдбреЛрдореЗрди рдкреЛрд▓ рдХреЗрд▓реЗ - 32. рддреНрдпрд╛рдирдВрддрд░ Android - 24, рдирдВрддрд░ Windows - 15 рдЖрдгрд┐ рд╢реЗрд╡рдЯреА Blackberry - 9.
рдлрдХреНрдд рдлреЗрд╕рдмреБрдХ рдНрдкреНрд▓рд┐рдХреЗрд╢рди 10 рдбреЛрдореЗрди, рд╕реНрдХрд╛рдИрдк рдкреЛрд▓ 9 рдбреЛрдореЗрдирд╕рд╛рдареА рдкреЛрд▓ рдХрд░рддреЗ.

рдорд╛рд╣рд┐рддреАрдЪрд╛ рд╕реНрд░реЛрдд

рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рд╕рд╛рдареА рд╕реНрддреНрд░реЛрдд bind9 рд╕реНрдерд╛рдирд┐рдХ рд╕рд░реНрд╡реНрд╣рд░ рд▓реЙрдЧ рдлрд╛рдЗрд▓ рд╣реЛрддреА, рдЬреНрдпрд╛рдордзреНрдпреЗ рдЦрд╛рд▓реАрд▓ рд╕реНрд╡рд░реВрдк рдЖрд╣реЗ:

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)

рдлрд╛рдЗрд▓ sqlite рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рдЖрдпрд╛рдд рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрдгрд┐ SQL рдХреНрд╡реЗрд░реА рд╡рд╛рдкрд░реВрди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗрд▓реЗ рдЧреЗрд▓реЗ.
рд╕рд░реНрд╡реНрд╣рд░ рдХреЕрд╢реЗ рдореНрд╣рдгреВрди рдХрд╛рд░реНрдп рдХрд░рддреЛ; рд╡рд┐рдирдВрддреНрдпрд╛ рд░рд╛рдЙрдЯрд░рдХрдбреВрди рдпреЗрддрд╛рдд, рдореНрд╣рдгреВрди рдиреЗрд╣рдореА рдПрдХ рд╡рд┐рдирдВрддреА рдХреНрд▓рд╛рдпрдВрдЯ рдЕрд╕рддреЛ. рдПрдХ рд╕рд░рд▓реАрдХреГрдд рд╕рд╛рд░рдгреА рд░рдЪрдирд╛ рдкреБрд░реЗрд╕реЗ рдЖрд╣реЗ, рдореНрд╣рдгрдЬреЗ. рдЕрд╣рд╡рд╛рд▓рд╛рд╕рд╛рдареА рд╡рд┐рдирдВрддреАрдЪреА рд╡реЗрд│, рд╡рд┐рдирдВрддреА рд╕реНрд╡рддрдГ рдЖрдгрд┐ рдЧрдЯрдмрджреНрдз рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рджреНрд╡рд┐рддреАрдп-рд╕реНрддрд░реАрдп рдбреЛрдореЗрди рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

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

рдирд┐рд╖реНрдХрд░реНрд╖

рдЕрд╢рд╛рдкреНрд░рдХрд╛рд░реЗ, рдбреЛрдореЗрди рдиреЗрдо рд╕рд░реНрд╡реНрд╣рд░ рд▓реЙрдЧрдЪреНрдпрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рдЪреНрдпрд╛ рдкрд░рд┐рдгрд╛рдореА, 50 рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд░реЗрдХреЙрд░реНрдб рд╕реЗрдиреНрд╕реЙрд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрдгрд┐ рдмреНрд▓реЙрдХ рд▓рд┐рд╕реНрдЯрдордзреНрдпреЗ рдареЗрд╡рд▓реЗ рдЧреЗрд▓реЗ.

рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдирд┐рд░реНрдорд╛рддреНрдпрд╛рдВрджреНрд╡рд╛рд░реЗ рдХрд╛рд╣реА рдкреНрд░рд╢реНрдирд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╡рд░реНрдгрди рдХреЗрд▓реА рдЬрд╛рддреЗ рдЖрдгрд┐ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рд╡рд╛рдврд╡рддреЗ. рддрдерд╛рдкрд┐, рдмрд╣реБрддреЗрдХ рдХреНрд░рд┐рдпрд╛рдХрд▓рд╛рдк рдирд┐рд░рд╛рдзрд╛рд░ рдЖрдгрд┐ рд╢рдВрдХрд╛рд╕реНрдкрдж рдЖрд╣реЗрдд.

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛