HTTPS的理解

1.Socket?后学习------------------------------------------------------------------------------------
DES加密***************************各种加密]后学习


2.TCP协议

https://blog.csdn.net/qq_14935437/article/details/71081546 Iso 七层模型

OSI的层次划分:OSI将计算机网络体系结构(architecture)划分为以下七层:

1、物理层 Physical Layer

 物理接口规范,传输比特流,网卡是工作在物理层的。

2、数据链路层 Data Link Layer

  成帧,保证帧的无误传输,MAC地址,形成EHTHERNET帧

3、网络层 Network Layer

  路由选择,流量控制,IP地址,形成IP包

4、传输层 Transport Layer

  端口地址,如HTTP对应80端口。TCP和UDP工作于该层,还有就是差错校验和流量控制。

5、会话层 Session Layer

  组织两个会话进程之间的通信,并管理数据的交换使用NETBIOS和WINSOCK协议。QQ等软件进行 通讯因该是工作在会话层的。

6、表示层 Presentation Layer

  使得不同操作系统之间通信成为可能。

7、应用层 Application Layer

https://blog.csdn.net/wangcheng2013/article/details/38944217 wireshark 检测握手

https://baike.baidu.com/item/TCP/33012。3次握手。

https://www.jianshu.com/p/ef892323e68f。断开4次挥手

实验 https://jingyan.baidu.com/album/c35dbcb0866b698916fcbc81.html

实验。https://blog.csdn.net/wangcheng2013/article/details/38944217

HTTPS实验 https://blog.csdn.net/u010726042/article/details/53408077

修改建立TCP连接的超时时间

建立TCP连接需要经过三次握手:主动端先发送SYN报文,被动放回应SYN+ACK报文,然后主动端再回应ACK。 [2]

l在主动端发送SYN后,如果被动端一直不回应SYN+ACK报文,主动端会不断的重传SYN报文直到超过一定的重传次数或超时时间。 [2]

l在主动端发送SYN后,被动端回应SYN+ACK报文,但主动端不再回复ACK,被动端也会一直重传直到超过一定的重传次数或超时时间。(SYN报文攻击会出现这种情况) [2]

可以通过以下命令配置SYN报文的超时时间(发送SYN报文到三次握手成功的最大时间),也就是建立TCP连接的超时时间。

wireshark使用

![屏幕快照 2018-05-16 下午6.15.16.png](https://upload-images.jianshu.io/upload_images/636362-a5a6621054c4b834.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

https://www.cnblogs.com/Mr-zyh/p/7684726.html

https://blog.csdn.net/dongnaosenlu/article/details/76393381

https://blog.csdn.net/done58/article/details/50996680。HttpTCP/IP协议与Socket之间的区别

wireshark使用

wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。

为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。

wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容,总结,如果是处理HTTP,HTTPS 还是用Fiddler, 其他协议比如TCP,UDP 就用wireshark

1.http

HTTP协议:简单对象访问协议,对应于应用层 ,HTTP协议是基于TCP连接的

tcp协议: 对应于传输层

ip协议: 对应于网络层

http连接:http连接就是所谓的短连接,即客户端向服务器端发送一次请求,服务器端响应后连接即会断掉;

socket连接:socket连接就是所谓的长连接,理论上客户端和服务器端一旦建立起连接将不会主动断掉;但是由于各种环境因素可能会是连接断开,比如说:服务器端或客户端主机down了,网络故障,或者两者之间长时间没有数据传输,网络防火墙可能会断开该连接以释放网络资源。所以当一个socket连接中没有数据的传输,那么为了维持连接需要发送心跳消息~~具体心跳消息格式是开发者自己定义的。

1TCP/IP连接

手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。 建立起一个TCP连接需要经过“三次握手”: 第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。断开连接时服务器和客户端均可以主动发起断开TCP连接的请求,断开过程需要经过“四次握手”(过程就不细写了,就是服务器和客户端交互,最终确定断开).

2HTTP连接

HTTP协议即超文本传送协议(Hypertext Transfer Protocol ),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用。

HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。

1)在HTTP 1.0中,客户端的每次请求都要求建立一次单独的连接,在处理完本次请求后,就自动释放连接。

2)在HTTP 1.1中则可以在一次连接中处理多个请求,并且多个请求可以重叠进行,不需要等待一个请求结束后再发送下一个请求。

由于HTTP在每次请求结束后都会主动释放连接,因此HTTP连接是一种“短连接”,要保持客户端程序的在线状态,需要不断地向服务器发起连接请求。通常的做法是即时不需要获得任何数据,客户端也保持每隔一段固定的时间向服务器发送一次“保持连接”的请求,服务器在收到该请求后对客户端进行回复,表明知道客户端“在线”。若服务器长时间无法收到客户端的请求,则认为客户端“下线”,若客户端长时间无法收到服务器的回复,则认为网络已经断开。

3SOCKET原理

3.1套接字(socket)概念

套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。

应用层通过传输层进行数据通信时,TCP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程序进程可能需要通过同一个 TCP协议端口传输数据。为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了套接字(Socket)接口。应用层可以和传输层通过Socket接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。

3.2 建立socket连接

建立Socket连接至少需要一对套接字,其中一个运行于客户端,称为ClientSocket ,另一个运行于服务器端,称为ServerSocket 。

套接字之间的连接过程分为三个步骤:服务器监听,客户端请求,连接确认。

服务器监听:服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态,等待客户端的连接请求。

客户端请求:指客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。

连接确认:当服务器端套接字监听到或者说接收到客户端套接字的连接请求时,就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,双方就正式建立连接。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。

SSL

https://baike.baidu.com/item/ssl/320778?fr=aladdin

https://www.aliyun.com/jiaocheng/305168.html SSL协议详解阿里云

https://baike.baidu.com/item/DES/210508?fr=aladdinDES加密***************************各种加密

https://www.cnblogs.com/lixiaoxu/articles/7736917.html///等待加深

【HTTP】HTTPS 原理详解
https://www.zhihu.com/question/22779469.
https://www.cnblogs.com/lixiaoxu/articles/7736917.html///等待加深

https://blog.csdn.net/tangxiaoyin/article/details/80121405

http://baijiahao.baidu.com/s?id=1570143475599137&wfr=spider&for=pc

https://www.jianshu.com/p/7359cc732bc5

http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html 阮一峰

在SSL中会用到分组DES、三重DES算法等加密算法对数据进行加密。当然可以选用其他非DES加密算法,视情况而定,后面会详细介绍。

5、简单的总结:

在SSL中会使用密钥交换算法交换密钥;使用密钥对数据进行加密;使用散列算法对数据的完整性进行验证,使用数字证书证明自己的身份。好了,下面开始介绍SSL协议。

https 握手其实是ssl 的握手,不是tcp的握手。也就是ssl存在在传输层和应用层之间 ssl的握手在传输层上面,到了传输层也会tcp握手的

SSL的工作原理

握手协议(Handshake protocol)

记录协议(Record protocol)

警报协议(Alert protocol)

https 不同前缀。

HTTPS实验 https://blog.csdn.net/u010726042/article/details/53408077

1.https:// 证明用SSL加密的,客户端与服务器之间发的消息传输将更加安全,SSL+HTTP协议构建的可进行加密传输,身份认证的网络协议。

https协议需要到ca申请证书,一般免费证书很少,需要交费,

2.端口也不一样,前者是80 后者443端口。


HTTPS的理解_第1张图片
屏幕快照 2018-05-16 下午6.15.16.png

你可能感兴趣的:(HTTPS的理解)