HTTP
定义:HTTP是一种应用层协议,主要用于互联网中传输超文本(Hypertext)和其他资源,如图片、音频、视频等。
特点:
无状态协议:每个请求和响应都是独立的。
建立在TCP/IP协议之上:利用TCP连接传输数据,采用客户端/服务器模式。
多种请求方法:支持GET、POST等多种请求方式。
版本发展:
HTTP/0.9:仅能处理纯文本(ASCII)格式的信息,只支持GET请求方式。
HTTP/1.0:引入多种请求方法和响应头字段,支持多种媒体类型的数据传输。
HTTP/1.1:采用持久连接技术,在同一个连接上进行多次请求和响应。
HTTP/2:引入二进制格式传输、多路复用和服务器推送等特性,提高页面渲染速度。
HTTP/3
定义:HTTP/3是一种新的网络协议,旨在提供更快的互联网连接速度和更高的安全性。
特点:
采用QUIC协议作为传输层协议:相比TCP+TLS的组合,QUIC可以减少连接建立的时延,提高数据传输的效率。
支持0-RTT连接:进一步加快连接的建立速度。
多路复用技术:在一个连接上可以同时进行多个数据流的传输,避免TCP连接的队头阻塞问题。
HTTPS
定义:HTTPS是以安全为目标的HTTP通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。
特点:
在HTTP的基础上加入SSL:HTTPS的安全基础是SSL,因此加密的详细内容需要SSL。
不同于HTTP的默认端口:HTTPS使用443端口,而HTTP使用80端口。
提供身份验证与加密通讯方法:被广泛用于万维网上安全敏感的通讯,如交易支付等。
WebSocket
定义:WebSocket是一种在单个TCP连接上进行全双工通信的协议。
特点:
客户端和服务器之间的数据交换简单:允许服务端主动向客户端推送数据。
握手过程:通过HTTP/1.1协议的101状态码进行握手。
创建持久性连接:浏览器和服务器只需要完成一次握手,就可以进行双向数据传输。
TCP
定义:TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。
特点:
面向连接:通信双方必须先建立TCP连接,传输数据完毕后必须释放连接。
可靠性:通过序列号、确认和重传机制保证数据传输的可靠性。
全双工通信:通信双方的应用进程在任何时候都能发送数据。
UDP
定义:UDP是一种无连接的、不可靠的、面向数据报的传输协议。
特点:
无连接性:通信双方在传输数据之前不需要建立连接。
不可靠性:不提供数据包的确认和重传机制,也不保证数据包的顺序性。
面向数据报:以数据报为基本单位进行通信,每个数据报是一个独立的、完整的消息。
SMTP
定义:SMTP是一种提供可靠且有效的电子邮件传输的协议。
特点:
建立在FTP文件传输服务上:主要用于系统之间的邮件信息传递,并提供有关来信的通知。
邮件中继:能跨越网络传输邮件,即“SMTP邮件中继”。
FTP
定义:FTP是一种用于文件传输的协议,允许用户将文件从一台计算机传输到另一台计算机。
特点:
基于TCP协议:使用TCP协议进行数据传输,确保数据传输的可靠性。
客户端/服务器模式:采用客户端/服务器模式进行文件传输,用户可以通过FTP客户端软件连接到FTP服务器进行文件上传和下载。
以上是对这些网络协议的简要介绍和特点总结,每种协议都有其独特的应用场景和优势。
三、网络安全学习路线
先放上路线图
第一阶段:基础操作入门
入门的第一步是学习一些当下主流的安全工具课程并配套基础原理的书籍,一般来说这个过程在1个月左右比较合适。在这个部分我介绍的课程和书籍都属于难度非常低的,就算是完全零基础的小白只要认真学也是能够学会的
课程我推荐下面这套Web安全入门基础课程,难度不大而且完全免费。这套课程至今已经有19万的学习人次,好评度99%。一共包含了40节课,课程内容主要包含了burp、awvs、cs、msf等当下主流工具的使用,而且每节课程都配备了练习靶场。听完课程后再去靶场进行练习,靶场当中有任何不懂的问题也可以在学习群里请教前辈,这样能够大大提升你的学习效率
在学习基础入门课程的同时,推荐同时阅读相关的书籍补充理论知识,这里比较推荐以下几本书:
- 《白帽子讲Web安全》
- 《Web安全深度剖析》
- 《Web安全攻防 渗透测试实战指南》
第二阶段:学习基础知识
在这个阶段,你已经对网络安全有了基本的了解。如果你认真看完了上面推荐的书籍和课程,相信你已经在理论上明白了上面是sql注入,什么是xss攻击,对burp、msf、cs等安全工具也掌握了基础操作。这个时候最重要的就是开始打地基!
所谓的“打地基”其实就是系统化的学习计算机基础知识。而想要学习好网络安全,首先要具备5个基础知识模块:
学习这些基础知识有什么用呢?
计算机各领域的知识水平决定你渗透水平的上限。
- 比如:你编程水平高,那你在代码审计的时候就会比别人强,写出的漏洞利用工具就会比别人的好用;
- 比如:你数据库知识水平高,那你在进行SQL注入攻击的时候,你就可以写出更多更好的SQL注入语句,能绕过别人绕不过的WAF;
- 比如:你网络水平高,那你在内网渗透的时候就可以比别人更容易了解目标的网络架构,拿到一张网络拓扑就能自己在哪个部位,拿到以一个路由器的配置文件,就知道人家做了哪些路由;
- 再比如你操作系统玩的好,你提权就更加强,你的信息收集效率就会更加高,你就可以高效筛选出想要得到的信息
这些基础该学到什么程度呢?
计算机各领域的知识水平决定你渗透水平的上限,但是零基础并不是要把上面的全部都学的很好再去搞渗透,那不仅会劝退大部分人,而且像我前面说的深度学习很容易学的囫囵吞枣,最后反而竹篮打水一场空
作为初学者,可以先学习基础。比如你先学一个编程语言的基础,用PHP做例子,你起码要懂if else这些、连接数据库;比如学数据库,用MySQL做例子,那至少也是要会增删改查、子查询这几个操作;网络的话比较难,也是很抽象的,你做外网的渗透,至少要懂基础的http协议,知道端口是什么,知道网站是怎么架设起来的;操作系统的基础相对比较好学,主要是各种命令的作用,各种软件的安装和使用
学习书籍和资源推荐:
《HTTP权威指南》
《Python核心编程》
《PHP和MySQL Web开发》
《JavaScript高级程序设计》
靶场:
Damn Vulnerable Web Application
Audi-1/sqli-labs
BUUCTF
bugku
网络信息安全攻防平台
第三阶段:实战操作
1.挖SRC
挖SRC的目的主要是讲技能落在实处,学习网络安全最大的幻觉就是觉得自己什么都懂了,但是到了真的挖漏洞的时候却一筹莫展,而SRC是一个非常好的技能应用机会
SRC平台:
2.从技术分享帖(漏洞挖掘类型)学习
观看学习近十年所有0day挖掘的帖,然后搭建环境,去复现漏洞,去思考学习笔者的挖洞思维,培养自己的渗透思维!
安全大佬博客:
书籍推荐:
- 《WEB之困-现代WEB应用安全指南》
- 《内网安全攻防渗透测试安全指南》
- 《Metasploit渗透测试魔鬼训练营》
- 《SQL注入攻击与防御》
- 《黑客攻防技术宝典-Web实战篇(第2版)》
到这一步,再加上之后对挖掘漏洞的技术多加练习与积累实战经验,基本就可以达到安全工程师的级别
最后
为了帮助大家更好的学习网络安全,小编给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂,所有资料共282G,朋友们如果有需要全套网络安全入门+进阶学习资源包,可以点击免费领取(如遇扫码问题,可以在评论区留言领取哦)~
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
————————————————
👉优快云大礼包🎁:全网最全《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)👈
