知识宝库在此藏,一键关注获宝藏
抓包是指在计算机网络中通过截获****、重发、编辑、转存等操作,分析网络数据包的过程。网络数据包是计算机之间进行通信时发送和接收的信息单元。通过抓包,可以查看和分析网络通信中传输的数据,以便诊断网络问题、监控网络流量或进行安全审计。
一、 burp — 抓包分析软件
1. 常用模块介绍
本文仅介绍抓包,剩余内容会在应用系统测评篇中放出,(例如利用burp暴力破解攻击,通过抓包查看前端使用了哪种算法等内容)
1.1 Proxy模块
Proxy代理模块作为 BurpSuite 的核心功能,拦截HTTP/HTTPS的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数据流。
这个版本的burp可不设置代理,我们直接点击 Open Browser
打开浏览器输入网址后,即可抓到对应的数据包
点击放包后,浏览器才能访问到对应的页面
当然,如果觉得自带的不太好用,想用其他的浏览器抓包,那么一般是浏览器上安装对应的插件,这里我们以firefox 举例
打开firefox浏览器,点击右边的扩展菜单栏,选择管理扩展
然后在寻找更多附加组件处输入:foxyProxy 回车
第一个就是,将它安装
安装完毕后,直接点击打开
选择“选项”
点击 Proxies
然后可以按照下面模版进行填写
burp如果设置未进行修改的话,为8080,如做了修改,则将上面的端口号改为修改后对应的端口
完成后点击 save 保存,然后鼠标点击一下,应用burp这个规则
此时我们的burp工具就能拦截到对应的数据包了
2. http数据包简介
例如我们抓取一个后台登陆的数据包,进行简单分析一下
POST /?m=admin&c=index&a=check HTTP/1.1
Host: 172.17.200.25
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 64
Origin: http://172.17.200.25
Connection: close
Referer: http://172.17.200.25/?m=admin&c=index&a=login
Cookie: PHPSESSID=sm571fs1h3ngkf1dfo96bkkv45
t0=admin&t1=admin&t2=spxc&token=1660f5b3f4493aa51e0a19fa788df146
下面对每个部分进行简单解释:
① 请求行:POST /?m=admin&c=index&a=check HTTP/1.1
-
POST:表示这是一个POST请求方法,用于向服务器提交数据。
-
/?m=admin&c=index&a=check:表示请求的路径和参数。在这个例子中,路径为根目录下的admin,控制器为index,方法为check。
-
HTTP/1.1:表示所使用的HTTP协议版本。
② 请求头部:
-
Host: 172.17.200.25:表示服务器的主机名。
-
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0:表示浏览器或客户端的相关信息,这里显示的是使用Firefox浏览器版本。
-
Accept: application/json, text/javascript, */*; q=0.01:表示客户端能够接受的响应内容类型。
-
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2:表示客户端所支持的语言偏好。
-
Accept-Encoding: gzip, deflate:表示客户端能够接受的压缩编码方式。
-
Content-Type: application/x-www-form-urlencoded; charset=UTF-8:表示请求主体的数据格式为URL编码形式,字符集为UTF-8。
-
X-Requested-With: XMLHttpRequest:表示该请求是由XMLHttpRequest对象发起的。
-
Content-Length: 64:表示请求主体的数据长度。
-
Origin: http://127.17.200.25:表示请求的来源。
-
Connection: close:表示请求完成后关闭连接。
-
Referer: http://172.17.200.25/?m=admin&c=index&a=login:表示请求的来源网页。
-
Cookie: PHPSESSID=sm571fs1h3ngkf1dfo96bkkv45:表示客户端发送的Cookie数据,这里包含了名为PHPSESSID的会话ID。
③ 请求主体:
t0=admin&t1=admin&t2=spxc&token=1660f5b3f4493aa51e0a19fa788df146:表示具体的表单数据,以URL编码形式展示。其中t0、t1、t2和token为参数名,后面的值为具体的参数值。t0表示输入的用户名、t1表示输入的密码、t2表示输入的验证码。
总结:该POST请求的目的是向服务器提交一些表单数据。请求头部提供了一些附加信息,如请求的主机名、浏览器信息、接受的响应类型等。请求主体中包含了具体的表单数据,也就是我们输入的帐号密码。这整一个数据包就是登录过程的请求。
二、Wireshark 网络抓包分析软件
Wireshark 使用 WinPCAP 作为接口,直接与网卡进行数据报文交换。
打开Wireshark后,我们第一步要做的就是选择对应的网卡,一般正常情况下,笔记本选择"WLAN",有线连接选择对应的"本地连接"。如果是与虚拟机交互的,那么就要选择对应的虚拟机网卡。
选择完对应的网卡后,会直接抓取数据包,点击红色的按钮可关闭
这里我们演示去抓一个MySQL连接的数据包,在Wireshark捕获的状态下,使用Navicat 远程连接mysql
此时Wireshark界面会有非常多的数据,我们需要在过滤器内输入相应的命令,对数据包进行过滤
下面是一些常用的过滤条件示例:
① 过滤特定IP地址:
-
显示源IP地址为 192.168.1.100 的数据包:ip.src == 192.168.1.100
-
显示目的IP地址为 192.168.1.200 的数据包:ip.dst == 192.168.1.200
-
显示源或目的IP地址为 192.168.1.100 的数据包:ip.addr == 192.168.1.100
② 过滤特定协议:
-
显示所有TCP数据包:tcp
-
显示所有UDP数据包:udp
-
显示所有ICMP数据包:icmp
③ 过滤端口号:
- 显示源或目的端口号为 80 的数据包:tcp.port == 80 or udp.port == 80
④ 组合多个条件:
- 显示源IP地址为 192.168.1.100 并且目的端口号为 80 的TCP数据包:ip.src == 192.168.1.100 and tcp.dstport == 80
像上述 抓取MySQL登录过程的数据包,则需要筛选目的地址为172.17.200.13,端口号为3306的数据包,可以使用以下过滤条件进行过滤:
ip.addr == 172.17.200.13 and tcp.dstport == 3306
通过过滤,我们很快就能找到在这个登录过程中传输了哪些数据,具体这个password的值怎么来的,可以查看 等保2.0测评深入理解 — MySQL 数据库这篇文章中,MySQL口令验证实现原理这个知识点
例如我再抓取一个查询表的数据包
由于数据包比较多,我们进行筛选后,可以 右键 → 追踪流→ TCP流
Wireshark中的"追踪流"功能是用于分析和展示特定协议或会话的整个数据流的功能。当观察特定协议或会话时,Wireshark会将相关的数据包按照时间顺序进行排序并展示整个通信过程。通过"追踪流"功能,您可以按照报文的传输顺序,一次性地查看发送和接收的数据包,从而更好地理解协议的交互过程。
在这里我们可以直观的看到刚刚输入的数据,以及数据库返还给我们的数据,均是明文传输,统统被抓取到了
所以要设置SSL连接来保证数据传输过程中的保密性,如果Mysql开启了SSL,不采用SSL则会被拒绝
以上简单介绍了一下常用的抓包工具,仅作为介绍了解使用,更深入的用法需要自行搜索相应资料研究。
另外上述工具已上传至知识星球内,星球内成员可自行领取安装
题外话
初入计算机行业的人或者大学计算机相关专业毕业生,很多因缺少实战经验,就业处处碰壁。下面我们来看两组数据:
-
2023届全国高校毕业生预计达到1158万人,就业形势严峻;
-
国家网络安全宣传周公布的数据显示,到2027年我国网络安全人员缺口将达327万。
一方面是每年应届毕业生就业形势严峻,一方面是网络安全人才百万缺口。
6月9日,麦可思研究2023年版就业蓝皮书(包括《2023年中国本科生就业报告》《2023年中国高职生就业报告》)正式发布。
2022届大学毕业生月收入较高的前10个专业
本科计算机类、高职自动化类专业月收入较高。2022届本科计算机类、高职自动化类专业月收入分别为6863元、5339元。其中,本科计算机类专业起薪与2021届基本持平,高职自动化类月收入增长明显,2022届反超铁道运输类专业(5295元)排在第一位。
具体看专业,2022届本科月收入较高的专业是信息安全(7579元)。对比2018届,电子科学与技术、自动化等与人工智能相关的本科专业表现不俗,较五年前起薪涨幅均达到了19%。数据科学与大数据技术虽是近年新增专业但表现亮眼,已跻身2022届本科毕业生毕业半年后月收入较高专业前三。五年前唯一进入本科高薪榜前10的人文社科类专业——法语已退出前10之列。
“没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。
网络安全行业特点
1、就业薪资非常高,涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!
2、人才缺口大,就业机会多
2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。
行业发展空间大,岗位非常多
网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…
职业增值潜力大
网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。
随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。
从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。
网络安全学习路线&学习资源

网络安全的知识多而杂,怎么科学合理安排?
下面给大家总结了一套适用于网安零基础的学习路线,应届生和转行人员都适用,学完保底6k!就算你底子差,如果能趁着网安良好的发展势头不断学习,日后跳槽大厂、拿到百万年薪也不是不可能!
初级网工
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.
零基础入门,建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习; 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime; ·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完; ·用Python编写漏洞的exp,然后写一个简单的网络爬虫; ·PHP基本语法学习并书写一个简单的博客系统; 熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选); ·了解Bootstrap的布局或者CSS。
8、超级网工
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,贴一个大概的路线。感兴趣的童鞋可以研究一下,不懂得地方可以【点这里】加我耗油,跟我学习交流一下。
网络安全工程师企业级学习路线
如图片过大被平台压缩导致看不清的话,可以【点这里】加我耗油发给你,大家也可以一起学习交流一下。
一些我自己买的、其他平台白嫖不到的视频教程:
需要的话可以扫描下方卡片加我耗油发给你(都是无偿分享的),大家也可以一起学习交流一下。

结语
网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。
特别声明:
此教程为纯技术分享!本书的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本书的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失!!!