家用路由器(在本例中为FritzBox)知道如何进行大量注册:发送多少流量,以何种速度连接谁等。 为了找出隐藏在陌生地址下的内容,我得到了本地网络上的域名服务器(DNS)的帮助。
通常,DNS对家庭网络有积极影响:增加了速度,弹性和可管理性。
下面的图表提出了一些问题,并且需要了解正在发生的事情。 结果已经过滤掉了对域名服务器的众所周知且有效的查询。
为什么每天在休眠状态下对60个晦涩的域进行轮询?
每天,活动时间中都会轮询440个未知域。 他们是谁,他们在做什么?
每小时平均每日搜寻量

SQL报告请求WITH CLS AS ( 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 strftime('%H:00', datetime(EVENT_DT, 'unixepoch')) ORDER BY strftime('%H:00', datetime(EVENT_DT, 'unixepoch'))
在晚上,无线访问被禁用,并且预期设备会活动,即 没有对模糊域的调查。 这意味着大多数活动来自具有操作系统(例如Android,iOS和Blackberry OS)的设备。
列出正在密集轮询的域。 强度将由诸如每天的请求数,活动的天数以及一天中注意到了多少小时之类的参数确定。
所有预期的嫌疑犯都出现在名单上。
密集轮询的域

SQL报告请求 WITH CLS AS ( 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
我们阻止ic.blackberry.com和iceberg.blackberry.com,出于安全原因,制造商会对此加以辩解。 结果:当您尝试连接到WLAN时,它将显示登录页面,并且再也不会连接。 解锁
detectportal.firefox.com是相同的机制,仅在Firefox浏览器中实现。 如有必要,登录WLAN,首先显示登录页面。 尚不清楚为什么如此频繁地ping地址,但是该机制可以从制造商处获得。
Skype。 该程序的行为类似于蠕虫:它隐藏并且不允许自己在任务栏中被杀死,它在网络上生成大量流量,每10分钟ping 4个域。 进行视频通话时,Internet连接将变得越来越好,而这时互联网连接正在不断地移动。 尽管有必要,所以它仍然存在。
upload.fp.measure.office.com-指Office 365,未找到合适的描述。
browser.pipe.aria.microsoft.com-找不到合适的描述。
两者都在阻止。
connect.facebook.net是一个Facebook聊天应用程序。 它仍然存在。
mediator.mail.ru对所有mail.ru域请求的分析显示,存在大量的广告资源和统计信息收集器,这导致不信任。 mail.ru域已完全列入黑名单。
google-analytics.com-不会影响设备的功能,因此我们将其阻止。
doubleclick.net-计算广告点击次数。 我们封锁。
许多请求都发送到googleapis.com。 封锁导致平板电脑上的短信愉快关闭,这对我来说似乎很愚蠢。 但是Playstore停止工作,因此我们将其解锁。
cloudflare.com-他们写道他们喜欢开源代码,并且通常会写很多关于自己的代码。 领域调查的强度通常远远高于Internet上的活动,但强度尚不完全清楚。 让我们暂时离开。
因此,请求的强度通常与设备的必要功能相关。 但是也发现了那些过度活跃的人。
首先
在打开无线Internet的时刻,它们仍在休眠,并且有机会查看哪些请求首先发送到网络。 因此,在6:50互联网打开,并且在前十分钟的时间段内每天轮询60个域:

SQL报告请求 WITH CLS AS ( 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
Firefox在WLAN连接中检查登录页面。
Citrix ping其服务器,尽管该应用程序未处于活动状态。
Symantec验证证书。
Mozilla检查更新,尽管在设置中他要求不执行此操作。
mmo.de是一个游戏服务。 该请求最有可能启动Facebook聊天。 我们封锁。
苹果会激活其所有服务。 api-glb-fra.smoot.apple.com-根据描述判断,此处单击的每个按钮都会发送给搜索引擎优化。 非常可疑,但与功能有关。 我们离开
以下是对microsoft.com的一长串调用。 从第三级开始,所有域都被阻止。
第一个子域的数量
因此,打开无线Internet的前10分钟。
大多数子域均由iOS-32轮询。其次是Android-24,然后是Windows-15和最后一个Blackberry-9。
仅Facebook应用程序就轮询10个域,skype轮询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 'na', TIME_NK TEXT NOT NULL DEFAULT 'na', CLI TEXT,
结论
因此,作为域名服务器日志分析的结果,审查了50多个记录并将其放在列表中以进行阻止。
软件制造商已经很好地描述了一些查询的需求,并激发了人们的信心。 但是,大多数活动是不合理和可疑的。