Day01:基础入门-概念名词

1、域名

比如:www.aishang.com

域名种类:

顶级域名:

无赞助:.biz .com .edu .gov .info .int .mil .name .net .org .pro .xyz
赞助:.aero .cat .coop .jobs .museum .travel .mobi .asia .tel .xxx
基本架构:.arpa .root .tel
审批阶段:.post
申请阶段:.geo .kid .mail .sco .web
删除/退休:.nato
预留:.example .invalid .localhost .test
伪域名:.bitnet .csnet .local .onion .uucp Others

常用域名:

.com- 供商业机构使用,但无限制最常用,被大部分人熟悉和使用
.net- 1985年1月,原供网络服务供应商使用,现无限制
.org- 1985年1月,原供不属于其他通用顶级域类别的组织使用,现无限制
.edu / .gov / .mil- 1985年1月,供美国教育机构/美国政府机关/

国家代码顶级域名:

.ac .ad .ae .af .ag .ai .al .am .an .ao .aq .ar .as .at .au .aw .az
.ba .bb .bd .be .bf .bg .bh .bi .bj .bm .bn .bo .br .bs .bt .bv .bw .by .bz
.ca .cc .cd .cf .cg .ch .ci .ck .cl .cm .cn .co .cr .cu .cv .cx .cy .cz
.de .dj .dk .dm .do .dz

使用中:
.cn代表中国,以.cn结尾即中国国内域名,适用于其国内各机构、企业,常称为英文国内顶级域名,.CN类英文域名。

二级域名

就是最靠近顶级域名左侧的字段。如:zh.wikipedia.org中,wikipedia就是二级域名。

三级域名

即最靠近二级域名左侧的字段,从右向左便可依次有四级域名、五级域名等等。举个正在使用中的三级域名的实例,www.ncic.ac.cn,其中www前缀表明此域名对应着万维网服务,每一级域名由英文半角句号分区,“ncic”作为三级域名是“ac.cn”的子域名。

2、IP

id地址就是一个唯一标识。是一段网络编码(二进制)由32位组成

11010010.01001001.10001100.00000110        转换为点分十进制如下:
210.73.140.4                                     点分十进制

IP地址形式:x.x.x.x 范围:0-255

如:
正确:10.1.1.1   192.168.1.1
错误:300.1.1.1

3、简单局域网的构成

局域网(Local Area Network,LAN)是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、电子邮件和传真通信服务等功能。局域网是封闭型的,可以由办公室内的两台计算机组成,也可以由一个公司内的上千台计算机组成。

在这里插入图片描述

交换机是组成局域网的重要设备,但是交换机并不能让设备上网,路由器可以实现设备上网。

局域网:一般称为内网。

简单局域网的构成:交换机、网线、PC。

交换机:用来组建内网的局域网设备。

4、子网掩码

局域网通信规则:在同一个局域网中所有的IP必须在同一网段中才可以互为通信。

IP地址构成:网络位+主机位(网络位相同的IP地址,为同一网段)

子网掩码如何确定网络位:与255对应的数字为网络位,与0对应的数字为主机位。

255.0.0.0
255.255.0.0
255.255.255.0

在这里插入图片描述

网络位:10.0.0
主机位:.1
属于网段:10.0.0.0
广播地址:10.0.0.255
网段可用的IP地址范围:10.0.0.1-10.0.0.254
本地回环地址:127.0.0.1

注意:一个IP地址必须配套一个子网掩码。
总结:当主机位全部置0代表网段,主机位全部置255代表该网段的广播地址。

192.168.1.101
192.168.1是网段
101主机位
主机位0  255  不能用  
当主机位写成0  就变成网段  10.1.1.0  255.255.255.0
最后一位255  变成该网段广播地址  这个网段所有人

5、IP地址详解

国际标准组织ISO定义地址分类:五大类(是以IP地址的第一位进行区分的)
A类:1-126 默认子网掩码:255.0.0.0
B类:128-191 默认子网掩码255.255.0.0
C类:192-223 默认子网掩码:255.255.255.0
D类:224-239 组播地址
E类:240-254 科研使用

如:
10.0.0.1  属于A类
192.168.1.1 属于C类


10.1.1.255 -> 255.255.0.0 这个ip是可以用的
10.1.255.255 这个不能用

6、网关

网关:一个网络的出口,Gateway=GW,一般网关是在路由器上

路由器:可用连接外网的设备。

在这里插入图片描述

网关的配置全球默认配置可用IP范围的第一个或者最后一个:

192.168.0.1
192.168.0.254

在这里插入图片描述

PC向外发包:
1、首先判断目标IP地址与自己是否在同一网段。
2、如在同一网段,则直接发出去,而不找网关。
3、如不在同一网段,则直接发包给网关。

7、DNS

DNS:Domain Name Service 域名服务器

域名系统(Domain Name System,DNS)是Internet上解决网上机器命名的一种系统。就像拜访朋友要先知道别人家怎么走一样,Internet上当一台主机要访问另外一台主机时,必须首先获知其地址,TCP/IP中的IP地址是由四段以“.”分开的数字组成,记起来总是不如名字那么方便,所以,就采用了域名系统来管理名字和IP的对应关系。

