铁柱学渗透01—Web服务器通讯原理

层楼终究误少年,自由早晚乱余生!

大家好,我叫王铁柱,是大一的安全小白。有点小目标,想要成为一名优秀的渗透测试工程师。从今天开始陆陆续续的会更新的一些自己从零开始学习web渗透测试的一些知识,希望对大家能够起到一些积极地作用!

在这里插入图片描述
让我来开始学习渗透到第一章吧!
Web服务器通讯原理
首先嘛,我们要了解什么是服务器。

“服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。服务器的构成包括处理器、硬盘、内存、系统总线等。”

看到这个概念是不是一脸懵逼,
在这里插入图片描述
其实简单点讲,服务器呢就是一个24小时开机的电脑,当你去访问百度的时候,就是在和百度的服务器进行信息交互。
现在的主流服务器都是linux系统的(如centOS,Debin,Ubantu)它的优点很多:

  • 体积小,像windows系统需要2GB左右才能流畅运行,linux仅仅需要256MB,就能很流畅的运行,极大的节约了系统资源。(是不是看着就香!)
  • 开源。开放源代码是linux最有用的特点,有人说是最好的学习平台。绝大多数的源代码都能看见,学习编程语言如有神助。同时开放源代码,也有助于从事计算机行业的人对其中的软件进行深度开发!
  • 免费,不同于 windows系统市面上的linux系统都是免费的(白嫖最香定理成立)
    那么当我们看到一个操作系统应该如何区分是linux还是windows呢?

最最最简单的操作是看绝对路径,是否有盘符。
举一个栗子:
windows:C:\Users\TUA。
linux:/home/wangtiezhu/。
你看带c盘这样的就一定是windows反之就是linux。
再来区分一个概念:绝对路径和相对路径(以后有用)
*绝对路径:*从盘符开始的路径,这是一个完整的路径
例如:C:\Users\TUA\Roaming
*相对路径:*相对于项目目录的路径,这是一个便捷的路径。
例如:当你在Roaming这个目录中,这个目录里有一个a.txt文件那么a.txt就相当于一个相对路路径。
在这里插入图片描述
IP(互联网协议地址):格式:x.x.x.x(0<=x<=255)他是电脑的地址,别人可以根据它,找到你的电脑。类似于日常生活中你在购物的时候填写的收件地址。
*这里有两种网络地址

  • 公网:是由运营商分配的,可以再百度通过ip地址查询查询到。相当于生活中的xx省xx市xx县xx街道xxx。(告诉你们两个小秘密
    百度IP 14.215.177.39 阿里云:114.114.114.114)
  • 子网:是有路由器分配的,只可以相同内网才能访问。相当于在一个酒店中的门牌号。(为啥只有相同内网才能访问,可以这么理解,子网是一个酒店的门牌号401,你只告诉你在401别人当然找不到你啦。)子网是由一定范围的
    10.0.0.0–10.255.255.255
    172.16.0.0–172.31.255.255
    192.168.0.0–192.168.255.255。
    DNS协议是什么?

DNS 是一个应用层协议,域名系统 (DNS) 的作用是将人类可读的域名 (如,www.example.com) 转换为机器可读的 IP 地址 (如,192.0.2.44)。DNS 协议建立在 UDP 或 TCP 协议之上,默认使用 53 号端口。客户端默认通过 UDP 协议进行通讯,但是由于广域网中不适合传输过大的 UDP 数据包,因此规定当报文长度超过了 512 字节时,应转换为使用 TCP 协议进行数据传输。

简单来说:DNS协议是一个翻译官,它负责把www.baidui.com这种域名转换成14.215.177.39的ip地址传输给服务器查询使用。
什么是域名呢?

域名(英语:Domain Name),又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。

www.baidui.com就是一个域名,域名通过DNS协议依存于ip地址存在的,目的是方便用户记忆使用。
域名分为三级:一级域名,二级域名,三级域名。
有几个点就是几级域名比如 baidu.com就是一级域名。域名越短越好记忆,因此一级域名是需要购买的。(唉呀妈呀,也太会赚钱了!)
什么是端口?

"端口"是英文port的意译,可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。例如计算机中的80端口、21端口、23端口等。

我们可以吧端口理解为 门。当你去拜访别人的时候是不是需要先敲门,计算机也是同样的道理,你在访问别人的网站点时候,就要通过他的端口。

如果把IP地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536(即:2^16)个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535(2^16-1)。这里-1是因为0是预留端口,一般不会被使用。
在这里插入图片描述
我们可以使用cmd netstat -an 能够查看本机端口。
电脑的端口在默认情况下是固定的,不同的服务对应着不同的端口。
重要的端口:3389,445,3306,1433,80,443
80:主要是跑http协议。
443:主要是跑https协议。
什么是http协议?

Http协议即超文本传送协议 (HTTP-Hypertext transfer protocol) 。它定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。从层次的角度看,HTTP是面向(transaction-oriented)应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。并且详细的规定了客户端浏览器与服务器之间互相通信的规则。

主要特点
1、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

2、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

3.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

4.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
5、支持B/S及C/S模式。
在这里插入图片描述
这是一段http协议的报文:

GET /wxisme HTTP/1.1  
Host: www.cnblogs.com 
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; zh-CN; rv:1.8.1) Gecko/20061010 Firefox/2.0  

Get:我们能够直接看到传参数据是啥,他会出现在地址栏?后面,相当于我们去超市购物的时候东西那在手里。
post:是类似于get的一个请求头,他是相当于去超市购物,售货员给了你一个黑色塑料袋,即传参数据变多了,而且不会显示在地址栏中。
host:是我们访问的域名。
User-Aget:;参数是告诉别人你的浏览器是什么,你是用的什么系统。
在这里插入图片描述
下面让我们从访客角度看网页浏览器:

  1. 用户来浏览器输入 协议://域名 , 如:http://www.vmware.co
  2. 用户浏览器通过系统->向DNS服务器查询域名对应的IP地址。
  3. 用户浏览器用查询到的IP地址向web服务器发起HTTP请求。
  4. 服务器分析用户请求,从中提取数据,处理后返回一个HTTP响应 。
  5. 浏览器收到响应后,从中提取状态,协议编码,正文的有效信息,然后翻译成人类能够直观理解的图形界面并显示。

什么是DNS服务器呢?

DNS服务器是Domain Name System或者Domain Name Service的缩写,指的是计算机域名系统,主要由两部分组成,一个是解析器另一个是域名服务器。DNS服务器的主要作用就是能将域名地址转换成网络能识别人ip地址,接着就能进行网络通讯了,也就是你能访问这个网站了。

他就相当于一个中介(但是这个中介商不收差价)。
在这里插入图片描述

今天就写到这里,以后会陆续更新,本人由于自身局限性,可能存在错误,希望大家批评指正。

发布了16 篇原创文章 · 获赞 3 · 访问量 419

猜你喜欢

转载自blog.csdn.net/qq_23321269/article/details/105578146
今日推荐