Fiddler抓包原理
1,Fiddler抓包原理
Fiddler为什么可以抓包,Fiddler本质上是一个web代理服务器,默认的工作端口是8888
查看端口方式TOOLS->options->connections 如图所示
2,什么是代理服务器
Web 代理(Proxy Server)服务器是网络的中间实体。代理位于 Web 客户端和 Web 服务器之间,扮演“中间人”的角色。HTTP的代理服务器既是Web服务器又是Web客户端
3,代理服务器是网络信息的中转站,它具有以下功能
(1)共享网络。能解决仅仅有一条线路、一个公有 IP的问题。在公有 IP资源严重不
足的情况下,可以满足局域网大量用户同时共享上网的需求。
(2)提高了访问速度。因为大部分的代理服务器都有缓冲功能,可以直接读取,无须再连接到远程 Web 服务器。这样可以达到加快访问网站的速度、节约通信带宽的目的。
(3)突破了访问限制。当访问权限受到限制时,可以使用有权限的代理服务器。
(4)隐藏身份。内部网的用户要对外发布信息,就需要使用代理服务器的反向代理功
能。这样就不会影响内部网络的安全性能,起到隐藏身份的目的。
4,Fiddler工作原理
Fiddler 是以代理 Web 服务器的形式工作的,它使用代理地址: 127001,端口:8888
Fiddler启动的时候,会偷偷地把 Intemet选项中的代理修改为127001,端口:8888
当Fiddler 退出的时候,它会自动在 Intemet选项中取消代理,这样就不会影响别的程序。
如果Fiddler 非正常退出,这时候因为 Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动 Fiddler。
5,查看Internet 选项代理设置
1,先启动 Fiddler,打开控制面板,找到Internet属性,然后选择连接->局域网设置高级,可以看到代理服务器地址已经被Fiddler 设置为127001:8888 了。
2,关闭Fiddler,可以看到代理服务器地址已经取消了。
6,Fiddler可以捕获那些设备的HTTP数据包
任何支持代理的HTTP 请求都能被 Fiddler 捕获到,首先 Fiddler 能捕获各种浏览器,比如IE、Firefox、Chrome 发出来的数据包。
Fiddler 还能捕获各种移动设备,比如 Android 手机、苹果手机、iPad 等发出的数据包。
Fiddler能捕获任何程序发出来的HTTP/HTTPS请求,只要这个程序支持Web代理服务器即可。
比如Fiddler能抓到QQ发出的包,当然QQ中发的聊天消息是抓不到的,因为QQ中的聊天信息使用的是OICQ协议,不是HTTP协议。
我们可以将巨大的互联网比作成一张网络蜘蛛网,而网络爬虫便是在蜘蛛网上爬行的蜘蛛,把网的节点描述成为网页,我们将每日任务需求借助客户端电脑发出命令,而ip便是被执行的角色,ip带着每日任务借助因特网抵达终端服务器寻找客户端交代的每日任务,一个一个节点便是一个一个网页,如此蜘蛛借助一个节点之后,就可以沿着几点连线继续爬行抵达下个节点。也就说借助一个网页继续抓取。
爬虫首要便是要抓取终端服务器的网页,也就是抓取到网页的源代码,源代码包中抓取到实用的信息,就将实用的源代码获取,提取每日任务中所需的信息。
ip将抓取到实用的信息回到到客户端存储,随后再返回去,不断频繁的访问获得信息直到完成任务。因此ip便是负责带着每日任务寻找有价值的信息,随后将抓取到的有价值的信息数据负责带回(传输)到客户端,直到完成任务。
WWW的核心——HTTP协议
众所周知,Internet的基本协议是TCP/IP协议,目前广泛采用的FTP、Archie Gopher等是建立在TCP/IP协议之上的应用层协议,不同的协议对应着不同的应用。<BR> WWW服务器使用的主要协议是HTTP协议,即超文体传输协议。由于HTTP协议支持的服务不限于WWW,还可以是其它服务,因而HTTP协议允许用户在统一的界面下,采用不同的协议访问不同的服务,如FTP、Archie、SMTP、NNTP等。另外,HTTP协议还可用于名字服务器和分布式对象管理。
21 HTTP协议简介
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/10的第六版,HTTP/11的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。
HTTP协议的主要特点可概括如下:
1支持客户/服务器模式。
2简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。
由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
3灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
4无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
5无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量龃蟆A硪环矫妫�诜�衿鞑恍枰�惹靶畔⑹彼�挠Υ鹁徒峡臁
22 HTTP协议的几个重要概念
1连接(Connection):一个传输层的实际环流,它是建立在两个相互通讯的应用程序之间。
2消息(Message):HTTP通讯的基本单位,包括一个结构化的八元组序列并通过连接传输。
3请求(Request):一个从客户端到服务器的请求信息包括应用于资源的方法、资源的标识符和协议的版本号
4响应(Response):一个从服务器返回的信息包括HTTP协议的版本号、请求的状态(例如“成功”或“没找到”)和文档的MIME类型。
5资源(Resource):由URI标识的网络数据对象或服务。
6实体(Entity):数据资源或来自服务资源的回映的一种特殊表示方法,它可能被包围在一个请求或响应信息中。一个实体包括实体头信息和实体的本身内容。
7客户机(Client):一个为发送请求目的而建立连接的应用程序。
8用户代理(User agent):初始化一个请求的客户机。它们是浏览器、编辑器或其它用户工具。
9服务器(Server):一个接受连接并对请求返回信息的应用程序。
10源服务器(Origin server):是一个给定资源可以在其上驻留或被创建的服务器。
11代理(Proxy):一个中间程序,它可以充当一个服务器,也可以充当一个客户机,为其它客户机建立请求。请求是通过可能的翻译在内部或经过传递到其它的服务器中。一个代理在发送请求信息之前,必须解释并且如果可能重写它。
代理经常作为通过防火墙的客户机端的门户,代理还可以作为一个帮助应用来通过协议处理没有被用户代理完成的请求。
12网关(Gateway):一个作为其它服务器中间媒介的服务器。与代理不同的是,网关接受请求就好象对被请求的资源来说它就是源服务器;发出请求的客户机并没有意识到它在同网关打交道。
网关经常作为通过防火墙的服务器端的门户,网关还可以作为一个协议翻译器以便存取那些存储在非HTTP系统中的资源。
13通道(Tunnel):是作为两个连接中继的中介程序。一旦激活,通道便被认为不属于HTTP通讯,尽管通道可能是被一个HTTP请求初始化的。当被中继的连接两端关闭时,通道便消失。当一个门户(Portal)必须存在或中介(Intermediary)不能解释中继的通讯时通道被经常使用。
14缓存(Cache):反应信息的局域存储。
Apache是世界使用排名第一的Web服务器。它可以运行在几乎所有广泛使用的计算机平台上。
Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如Amazoncom、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。
Apache的诞生极富有戏剧性。当NCSA WWW服务器项目停顿后,那些使用NCSA WWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。
Apache服务器拥有以下特性:
支持最新的HTTP/11通信协议
拥有简单而强有力的基于文件的配置过程
支持通用网关接口
支持基于IP和基于域名的虚拟主机
支持多种方式的HTTP认证
集成Perl处理模块
集成代理服务器模块
支持实时监视服务器状态和定制服务器日志
支持服务器端包含指令(SSI)
支持安全Socket层(SSL)
提供用户会话过程的跟踪
支持FastCGI
通过第三方模块可以支持Java Servlets
如果你准备选择Web服务器,毫无疑问Apache是你的最佳选择
电子邮件服务器工作原理:
1) 发件人用户代理撰写电子邮件,点击“发送邮件”,发送邮件的 工作交个用户代理来完成,用户代理用SMTP协议发给发送方服务器,用户代理充当SMTP客户,发送服务器充当SMTP服务器;发送之前建立TCP连接;
2) SMTP服务器收到客户端发送来的邮件,将其放到邮件缓冲队 列中,等待发送到接收发的服务器中;
3) 发送服务器的SMTP客户端与接收服务器的SMTP服务器建立 TCP连接,然后把缓冲队列中的邮件发到目的服务器;
4) 运行在接收方服务器的SMTP服务器进程收到邮件后,把邮件 发如收件人信箱,等待读取;
5) 收件人打开计算机,运行客户端软件,使用POP3(IMAP)协 议读取邮件。
邮件服务器采用的是客户端服务器模式,其工作过程如下图所示:
(说明:一个电子邮件系统有三个主要构件组成:用户代理(客户端应用程序),邮件服务器,邮件发送和邮件接收协议)
代理服务器(Proxy)是网络信息的中转站,比方说HTTP代理服务器。我们使用网络浏览器直接链接其他Internet站点并取得网络信息时,需送出Request信号来得到回答,然后对方再把信息传送回来。代理服务器是介于浏览器和Web服务器之间的一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,Request信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你。而且大部分代理服务器都具有缓冲功能,就好像一个大Cache,它不断将新取得的数据包存到它本机的存储器上,如果浏览器所请求的数据在它本机的存储器上已经存在而且是最新的,那么它就不重新从Web服务器取数据,而直接将存储器上的数据传送给用户的浏览器,这样就能显著提高浏览速度和效率。除此之外还有SOCKS代理服务器,其原理大同小异。
主要功能
1)设置用户验证和记账功能,可按用户进行记账,没有登记的用户无权通过代理服务器访问Internet网。并对用户的访问时间、访问地点、信息流量进行统计。2)对用户进行分级管理,设置不同用户的访问权限,对外界或内部的Internet地址进行过滤,设置不同的访问权限。
3)增加缓冲器(Cache),提高访问速度,对经常访问的地址创建缓冲区,大大提高热门站点的访问效率。通常代理服务器都设置一个较大的硬盘缓冲区(可能高达几个GB或更大),当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,以提高访问速度。
(4)连接内网与Internet,充当防火墙(Firewall):因为所有内部网的用户通过代理服务器访问外界时,只映射为一个IP地址,所以外界不能直接访问到内部网;同时可以设置IP地址过滤,限制内部网对外部的访问权限。
(5)节省IP开销:代理服务器允许使用大量的伪IP地址,节约网上资源,即用代理服务器可以减少对IP地址的需求,对于使用局域网方式接入Internet ,如果为局域网(LAN)内的每一个用户都申请一个IP地址,其费用可想而知。但使用代理服务器后,只需代理服务器上有一个合法的IP地址,LAN内其他用户可以使用10这样的私有IP地址,这样可以节约大量的IP,降低网络的维护成本。
0条评论