三次握手

Linux主机IP地址配置

时光总嘲笑我的痴心妄想 提交于 2020-04-05 17:18:05
1 简述osi七层模型和TCP/IP五层模型 osi七层模型有如下层次构成: (1) 物理层:二进制传输,为启动、维护以及关闭物理链路定义了电气规范、机械规范、过程规范和功能规范; (2) 数据链路层:定义如何格式化数据以便进行传输以及如何控制对网络的访问,支持数据帧校验; (3) 网络层:路由数据包,选择传递数据包的最佳路径,支持寻址和路径选择; (4) 传输层:确保数据传输的可靠性;建立、维护和终止虚拟电路;通过错误检测和恢复;信息流控制保障可靠性; (5) 会话层:建立、管理和终止在应用程序之间的会话; (6) 表示层:确保接受系统可以读出该数据;格式化数据;协商用于应用层的数据传输语法;提供加密; (7) 应用层:为应用程序进程(例如,电子邮件、文件传输和终端仿真)提供网络服务;提供用户身份验证; TCP/IP五层模型由物理层、数据链路层、网络层、传输层和应用层构成; 2 总结描述TCP三次握手四次挥手 TCP三次握手: (1) 客户端A发送一个初始化报文SYN=1,序列号seq=x,不携带数据;同时TCP客户进程变为SYN-SENT状态; (2) 服务B收到客户端A发送的初始化报文,将TCP进程变为SYN-RCVD状态;同时回应初始化报文SYN=1,确认ACK=1,序列号seq=y,确认已收到序号为x的报文了ack=x+1; (3)

深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 2