作用:通过域名解析真实网络IP地址

在这里插入图片描述

先从本地查找(hosts文件),找不到再用网络DNS解析

例如:

ping www.baidu.com

得到解析后的ip为 220.181.38.150

我们可以修改host文件,配置

192.168.83.101  www.baidu.com

这是在ping 百度的时候 解析的地址就为192.168.83.101

8、CDN

CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。

简单来讲,cdn就是用来加速的,他能让用户就近访问数据,这样就更更快的获取到需要的数据。举个例子,现在服务器在北京,深圳的用户想要获取服务器上的数据就需要跨越一个很远的距离,这显然就比北京的用户访问北京的服务器速度要慢。但是现在我们在深圳建立一个cdn服务器,上面缓存住一些数据,深圳用户访问时先访问这个cdn服务器,如果服务器上有用户请求的数据就可以直接返回,这样速度就大大的提升了。

比如 我们ping 一下 优酷 ,对于不同地区的人,显示的IP地址应该是不一样的

ping www.youku.com

我这里得到的 IP -> 106.11.43.107

我们可以使用超级ping 查看下

http://ping.chinaz.com/

在这里插入图片描述
在这里插入图片描述

dns与cdn的关系

我们怎么知道用户的所在位置从而给他分配最佳的cdn节点呢。这就需要dns服务来进行定位了。当我们通过使用dns服务的时候,可以根据他使用的LDNS(LDNS 即用户本地DNS, CDN 调度系统会通过这个ip来给用户分配CDN 节点)服务器来进行一个定位,例如我们的调度服务器看到他是来自深圳电信的LDNS服务器,那么我们就认为该用户来自深圳电信,然后调度服务器可以让该用户去访问深圳电信的CDN服务器,这样就让用户访问到了最优的cdn节点。

通过dns服务我们可以很快的定位到用户的位置,然后给用户分配最佳cdn节点,但是这种调度方式存在一个问题,例如,当我 是北京联通的用户但是使用的却是深圳电信的ldns的话,调度服务器会给我分配到深圳电信的cdn服务器,这样就产生了错误的调度。

扩展:
对于网站的请求报文都会经过CDN厂商的节点(不做特殊操作的情况下)。因此安全隐患全都集中在了CDN厂商的节点上。一般一个节点会提供N多个网站的加速。不管是360、腾讯、百度还是新浪,只要使用了商业化的CDN,就相当于孤注一掷,将自己的部分安全交给CDN厂商。

一旦攻击者控制了CDN厂商节点就可以轻易的进行抓包并分析。对于CDN厂商来说,毕竟不是专业的安全公司,所以在防护方面肯定会有所不足CDN厂商节点遍布全国,数量众
多,很难保证每个节点的安全性(再不行可试下ARP欺骗,从同段IP搞起)

脚本语言

jsp、asp、php、python等

比如在网页中搜索 后缀名为.jsp结尾的 网站页面

inurl:.jsp
inurl:login.jsp

获取登陆界面

网站的构成

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http

HTTP是一个基于TCP/IP通信协议来传递数据的协议,传输的数据类型为HTML 文件,、图片文件, 查询结果等。

HTTP协议一般用于B/S架构()。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。

我们以访问百度为例:

在这里插入图片描述
HTTP特点

http协议支持客户端/服务端模式,也是一种请求/响应模式的协议。

简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。

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

无连接:限制每次连接只处理一个请求。服务器处理完请求,并收到客户的应答后,即断开连接,但是却不利于客户端与服务器保持会话连接,为了弥补这种不足,产生了两项记录http状态的技术,一个叫做Cookie,一个叫做Session。

无状态:无状态是指协议对于事务处理没有记忆,后续处理需要前面的信息,则必须重传。

在这里插入图片描述

什么是HTTPS?

为了解决上述HTTP存在的问题,就用到了HTTPS。

HTTPS 协议(HyperText Transfer Protocol over Secure Socket Layer):一般理解为HTTP+SSL/TLS,通过 SSL证书来验证服务器的身份,并为浏览器和服务器之间的通信进行加密。

那么SSL又是什么?

SSL(Secure Socket Layer,安全套接字层):1994年为 Netscape 所研发,SSL 协议位于 TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。

TLS(Transport Layer Security,传输层安全):其前身是 SSL,它最初的几个版本(SSL 1.0、SSL 2.0、SSL 3.0)由网景公司开发,1999年从 3.1 开始被 IETF 标准化并改名,发展至今已经有 TLS 1.0、TLS 1.1、TLS 1.2 三个版本。SSL3.0和TLS1.0由于存在安全漏洞,已经很少被使用到。TLS 1.3 改动会比较大,目前还在草案阶段,目前使用最广泛的是TLS 1.1、TLS 1.2。

浏览器在使用HTTPS传输数据的流程是什么?
在这里插入图片描述

总结HTTPS和HTTP的区别

