访问请求的后台操作、ip和域名(详解)


1.当请求网站时,后台发生的操作

首先我们访问一个网站,输入目标网站的域名,但是本机不认识域名,机器之间不会用英语对话哈,他们的识别靠的是ip地址,

1.所以这时候要做域名解析,也就是从域名解析出目标ip地址的过程。首先机器会在本地存储的hosts文件中查找常用的ip地址,如果没有找到,则需要dns解析,dns是一个存储域名和ip地址之间映射的数据库系统,查找方式是向上分级查找,好这样就可以找到目标的ip地址了,但是仅有目的地,还不知道怎么去,所以还需要知道中转站点。

2.也就是我们发送的请求包需要通过哪些路由器,这个是由ospf路由算法协议决定的。Ospf算法可以帮助我们找到最佳的路由传输路线,有了路线之后就可以发送请求了。

3.ip协议决定了我们出发站和终点站,而ospf协议解决了路线问题,那么如何到达下一个站点呢?这个工作是由arp协议完成的,arp协议则负责路由之间的运送,寻找下一个路由。

4.以上工作都完成之后,我们仍然不能确保报文和消息发送过去后,被服务器稳定的接收到。这时候面向连接的可靠的tcp协议就发挥作用了,通过与服务器的三次握手建立一个稳定的连接。

5.终于和服务器建立稳定连接了,之后就可以发送请求了,此时http协议的请求信息将通过tcpip网络模型的层层封装,发送给服务器,服务器接受之后,解析并且做出响应,回送http响应包,到达本机后,本机再层层解封装,到达应用层,被浏览器所使用。

6.得到的响应包中是一些HTML文件,其中可能会引用各种其他文件,针对这些web服务器端再加载相应的模块,得到对应信息后经过浏览器的渲染,就呈现出我们所看到的页面。

7.当不再需要交互时,则做出tcp的四次挥手,断开与服务器的连接。

 

以下则是上述过程中工作的协议详解

DNS地址解析协议:域名解析,也就是从域名解析出目标ip地址的过程。首先机器会在本地存储的hosts文件中查找常用的ip地址,如果没有找到,则需要dns解析,dns是一个存储域名和ip地址之间映射的数据库系统,查找方式是向上分级查找。

 

Ospf协议:开放式最短路径优先(Open Shortest Path First,OSPF),是广泛使用的一种动态路由协议,负责管控与形成区域网络拓朴结构。

1.当网络结构发生变化时,链路变化或者是路由器的增删,相关的路由器会产生链路状态广播数据包(LSA),该数据包包括链路上的路由器状态信息。

2.路由器之间通过泛洪机制交换链路状态信息:泛洪机制,就是一方面接受ospf相邻路由器传来的信息,同时向相邻的路由器发送状态信息,根据其更新自己的连接情况数据库。

3.以这种泛洪机制,逐渐收敛,从而形成一个完整的网络路由器拓朴结构数据库,同时结构内的各个路由器都已经均保持了一个该信息数据库的副本。

4.形成路由表:所有的路由器根据连接信息计算出最短路径,来形成各自的路由表,使用时就可以直接根据ospf形成的路由表确定传输路径。

Ospf的传输有三种验证方式:

1.无验证:交换信息时没有做相互认证。

2.口令验证:交换信息时,利用口令做相互认证

3.密码验证:OSPF协议使用的签名算法是MD5算法

针对ospf验证方式的攻击

1.无验证:交换信息时不做相互认证,攻击者可以直接窃取信息。

2.口令验证:由于在传输过程中,数据和口令都是以明文形式传输的,所以攻击者可以利用线路分析仪窃取口令

3.密码验证:MD5签名算法在04年被山大王小云攻破,那么这种签名认证也是不可靠的。

基于上述验证攻击之后,还有一种篡改报文攻击。

路由器的ospf协议会定时相邻路由器发送hello报文,以发现新邻居或者维护现有邻居信息,如果我们已经攻破了认证,那么就可以篡改这些hello报文,从而改变路由器的邻居情况,例如删除它的邻居从而孤立它 。或者修改指定路由器身份,导致ospf需要频繁的进行路由器选举,从而消耗路由器的资源。

 

 

Arp协议:地址解析协议,即ARP(Address Resolution Protocol)

作用是将目标的ip地址解析成通信目标的物理地址(也就是mac地址),从而保证通信的顺利进行。

Arp在请求时,本身是有一定缓存的,当请求访问一个ip地址,arp会现在缓存中查找是否有记录的ip地址和mac地址的映射,如果有则直接利用,如果没有,再将本机的ip的mac和目标ip广播到本地网络上,本地网络接受到数据包,将比对目标ip地址,如果符合,它将记录发送方的ip和mac,同时返送自己的mac,这样发送方就得到了目标的mac地址,从而保证通信的正常进行。

Arp欺骗攻击因为arp协议的工作前提时本地网络上的各个主机是相互信任的,所以在存储ip和mac映射时,不会加以认证。所以攻击者可以利用这个信任,向其他主机发送伪装的arp报文,而其他主机处于信任,会直接存储报文中的映射,这样就会影响ip地址和mac地址的映射,造成发送信息时无法到达预期主机或到达错误的主机。这种攻击方式叫做arp欺骗。

 

 

Tcp协议:传输控制协议(TCP,Transmission Control Protocol)

是一种面向连接的、可靠的、基于字节流的传输层通信协议。

三次握手:申请连接方发送一个报文给服务器。

服务器收到后,因为此时发送方并不确定服务器已经稳定收到了自己的消息,所以服务器回送报文给发送方

发送方接受报文后,确定服务器可以收到自己的消息,但服务器此时不确定发送方可以收到自己的消息。

所以发送方再发送第三个报文,告知服务器,你的消息我也可以正常收到。

这样三次报文交换,就可以相互确立一个稳定的信道。称为建立连接的三次握手。

四次挥手:发送端请求断开连接,发送一个fin服务器端收到后,因为此时缓冲区内可能还有未发送完成的数据,所以服务器发送一个ack,告知发送端你的终止请求我收到了,但是数据可能还没发完,所以可能不会立马关闭套接字,此时有一个等待。之后再发送fin的同步,表示我要关闭了。发送端收到后,回送一个相应ack,如此双方就安全完整的断开连接了,不用担心有漏发的报文。

之所以建立连接需要三次握手,而断开连接需要四次握手,是因为建立连接时的ack和syn可以同步发送,一个负责响应,一个负责同步。而断开连接时,由于可能有报文尚未发送完毕,ack和fin之间,会有一个等待。先响应,后同步,相当于握手中的第二步,被分成了两步。

2.ip地址和域名

什么是IP地址?ip地址是用来标识互联网上计算机的一串数字,就相当于计算机在互联网上的身份证。每台机器交互的时候利用ip地址来相互识别。

什么是域名?因为ip地址是全数字,由机器识别的,对于用户来说不容易记忆,所以演化出了用符号化的地址来代替数字型的地址,这个符号化的地址就是域名。

什么是URL?统一资源定位符。俗称“网址”

DNS:域名相比于IP地址来说比较好记忆,但是机器之间只能互相认识IP地址,所以我们需要将域名转化为IP地址。

而这个转化的工作我们将其称为域名解析,域名解析需要由专门的服务器来完成,而DNS就是专门的域名解析服务器,域名的最终指向是IP。

URL:统一资源定位符。俗称“网址”,网址的格式为:<协议>://<域名或IP>:<端口>/<路径>。<协议>://<域名或IP>是必需的,<端口>/<路径>有时可省略


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM