秋式广告杀手技术分享:网络请求基础知识

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

最近园子里,关于.net门槛的文章风风火火,不过这类事情每过段时间就会出来一次,所以酱油都懒的打了。

当然个人也是有想法的,特别是这两天碰巧和一个三四年经验的java开发者呆在一起,对方说.net就是拉拉控件时,我还是很严厉的批评了对方,用自己比对方更具的丰富知识,重新引导对方对.net的看法。

不知道是谁在传播这种.net纯控件论,而且这么传播的这个“谁",一定是个新手,所以建议新手,就不要整天跑外面乱吹了,好好学知识去吧。

对于老手,在对新手进行知识传播时,特别是刚教授新学拉控件的时候,一定要讲下.net的精深,告诉他们学的是皮毛,没事不要乱吹自己有多厉害,做人要谦虚。

现在我们看下知识点:

现在很多开发的书,它们只讲.net的原理的开发手法,所以很多人只局域在.net的开发,光这样,到达100级也无法成功转职的。

试问其它语言(java) 和.net有啥不同?

不同的只是同样是初级,人家比你多懂点form标签属性的method属性有Get、Post等,action的属性可以指定数据传输到哪个页面。

而.net的新手从控件入门的不懂,其实,新手只要顺带再学一下html,了解下基础Http协议,基本可以完胜java,所以教人控件的导师们,教的时候,除了引导学生对比查看前后生成的html和aspx之外,form属性,也要特别的花精力说一下。

如果你再了解一下下面的知识,就可以秒杀同级java选手了,至少不会乱吹啥.net只是xxx。

跳出.net的领域,我们回归一下,浏览器输出域名之后,发生了什么事?

搜搜互联网,也许同样的标题,你可以找出的只是后半段的事,今天这里,给大伙补充下前半段的事:

1:浏览器那点事:

浏览器是什么?其实就是一个高效的代理,负责帮用户请求特定的网址,然后解析并呈现。

几个必须说明的是:

浏览器监听的端口不是80:

通常是1024以上,而且会开好几个,(用心想想,这么多浏览器,一起开的时候,都从80端口来,那不是乱套了)

所以从本机发出的请求,不是80端口,比较多是10000号以上的端口。

学会查找一个进程对应开的端口:

打开任务管理器,查看进程对应的PID(如果默认没显示,在任务管理器的选项里找,然后打勾)

tp1

接着,打开cmd:输入netstat -nao -p tcp,往下拉:

发现找不到了,所以就不截图了,所以这里就得反着说了,为啥找不到了?因为浏览器进程的端口目前没有活动,回收了。

所以,你反过来找,通过端口找到PID,再回去找相应的进程,就一定有对应的进程。 

目前阶段,秋式广告杀手在广告屏蔽上,取了一定的成效,以最高效的方式的,屏蔽了广告,又不影响网络。

不过只能处理域名方式,有些广告是IP形式出现的,软件暂时不能处理,这着实让我有点想法。


所以我最近就在想,想一些网络请求的执行流程:

当我们在浏览器输入一个网址的时候?发生了什么事?

如果你去搜网络,会告诉你一些本机之外的事情,这里我就讲一下我知道的,本机之内的事情:

1:浏览器拿到你的域名请求,要怎么处理,是浏览器的事了, 不过正规的都会按以下流程办事:

把域名解析为IP:

如何解析呢?

1:查找浏览器自身的DNS缓存表。

2:查找系统Hosts文件。

3:查询系统缓存(不知道这个有没有,我只是好像大概也许可能听说过)

4:请求本机DNS指向的服务器。

 

 

所以大伙看到,秋式广告杀手在开启,调整完Hosts文件之后,需要重启下浏览器的原因,就是因为浏览器自身有DNS缓存表,不重启,指向的还是旧的IP。

每种浏览器,都有自身一种清空DNS缓存表的机制:

像IE,可以设置注册表来禁止,

像Chrome,可以在浏览器通过特殊命令调出窗口,再清除。

像Firefox,可以在选项里直接设置。 

不同浏览器对于清空或禁止DNS缓存表都有自己的一套,所以,秋式广告杀手,只处理了像IE,通过注册表就可以处理的事情。

另外其它浏览器,无法直接用代码操作,你总不能去教用户怎么设置吧?还不如告诉用户重启浏览器的操作,就显的更为简单了。


如果选择步骤一上拦截:那么就得弄成浏览器插件了, 通过写浏览器插件,你可以掌握到用户第一手的请求,也可以对用户请求后的东西进行修改再返回;

写浏览器插件,应该是最理想的做法,但是你得懂一点浏览器插件语言的东西,学一学新的知识。美中不足的是,写出来的软件,只适用这单独的一种浏览器。

如果要全面有效,还得不停的针对浏览器写插件,然后再告诉用户,每种浏览器都给我装上一个,这样就OK了。。。。 

再不成,就自己写个浏览器了,浏览器,不用内置的ie组件,自己能不能写?

能写,有个三五年经验的人都能写,别说自己不会(现有的互联网,技术都是散落的,就怕你组合)

但写出来考虑的因素特多:效率、性能、呈现、解析、速度,综合起来,估计就得是千年老龟。。。

所以。。。自己玩玩,算是一种技术研究学习,倒也没啥不可。。。 

 

 

正如上面四个步骤,Hosts是排在第二位的,不过Hosts只能一条一条的写入,好在要拦截的并不多。 

对于步骤三,基本是没想啥法,操作系统缓存,目前还没意图。

对于通过修改本机DNS指向自己的服务器,这样一来,的确可以做很多事,不过对于本人这点资金实力,往后期想,也负担不起这种责任。