HTTPS是HTTP协议的安全版本,HTTP协议的数据传输是明文的,是不安全的,HTTPS使用了SSL/TLS协议进行了加密处理。
http和https使用连接方式不同,默认端口也不一样,http是80,https是443。

http请求报文和响应报文

请求报文
在这里插入图片描述
起始行
在请求报文中,起始行包括了3个部分:

请求的方法(POST)
请求的URL(/cgi-bin/qqshow_user_props_info)
协议类型及版本(HTTP/1.1)

请求方法

在本例中请求的方法是POST,http中请求方法有以下8种(其中比较常用的是GET,POST,HEAD)
GET和POST之间的区别

GET方法的数据参数是暴露在起始行的URL中的,而POST方法的数据参数是在报文主体中的。
GET方法相对来说没有POST安全,因为它的数据参数可以直接从URL中获取,但是GET的效率更高。
GET方法的数据参数大小有一定的限制(1024)(原因也是因为它的数据参数是放在URL中的),而POST对数据大小是没有限制的。

其实他们的本质区别是GET是从服务器上请求数据,而POST是向服务器发送数据

头部

以下只列出部分请求报文头部所独有的信息:

Client-IP:提供了运行客户端的机器的IP地址
From:提供了客户端用户的E-mail地址
Host:给出了接收请求的服务器的主机名和端口号
Referer:提供了包含当前请求URI的文档的URL
UA-Color:提供了与客户端显示器的显示颜色有关的信息
UA-CPU:给出了客户端CPU的类型或制造商
UA-OS:给出了运行在客户端机器上的操作系统名称及版本
User-Agent:将发起请求的应用程序名称告知服务器       
Accept:告诉服务器能够发送哪些媒体类型
Accept-Charset:告诉服务器能够发送哪些字符集
Accept-Encoding:告诉服务器能够发送哪些编码方式
Accept-Language:告诉服务器能够发送哪些语言
TE:告诉服务器可以使用那些扩展传输编码
Expect:允许客户端列出某请求所要求的服务器行为
Range:如果服务器支持范围请求,就请求资源的指定范围
Cookie:客户端用它向服务器传送数据
Cookie2:用来说明请求端支持的cookie版本

应答报文

和上面一样,下面是我用wireshark捕获到的一个http应答报文
在这里插入图片描述

起始行

应答报文的起始行也包含了3个部分
协议类型及版本号
状态码
状态码的文字描述

状态码

在http协议中,状态码被分为了5大类

100~199(信息性状态码)
200~299(成功状态码)
300~399(重定向状态码)
400~499(客户端错误状态码)
500~599(服务器端错误状态码)

常见的状态码

100:继续 客户端应当继续发送请求。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。

101: 转换协议 在发送完这个响应最后的空行后,将会切换到在Upgrade 消息头中定义的那些协议。只有在切换新的协议更有好处的时候才应该采取类似措施。

102:继续处理 由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。

200:请求成功 处理方式:获得响应的内容,进行处理

201:请求完成,结果是创建了新资源。新创建资源的URI可在响应的实体中得到 处理方式:爬虫中不会遇到

202:请求被接受,但处理尚未完成 处理方式:阻塞等待

204:服务器端已经实现了请求,但是没有返回新的信 息。如果客户是用户,则无须为此更新自身的文档视图。 处理方式:丢弃

300:该状态码不被HTTP/1.0的应用程序直接使用, 只是作为3XX类型回应的默认解释。存在多个可用的被请求资源。 处理方式:若程序中能够处理,则进行进一步处理,如果程序中不能处理,则丢弃 
301:请求到的资源都会分配一个永久的URL,这样就可以在将来通过该URL来访问此资源 处理方式:重定向到分配的URL

302:请求到的资源在一个不同的URL处临时保存 处理方式:重定向到临时的URL

304:请求的资源未更新

400:非法请求

401:未授权 处理方式:丢弃

403:禁止 处理方式:丢弃

404:没有找到 处理方式:丢弃

500:服务器内部错误 服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在的源代码出现错误时出现。

501:服务器无法识别 服务器不支持当前请求所需要的某个功能。当服务器无法识别请求的方法,并且无法支持其对任何资源的请求。

502:错误网关 作为网关或者工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。

503:服务出错 由于临时的维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢复。

头部

响应报文首部提供的额外信息:

Age:(从最初创建开始)响应持续时间

Public:服务器为其资源支持的请求方法列表

Retry-After:如果资源不可用的话,在此日期或时间重试

Server:服务器应用程序软件的名称和版本

Title:对HTML文档来说,就是HTML文档的源端给出的标题

Warning:比原因短语更详细一些的警告报文

Accept-Ranges:对此资源来说,服务器可接受的范围类型

Vary:服务器会根据这些首部的内容挑选出最适合的资源版本发送给客户端

Proxy-Authenticate:来自代理的对客户端的质询列表

Set-Cookie:在客户端设置数据,以便服务器对客户端进行标识

Set-Cookie2:与Set-Cookie类似

WWW-Authenticate:来自服务器的对客户端的质询列表
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值