南楼画角 提交于 2020-04-04 08:28:23
备注 : 因为文章太长,所以将它分为三部分,本文是第二部分。 第一部分 : 深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 1 第二部分 : 深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 2 第三部分 : 深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 3 TCP连接 DNS解析返回域名的IP之后,接下来就是浏览器要和该IP建立TCP连接了。为什么是TCP而不是UDP?那是因为HTTP是基于TCP上的。这里涉及到另外一个话题:TCP/IP 模型。这个已经在大学的课本上学过了,我们再复习一下。 TCP/IP模型 TCP/IP模型一般分为4层,下面是我用PPT画的。 在这里不得不说OSI七层参考模型,它和TCP/IP模型的区别和联系,继续用PPT画,见下图: 不多解释,OSI的7/6/5层和TCP/TP的应用层对应,2/1层和链路层对应。在实际的应用中,主要还是TCP/IP概念模型,后面的内容主要讲它。 这些都是课本上的,也许忘了(毕竟不是天天用到这些嘛),没关系,我们以最简单的方式来讲解。为了便于理解每层的含义和作用,先看每层有哪些协议,看看有没有自己熟悉的协议。有熟悉的协议,先体会一下。 应用层 我们可以看到,有常用的HTTP/HTTPS/IMAP/SSH/Telnet等都在应用层上(题外话

HTTP协议

橙三吉。 提交于 2020-04-03 08:20:57
目录 HTTP协议 回到顶部 HTTP协议简介 超文本传输协议(英文:Hyper Text Transfer Protocol,HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。HTTP有很多应用,但最著名的是用于web浏览器和web服务器之间的双工通信。 HTTP的发展是由蒂姆·伯纳斯-李于1989年在欧洲核子研究组织(CERN)所发起。HTTP的标准制定由万维网协会(World Wide Web Consortium,W3C)和互联网工程任务组(Internet Engineering Task Force,IETF)进行协调,最终发布了一系列的RFC,其中最著名的是1999年6月公布的 RFC 2616,定义了HTTP协议中现今广泛使用的一个版本——HTTP 1.1。 2014年12月,互联网工程任务组(IETF)的Hypertext Transfer Protocol Bis(httpbis)工作小组将HTTP/2标准提议递交至IESG进行讨论,于2015年2月17日被批准。 HTTP/2标准于2015年5月以RFC 7540正式发表,取代HTTP 1.1成为HTTP的实现标准。 推荐书籍: HTTP权威指南 回到顶部 HTTP协议概述 HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)

在浏览器输入URL回车之后发生了什么(转载)

眉间皱痕 提交于 2020-04-02 19:24:44
转自:https://www.cnblogs.com/abdm-989/p/11979689.html#_label0 打开浏览器从输入网址到网页呈现在大家面前,背后到底发生了什么?经历怎么样的一个过程?先给大家来张总体流程图,具体步骤请看下文分解! 从URL输入到页面展现   总体来说分为以下几个过程:   (1)URL 解析   (2)DNS 解析:将域名解析成 IP 地址   (3)TCP 连接:TCP 三次握手   (4)发送 HTTP 请求   (5)服务器处理请求并响应 HTTP 报文   (6)浏览器解析渲染页面   (7)断开连接:TCP 四次挥手 一 URL解析 URL(Uniform Resource Locator),统一资源定位符,用于定位互联网上资源,俗称网址。比如 http://www.w3school.com.cn/html/index.asp ,遵守以下的语法规则:   scheme://host.domain:port/path/filename    各部分解释如下:     scheme - 定义因特网服务的类型。常见的协议有 http、https、ftp、file,其中最常见的类型是 http,而 https 则是进行加密的网络传输。     host - 定义域主机(http 的默认主机是 www)     domain - 定义因特网

31.1.http基础知识简介

瘦欲@ 提交于 2020-04-02 12:11:37
TCP/IP协议 跨网络的主机间通讯 在建立通信连接的每一端,进程间的传输要有两个标志: IP地址和端口号,合称为套接字地址 socket address 客户机套接字地址定义了一个唯一的客户进程 服务器套接字地址定义了一个唯一的服务器进程 SOCKET套接字 Socket:套接字,进程间通信IPC的一种实现,允许位于不同主机(或同一主机)上不同进程之间进行通信和数据交换,SocketAPI出现于1983年,4.2 BSD实现 Socket API:封装了内核中所提供的socket通信相关的系统调用 Socket Domain:根据其所使用的地址 AF_INET:Address Family,IPv4 AF_INET6:IPv6 AF_UNIX:同一主机上不同进程之间通信时使用 Socket Type:根据使用的传输层协议 SOCK_STREAM:流,tcp套接字,可靠地传递、面向连接 SOCK_DGRAM:数据报,udp套接字,不可靠地传递、无连接 SOCK_RAW: 裸套接字,无须tcp或udp,APP直接通过IP包通信 客户/服务器程序的套接字函数 套接字相关的系统调用: socket(): 创建一个套接字 bind(): 绑定IP和端口 listen(): 监听 accept(): 接收请求 connect(): 请求连接建立 write(): 发送 read(): 接收

TCP协议的三次握手和四次挥手

谁说胖子不能爱 提交于 2020-04-02 05:19:36
             TCP协议的三次握手和四次挥手 我们知道,TCP是主机对主机层的传输控制协议,提供可靠的连接服务,需要三次握手建立连接,而终止一个连接要经过四次挥手。 三次握手 第一次握手:客户端申请连接(SYN=1),发送seq=x的数据包,等待服务器确认。 第二次握手:服务器端申请连接(SYN=1),确认收到客户端的申请(ACK=1).;服务器期望下次收到x+1数据包(ack=x+1),发送seq=y的数据包。 第三次握手:客户端确认收到请求(SYN=1),发送服务器期望的数据包(y+1),完成连接。 四次挥手 第一次挥手:客户端请求断开连接(FIN=1),发送数据(seq=u)。 第二次挥手:确认收到请求(ACK=1),期望收到数据包(ack=u+1),发送数据(seq=v)。 第三次挥手:服务器申请断开连接(FIN=1),确认收到你之前的请求(ACK=1);期望收到数据(ack=u+1),发送数据(seq=w)。 第四次挥手:确认收到请求(ACK=1),发送数据(seq=u+1),断开连接。 为什么需要三次握手?    如果不采用“三次握手”,那么只要服务器发出确认,新的连接就建立了。由于现在客户端并没有发出建立连接的请求,因此不会理睬服务器的确认,也不会向服务器发送ACK包,但是服务端确认为新的连接开始了,等待客户端发数据,这样就会白白浪费资源。而经过三次握手

网络

删除回忆录丶 提交于 2020-04-01 13:09:13
OSI 的七层模型 应用层 :网络服务与最终用户的一个接口。HTTP、FTP、RPC 表示层: 数据的表示、安全、压缩。 会话层: 建立、管理、终止会话。 传输层: 定义传输数据的协议端口号,以及流控和差错校验。TCP、UDP 网络层: 进行逻辑地址寻址,实现不同网络之间的路径选择。IP 数据链路层: 建立逻辑连接、进行 硬件地址 寻址、差错校验等功能。MAC 物理层: 建立、维护、断开物理连接。bit流 TCP和UDP UDP在传输数据时不需要建立连接,远程的主机在接收到 UDP报文 之后不需要给出确认。 虽然提供的是不可靠交付,但是在某些情况下是一种有效的工作方式(一般用于即时通信),比如QQ语音,QQ音频,直播等等。UDP支持一对一,一对多,多对一和多对多的交互通信。 TCP在传输数据之前需要先建立连接,数据传输结束后需要释放连接。并且,不提供广播或者多播。由于TCP需要提供可靠的,面向连接的传输服务,所以会增加开销,如,确认、流量控制、计时器以及连接管理等。TCP一般用于文件的传输、发送和邮件的收发、远程登录等。 TCP特点: TCP通过检验 序列号,确认应答, 重发控制 ,连接管理以及窗口控制等机制实现可靠性传输。 通过序列号与确认应答提高可靠性(传输): TCP通过肯定的确认应答ACK实现可靠的 数据传输 。当发生端将数据发送出去之后会等待对端 的确认应答

20199307 2019-2020-2 《网络攻防实践》第五周作业

风流意气都作罢 提交于 2020-03-31 17:26:57
问题 源 作业所属课程 网络攻防实践 作业要求 https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10553 课程目标 了解网络攻防的概要 这个作业在哪个具体方面帮助我实现目标 深入了解网络嗅探、网络协议的分析 作业正文.... 见后文 其他参考资料 见后文 目录 一、实践内容 TCP/IP网络协议栈攻击概述 网络安全属性(CIA) 网络攻击基本模式 TCP/IP网络协议栈安全缺陷与攻击技术 原始报文伪造技术及工具 网络层协议攻击 IP源地址欺骗 ARP欺骗 ICMP路由重定向攻击 传输层协议攻击 TCP RST攻击(TCP重置报文攻击) TCP会话劫持攻击 TCP SYN Flood拒绝服务攻击 UDP Flood拒绝服务攻击 二、实践过程 ARP缓存欺骗攻击 ICMP重定向攻击 SYN Flood攻击 TCP RST攻击 TCP会话劫持攻击。 三、学习中遇到的问题及解决 四、实践总结 五、参考资料 一、实践内容 TCP/IP网络协议栈攻击概述 网络安全属性(CIA) 机密性(C):保一般基于加密算法,来保证网络中的信息是被授权使用。 完整性(I):信息在存储使用的过程中保持不被修改,不被破坏。 可用性(A):当信息被需要时,能够正常的存取和访问, 真实性(A):确保通信对方是它所声称的真实实体。

5.通信协议

南楼画角 提交于 2020-03-30 18:55:14
目的: 为了解决计算机之间如何交流 协议: 约定,就好比我们现在说的是普通话。如果说英语,就有人听不懂了。 网络通信协议: 速率,传输码率,代码结构,传输控制...... 问题: 非常的复杂 太多了,我们就大事化小:分层! TCP/IP协议簇:实际上是一组协议 重要的两个: TCP: 用户传输协议,就像打电话,需要建立连接,通了才能聊天。 UDP: 用户数据包协议,好比发短信,发出去就不管了。 有两个出名的协议:所以才叫TCP/IP协议簇 TCP:用户传输协议 IP:网络互连协议 TCP和UDP对比: TCP:打电话 连接,稳定 三次握手 四次挥手: 1 最少需要3次,保证稳定连接! 2 A:你瞅啥? 3 B:瞅你咋地? 4 A:干一场! 5 6 A:我要断开了! 7 B:我知道你要断开了! 8 B:你真的要断开了吗? 9 A:我真的要走了! 客户端、服务端 传输完成,释放连接,效率低 UDP:发短信 不连接,不稳定 客户端、服务端:没有明确的界限 不管有没有准备好,都可以发给你... DDOS:洪水攻击!就是我给你的电脑上,发一堆的垃圾包,造成端口堵塞,堵住了线路,于是你的网络就炸了。 来源: https://www.cnblogs.com/duanfu/p/12600104.html

HTTP协议分析

你说的曾经没有我的故事 提交于 2020-03-30 18:24:02
实验环境 操作机:Windows XP 实验目的 0、HTTP协议的基本概念及工作流程 1、捕获HTTP数据包的方法 2、分析HTTP的连接数据包 3、HTTP数据包的筛选技术 4、分析HTTP的数据传输数据包 实验工具 wireshark 实验步骤 了解HTTP工作流程 HTTP是一个 无状态 的协议。所谓的无状态指的是客户端 (Web浏览器) 和服务器之间不需要建立持久的连接。这也就意味着当一个客户端向服务器发出请求,然后服务器返回响应之后,连接也就关闭了。服务器并不会保留连接的相关信息,HTTP遵循的是 请求(Request)/应答(Response) 模型。客户端(Web浏览器)向服务器发送请求,服务器处理请求并返回适当的应答。所有的HTTP连接都被构造成一套请求和应答。在这个过程中要经历4个阶段,包括建立连接、发送请求信息、发送响应信息和关闭连接,如下图所示: 由上图可知, HTTP的工作流程 为: 1、客户端通过TCP的三次握手建立与服务器的连接。 2、当TCP连接成功建立后,客户端向服务器发送HTTP请求。 3、服务器收到客户端的HTTP请求后,将回复响应数据包,并向客户端发送数据。 4、客户端通过TCP四次握手,与服务器断开TCP连接。 HTTP连接数据包的捕获 刚才说了,HTTP需要使用TCP的三次握手来建立连接