ஹோம் இன்டர்நெட் லைவ் மற்றும் டொமைன் பெயர் சர்வர் புள்ளிவிவரங்கள் எப்படி?

ஒரு வீட்டு திசைவி (இந்த விஷயத்தில் FritzBox) நிறைய பதிவு செய்ய முடியும்: எவ்வளவு ட்ராஃபிக் எப்போது செல்கிறது, யார் எந்த வேகத்தில் இணைக்கப்பட்டுள்ளனர், முதலியன. உள்ளூர் நெட்வொர்க்கில் உள்ள டொமைன் பெயர் சர்வர் (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'))

இரவில், வயர்லெஸ் அணுகல் முடக்கப்பட்டுள்ளது மற்றும் சாதன செயல்பாடு எதிர்பார்க்கப்படுகிறது, அதாவது. தெரியாத களங்களுக்கு வாக்கெடுப்பு இல்லை. இதன் பொருள் ஆண்ட்ராய்டு, iOS மற்றும் பிளாக்பெர்ரி 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 - ஆஃபீஸ் 365 ஐக் குறிக்கிறது, சரியான விளக்கத்தை என்னால் கண்டுபிடிக்க முடியவில்லை.
browser.pipe.aria.microsoft.com - சரியான விளக்கத்தை என்னால் கண்டுபிடிக்க முடியவில்லை.
இரண்டையும் தடுக்கிறோம்.

connect.facebook.net - Facebook அரட்டை பயன்பாடு. எஞ்சியிருக்கிறது.

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 இணைப்பை உள்நுழைவுப் பக்கத்தின் முன்னிலையில் சரிபார்க்கிறது.
பயன்பாடு செயலில் இயங்கவில்லை என்றாலும், சிட்ரிக்ஸ் அதன் சேவையகத்தை பிங் செய்கிறது.
சைமென்டெக் சான்றிதழ்களை சரிபார்க்கிறது.
Mozilla புதுப்பிப்புகளைச் சரிபார்க்கிறது, இருப்பினும் அமைப்புகளில் இதைச் செய்ய வேண்டாம் என்று நான் கேட்டேன்.

mmo.de ஒரு கேமிங் சேவை. பெரும்பாலும் கோரிக்கை facebook அரட்டை மூலம் தொடங்கப்பட்டிருக்கலாம். நாங்கள் தடுக்கிறோம்.

ஆப்பிள் அதன் அனைத்து சேவைகளையும் செயல்படுத்தும். api-glb-fra.smoot.apple.com - விளக்கத்தின் மூலம் ஆராயும்போது, ​​ஒவ்வொரு பொத்தான் கிளிக்களும் தேடுபொறி மேம்படுத்தல் நோக்கங்களுக்காக இங்கு அனுப்பப்படும். மிகவும் சந்தேகத்திற்குரியது, ஆனால் செயல்பாட்டுடன் தொடர்புடையது. அதை விட்டு விடுகிறோம்.

microsoft.com க்கான கோரிக்கைகளின் நீண்ட பட்டியல் பின்வருமாறு. மூன்றாம் நிலை முதல் அனைத்து டொமைன்களையும் நாங்கள் தடுக்கிறோம்.

முதல் துணை டொமைன்களின் எண்ணிக்கை
ஹோம் இன்டர்நெட் லைவ் மற்றும் டொமைன் பெயர் சர்வர் புள்ளிவிவரங்கள் எப்படி?

எனவே, வயர்லெஸ் இணையத்தை இயக்கும் முதல் 10 நிமிடங்கள்.
iOS பெரும்பாலான துணை டொமைன்கள் - 32. ஆண்ட்ராய்டு - 24, பின்னர் விண்டோஸ் - 15 மற்றும் கடைசியாக பிளாக்பெர்ரி - 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

கருத்தைச் சேர்