因为所有的请求都会到你服务器,你要负责所有的解析,要是自己服务器挂了,累大伙上不了网,不被骂死也被口水淹死。

说了这么多,一来是要告诉大伙,软件为什么选择了hosts方式。

 

从一讲到四,都是说域名,那IP咋拦截?

这里又得给大伙讲点我所知道的网络知识:

1:IP包 先查路由表(找到数据要发送到哪个IP(网关))。

2:再查arp表(要把IP换成MAC地址)。

3:物理硬件把数据传到网关(把数据送到MAC地址上去)

4: 到了网关(开包,然后循环123找下一个发送点)


除了以上的,还有好多通过设置是可以阻止IP请求的,这些设置,具体是1234的前中后,哪一步拦截的?

留给大伙想。

如果我们要阻止某个IP的请求,我们可以怎么做?

1:修改路由表,把指定的ID,忽悠到一个不存在的网关去,这样IP送不出去,自然就实现了屏蔽的功能。

2:修改arp表,把网关的地址,忽悠一个不存在的地址,这样,恭喜,你断网了。。哈哈。

3:拦截网卡的数据,数据总是要从一个网卡跳到另一个网卡的,通过拦截网卡的数据,这就回到了上面说的全局拦截了。

4:网关拦截(这通常就是路由器了,除了特定的路由器提供拦截设置外,哥们也掌控不到)

这里就得说了,你要开了规则限制,等于全局拦截检测了,网速难免会慢一些的,虽然路由器的算法很高效。

 

所以,下一次增加的功能,应该会从路由表出发,限制特定的IP,到鬼门关去,让它回不来。

 

另外要说一下的,经常电信或其它宽带会弹广告,我们习惯性的会说,是DNS拦截弹的广告。。

我就在想啊。。这DNS拦截,这DNS拦截,最多也就指向新的IP,也不至于能修改数据吧,总不能DNS服务器,还负责帮你请求数据,再插入广告吧?

所以哥是这样想的:能拦截请求的,只有电信或其它宽带网关(它才是数据进进出出的窗口,只有这里拦截,返回时再插入广告)

所以DNS拦截弹广告,是不是错误的让人以为,DNS也能是实现广告返回?

如果DNS真能修改请求后的数据,插入广告,那软件回归DNS拦截,不是更爽朗。。。。 

所以是不是应该换个名,叫电信网关拦截弹广告之类的。。。。 


本人非网络专业,以上对网络的忽悠及见解,纯属个人认知,不代表权威,若有错误的,欢迎批评指正。

版权声明:本文原创发表于博客园,作者为路过秋天,原文链接:http://www.cnblogs.com/cyq1162/archive/2012/11/25/2787770.html

相关文章
|
6月前
|
机器学习/深度学习 存储 自然语言处理
程序与技术分享:DeepMemoryNetwork深度记忆网络
程序与技术分享:DeepMemoryNetwork深度记忆网络
|
5月前
|
机器学习/深度学习 安全 网络安全
利用深度学习优化网络安全:技术分享与实践指南数字时代的守护者:网络安全漏洞、加密技术与安全意识的深度剖析
随着信息技术的飞速发展,网络安全问题日益凸显。传统防护措施面对复杂多变的网络攻击手段逐渐显得力不从心。本文将深入探讨如何通过深度学习技术提升网络安全防护能力,分析其在识别和预防潜在网络威胁方面的有效性,并结合实际案例,为读者提供一套可行的技术实施方案。 在数字化浪潮中,网络安全成为维护信息完整性、保密性和可用性的关键。本文深入探讨了网络安全的三大支柱:网络漏洞的识别与防护、加密技术的演进与应用、以及安全意识的培养与提升。通过分析最新的研究数据和案例,揭示这些要素如何共同构建起防御网络威胁的坚固堡垒。
|
6月前
|
存储 网络协议 数据建模
程序与技术分享:2021年第一届“东软杯”网络安全CTF竞赛
程序与技术分享:2021年第一届“东软杯”网络安全CTF竞赛
|
7月前
|
网络协议 定位技术 网络安全
【技术分享】网络介绍
【1月更文挑战第3天】Network Study系列
134 1
|
7月前
【技术分享】网络基本篇-第一话
【1月更文挑战第2天】为了让大家更容易理解网络这个无形的东西,我将用几个章节来分享网络初级入门的知识。让我们来一起学习吧。
85 0
|
7月前
|
网络协议 安全 数据安全/隐私保护
【技术分享】探索网络世界,开启无限可能
【1月更文挑战第1天】从网络基础学习
104 0
|
机器学习/深度学习 存储 DataWorks
图神经网络 GNN 框架 Graph-Learn 技术分享|学习笔记
快速学习图神经网络 GNN 框架 Graph-Learn 技术分享。
696 0
图神经网络 GNN 框架 Graph-Learn 技术分享|学习笔记
|
弹性计算 安全 网络安全
捷讯技术分享经典网络和专有网络的区别
阿里云面向客户提供的网络类型服务有经典网络和专有网络两种,但是看到大家有很多人在问专有网络和经典网络有什么区别?这里捷讯小编简单的给大家整理下这两种网络类型的区别。
3115 0
|
BI API 开发者
UWP 应用获取各类系统、用户信息 (2) - 商店授权信息、零售演示模式信息、广告 ID、EAS 设备信息、硬件识别信息、移动网络信息
原文:UWP 应用获取各类系统、用户信息 (2) - 商店授权信息、零售演示模式信息、广告 ID、EAS 设备信息、硬件识别信息、移动网络信息 应用开发中,开发者时常需要获取一些系统、用户信息用于数据统计遥测、问题反馈、用户识别等功能。
1628 0

热门文章

最新文章