我们在做渗透测试时,需要知道互联网中是如何处理客户端与服务器端之间的请求的。本文转载一篇文章详解介绍了一次web请求过程的处理。
我们要了解一下Internet中一台计算机访问Web服务器的全部过程,从中可以窥探Internet是如何工作的,本讲主要是想让大家明网络是怎样交付数据、寻址等,即Internet的基本工作原理。
一、网络环境说明
本次网络通信试验采用PacketTracer 5.0思科网络模拟软件。此次模拟环境中使用5个路由器连接两个以太网,其中192.168.2.0/24网段为服务器,192.168.2.1为DNS服务器,192.168.2.2为Web服务器,域名为www.senya.org.cn,192.168.2.3为TFTP服务器,192.168.1.0/24网段为Client
PC,其网关为192.168.1.254。每个路由器使用RIP路由协议发现路由。
PC0要实现访问,必须经过以下两个大方向处理。
一、把域名www.senya.org.cn解析为IP地址,这就要使用DNS协议,向DNS服务器查询域为www.senya.org.cn的IP地址。
实现过程如下:
以上就是一台计算机访问Web服务器某一个页面的详细全过程。在上面的叙述中引出了许多计算机网络的概念名词,比如:TCP协议、UDP协议、DNS协议、端口号等等。当我们在浏览器的URL地址栏内输入网址时,很快就看网页的内容了,实际上计算机、网络设备做了大量的工作来完成我们的任务。计算机之间通信是复杂的,在通信时各个计算机要遵守一些规则,这些规则就被称为协议。我们当前的Internet使用的是TCP/IP协议套件。由于计算机通信非常复杂,解决复杂的问题要采用分解法,把复杂的问题、按某种原则进行分类、分层次去解决,因此计算机网络协议是分层次的。这样就会形成一个协议集合,在这个协议集中每个协各施其职,互相协同完成计算机通信。这样就会更容易完成任。
三、计算机相互之间的通信
互联网的关键技术就是TCP/IP协议。两台计算机之间的通信是通过TCP/IP协议在因特网上进行的。实际上这个是两个协议:TCP : Transmission Control Protocol 传输控制协,IP协议: InternetProtocol 网际协议。
IP协议负责计算机之间的通信,是计算机用来相互识别的通信的一种机制,每台计算机都有一个IP,用来在internet上标识这台计算机。 IP 负责在因特网上发送和接收数据包。通过IP协议,消息(或者其他数据)被分割为小的独立的包,并通过因特网在计算机之间传送。IP 负责将每个包路由至它的目的地。IP协议仅仅是允许计算机相互发消息,但它并不检查消息是否以发送的次序到达而且没有损坏(只检查关键的头数据)。为了提供消息检验功能,直接在IP协议上设计了传输控制协议TCP。
TCP协议应用程序之间的通信,TCP确保数据包以正确的次序到达,并且尝试确认数据包的内容没有改变。TCP在IP地址之上引端口(port),它允许计算机通过网络提供各种服务。一些端口号为不同的服务保留,而且这些端口号是众所周知。
服务或者守护进程:在提供服务的机器上,有程序监听特定端口上的通信流。例如大多数电子邮件通信流出现在端口25上,用于wwww的HTTP通信流出现在80端口上。
实际的运行流程:当应用程序希望通过TCP 与另一个应用程序通信时,它会发送一个通信请求。这个请求必须被送到一个确切的地址。在双方“握手”之后,TCP 将在两个应用程序之间建立一个全双工 (full-duplex) 的通信,占用两个计算机之间整个的通信线路。TCP 用于从应用程序到网络的数据传输控制。TCP 负责在数据传送之前将它们分割为 IP 包,然后在它们到达的时候将它们重组。
TCP/IP就是TCP 和 IP 两个协议在一起协同工作,有上下层次的关系。TCP 负责应用软件(比如你的浏览器)和网络软件之间的通信。IP 负责计算机之间的通信。TCP 负责将数据分割并装入 IP 包,IP 负责将包发送至接受者,传输过程要经IP路由器负责根据通信量、网络中的错误或者其他参数来进行正确地寻址,然后在它们到达的时候重新组合它们。
原文地址:http://blog.csdn.net/boer521314/article/details/41460865