TCP实战抓包分析 TCP实战抓包分析学习资源 小林coding 2022.4.8显形网络包tcpdump 仅支持命令行使用 常在linux种抓取和分析网络包Wireshark 除了可以抓包 还提供了可视化分析网络包的图形界面三次握手分析TCP第一次握手 SYN丢包 RTO翻倍增长TCP第二次握手 SYN ACK丢包客户端发起SYN后 防火墙屏蔽数据包 超时 重传SYN包客户端收到客户的SYN包后 回SYN ACK包 客户端一直没有回ACK 服务端超时重传 SYN ACK客户端超时
TCP重传 滑动窗口 流量控制 拥塞控制 TCP重传 滑动窗口 流量控制 拥塞控制学习资源 小林coding 2022.4.7重传机制TCP实现可靠传输的方式之一 通过序列号与确认应答TCP 当发送端的数据到达接受主机时 接收端主机回返回一个确认应答消息表示已收到消息TCP针对数据包丢失的情况 会使用重传机制解决常见的重传机制超时重传快速重传SACKD-SACK超时重传在发送数据时 设定一个定时器 超过时间没有收到对方的ACK确认 就会重发该数据数据包丢失确认应答丢失超时时间应该设置为多少RTT(
HTTP三次握手四次挥手面试题 HTTP三次握手四次挥手面试题学习资源 小林coding 2022.4.6 哇 好多 QAQTCP基本认识TCP格式源端口号 目的端口号 各2字节 确定发送的起始和目标结束位置序列号 建立连接时间由计算机生成的随机数作为其初始值 通过SYN包传给接收端的主机每发送一次数据 就累加一次该数据字节数的大小 解决网络包乱序的问题确认应答号 指下一次期望收到的数据的序列号 发送端收到这个确认应答之后可以认为在这个序号之前的数据都已经被正常接受 用来解决丢包的问题控制位A
HTTP/3特性 HTTP/3特性学习资源 小林coding 2022.4.5HTTP/3现在还未正式退出 从2017年开始 HTTP/3已经更新到34个草案基本的特性已经确定HTTP/2缺点优点头部压缩二进制编码多路复用浏览器推送缺陷队头阻塞TCP TLS 握手延迟网络迁移 需要重新连接队头阻塞HTTP/2多个请求跑在一个TCP连接中 当TCP丢包时 整个TCP包都要等待重传会阻塞该TCP连接中的所有请求TCP是字节流协议 保证收到的字节数据是完整且有序的 如果序列号低的在网络
HTTP/2优势在哪 HTTP/2优势在哪学习资源 小林coding 2022.4.4HTTP/1.1性能问题消息大小变大资源变多内容形式多样实时性要求高HTTP/1.1高延迟 -> 影响用户体验延迟难以下降并发数量有限 每个连接TCP TLS握手 TCP慢启动队头阻塞 同一连接只能在完成一个HTTP事务(请求和响应)后 才能处理下一个事务HTTP头部巨大且重复 HTTP-> 无状态协议 每一个请求都需要携带HTTP头部 尤其是对于有cookie的头部不支持服务器推送信息 客户端需要
HTTPS如何优化 HTTPS如何优化学习资源 小林coding 2022.4.3HTTPS 提高了安全性 也带来了性能的消耗HTTPS 比 HTTP 多出了TLS协议握手的过程 为了通过非堆成加密握手协商或者交换出对称加密密钥 时间最长可以花费掉两RTT 接着后续传输的应用数据 都得使用堆成加密密钥来加密/解密分析性能损耗两个环节:TLS协议握手过程握手之后的对称报文加密传输第一环节: TLS协议握手过程增加了网络延时 (最长2RTT)握手过程的一些步骤也会产生性能损耗对于ECDHE密钥协商算法
HTTPS ECDHE 握手解析 HTTPS ECDHE 握手解析学习资源 : 小林coding 2022.4.2 蓝桥杯加油!HTTPS 常用的密钥交换算法 RSA 和 ECDHERSA: 传统 不具备前向安全性ECDHE:具有前向安全 被广泛使用离散对数ECDHE密钥协商算法从DH算法演进过来DH算法: 非对称加密算法 因此可以用于密钥交换 该算法的核心数学思想是离散对数指数和对数互为反函数 指数是幂运算 对数是指数的逆运算对数运算的取值是可以连续的 而离散对数的取值是不能连续的 因此取名 离散离散对数是对数运算
HTTPS RSA 握手解析 HTTPS RSA 握手解析TLS握手过程HTTP 明文传输 客户端与服务器通信的信息是肉眼可见 抓包可以截取通信内容安全风险:窃听风险篡改风险冒充风险HTTPS在HTTP与TCP层之间加入了TLS协议 来解决上述的风险TLS协议是如何解决HTTP的风险呢?信息加密校验机制身份证书在进行HTTP通信前 需要先进行TLS握手记录是TLS收发数据的基本单位多个记录可以组合成一个TCP包发送通常经过四个消息就可以完成TLS握手 也就是需要2个RTT时延密钥交换算法:性能
面试题:HTTP/1.1如何优化 HTTP/1.1如何优化学习资源 小林coding 2022.3.31可以使用KeepAlive将HTTP从短连接改为长连接从底层传输层出发 通过减少TCP连接建立和断开的次数 减少网络的延迟 从而提高协议的传输效率三种优化思想尽量避免发送HTTP请求在需要发送HTTP请求时 考虑如何减少请求次数减少服务器的HTTP响应的数据大小如何避免发送HTTP请求HTTP请求 客户端和服务器交互数据对于一些具有重复性的HTTP请求 -> 每次获取数据一样 -> 缓存至本地 -
HTTP常见面试题 HTTP常见面试题学习资源 小林coding 2022.3.30HTTP基本概念HTTP是什么?HTTP 超文本传输协议超文本 传输 协议 三部分 协议:HTTP是用在计算机中的协议 使用计算机能够理解的语言确立了一种计算机之间交流通信的规范(两个以上参与者),以及相关控制和错误处理的方式(行为约定和规范) 传输: HTTP 双向协议 数据两端之间传输 允许中转与接力 HTTP是一个在计算机世界里面专门用来在两点间传输数据的约定和规范 超文本 -&g
Linux系统是如何收发网络包的 Linux系统是如何收发网络包的参考资源 小林coding 2022.3.29OSI网络模型解决不同设备网络互联中的兼容性问题 -> 解决不同设备在网络互联中的兼容性问题国际标准化组织制定了 开放式系统互联通信参考模型 -> OSI网络模型该模型一共有七层应用层 负责给应用程序提供统一的接口表示层 负责把数据转换成兼容另一个系统能识别的格式会话层 负责建立 管理 终止表现层实体之间的通信会话传输层 负责端到端的数据传输网络层 负责数据的路由 转发 分片数据链路层 负责
面试题:从输入网址到网页显示 期间发生了什么 面试题:从输入网址到网页显示 期间发生了什么学习资源 小林coding 2022.3.28网络拓扑模型HTTP浏览器 -> 解析URLURL 元素组成: 协议+//+服务器名称+资源(文件)路径名URL -> 统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。当具体文件省略时 访问根目录下事先设置的默认文件 即为 /index.html /default.html 避免混乱解析URL -> 浏览器确定Web服
TCP/IP 网络模型学习 TCP/IP 网络模型学习学习资源 小林Coder 图解网络 2022.3.27对于同一台设备上的进程间通信->管道、消息队列、共享内存、信号等方式对于不同设备上的进程间通信->网络通信->设备多样性->兼容多种多样的设备就协商出了一套通用的网络协议。应用层应用软件 -> 应用层通信 -> 下一层 传输层专注为用户提供应用功能 不关心如何传输应用层 -> 操作系统 用户态传输层以下 -> 内核态重点协议 HTTP DNS传输
软件加速访问GitHub(mac/windows/linux通用) GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。在GitHub,用户可以十分轻易地找到海量的开源代码。那么在我们日常使用的过程中 由于DNS污染等其他原因,我们访问Github的过程可能不是那么的友好在这里向大家提供我前两天发现的一个开源软件 可以进行Github的加速(不需要额外的配置)GitHub 开源项目FastGithubhttps://github.com/dotnetcore/FastGithub值得注意的是F.
GIT invalid path 报错解决(GIT PULL拉取失败) 记一次GIT仓库无法拉取的处理方案事件起因:GIT仓库使用git pull命令无法拉取报错:> git pull --tags origin devFrom https://gitee.com/yan-running-potato/yundingFullStuckWarehouse* branch dev -> FETCH_HEADerror: invalid path '六期学员文件夹/黄璐瑶/全栈-黄璐瑶-寒假JavaScript第...
保姆级NodeJS安装&环境配置&优化 NodeJS下载https://nodejs.org/zh-cn/download/ 选择长期支持版本(LTS)windows建议选择64-bit的.msi安装版本NodeJS安装无脑下一步接受许可选择安装路径 (不建议安装到C盘)建议大家在其他盘新建一个文件夹管理所有的编程环境 我这里在F:\environmentodejs下一定要记得新建文件夹(nodejs) 否则会默认安装到文件夹内选择安装内容 我们选择默认...