网络协议剖析
每时每刻我们都在网上冲浪,但是网络中的数据都是怎么组成的呢?我们又是如何访问到各种资源的呢?这篇通过层级介绍协议的文章会给你答案!
各层的协议将会在后文介绍,协议帧格式来自Cisco Packet Tracer软件。
1. TCP/IP协议栈(五层模型为例)
应用层——提供应用程序网络接口—HTTP、WWW、FTP、SMTP、DNS、TELNET
传输层——建立端到端连接—TCP、UDP
网络层——寻址和路由选择—IP地址
数据链路层——物理介质访问—IP数据包
物理层——二进制数据流传输
数据传输真实环境封装:
2. 数据链路层作用:维护主机连接网络接口卡地址(MAC)和驱动程序。
MAC为网卡身份标识,全球唯一性(可以通过一定手段复制)。由6字节组成,前3字节为厂商编号,后3字节为网卡流水号。
数据帧格式:
Ethernet II 协议名称:以太网帧格式
PREAMBLE:前导码和帧开始符(SFD)
DEST MAC:目的mac
SRC MAC:源地址mac
TYPE:类型 IPv4-0x0800、IPv6-0x86dd、ARP-0x0806、PPPo ...
ROP技术概述
ROP(Return-oriented Programming) 面向返回的编程
包括: ret2text、ret2shellcode、ret2syscall、ret2libc
1. 溢出基础知识1.1 基于数据溢出(数据超出计算机表示范围)1)使用非类型安全(non-type-safe)的语言:C/C++
2)以不可靠的方式存取或者复制内存缓冲区
3)编译器设置的内存缓冲区太靠近关键数据结构
1.2 外壳程序Linux从严格意义上来说不是一个操作系统,它实质上是一个操作系统kernal,但对以一般用户,不能直接使用kernal,而是通过kernal的外壳程序,就是所谓的shell来与kernal进行沟通。
外壳程序可以保证操作系统的安全性,抵御用户的一些不正确操作。
Linux的外壳程序称作shell(命令行解释器),它的作用是:
将命令翻译给kernal
将kernl处理结果翻译给用户
一般我们使用的shell为bash。在解释命令的时候,bash不会直接参与解释,而是创建新进程进行命令的解释,bash只用等待结果即可,这样能保证bash进程的安全。
1.3 设置s ...
Hexo+Butterfly个人博客极速搭建
记录生活~ 记录热爱~ hexo框架+butterfly主题博客搭建
1. 简易原理图
运行环境:Windows10
如果遇到报错,可以把报错复制,自行粘贴百度求解
2. 安装 git 和 node.js2.1 从官网上下载git软件包https://git-scm.com/downloads
2.2 打开安装包,更换路径,按照推荐模式,一直下一步直到安装完成。下方链接有详细参数解释https://blog.csdn.net/qq_32786873/article/details/80570783
2.3 从官网下载node.js软件包
2.4 下一步直到软件安装完成。环境变量一般自动配置,也可手动配置https://www.cnblogs.com/aizai846/p/11441693.html
2.5 环境搭建完成测试
3. 安装hexo (安装与初始化过程会比较缓慢,要耐心等待至少2分钟)3.1 重要: 一定要换源,要不会卡住1npm config set registry https://registry.npm.taobao.org
3.2 安装1np ...
世界 你好
欢迎光临Hexo! 这是你的第一个帖子。查看文档获得更多信息。当使用Hexo时如果你有任何问题, 你可以在故障排除中找到答案或者你可以在我的GitHub上提出问题。
1. 快速开始1.1 创建一个新帖子1$ hexo new "My New Post"
更多信息: 文档
1.2 运行服务1$ hexo server
更多信息: 服务
1.3 生成静态文件1$ hexo generate
更多信息: 静态文件手册
1.4 提交到远程站点1$ hexo deploy
更多信息: 开发手册