HTTP协议和BP抓包

HTTP协议和BP抓包

image-20260331201118417

每层中的协议

1
2
3
4
5
应用层的协议:HTTP协议,HTTPS协议,DNS协议,TELNET协议,FTP协议,SMB协议,RDP协议
传输层的协议:例如ITCP、UDP、RTP、SCTP、SPX、ATP、IL
网络层的协议:例如IP、ICMP、IGMP、IPX、BGP、OSPF、RIP、IGRP、EIGRP、ARP、RARP、X.25
数据链路层的协议:主要是一些MAC子层协议,例如以太网、令牌环、HDLC、帧中继、ISDN、ATM、IEEE802.11、FDDI、PPP
物理层:这一层主要说的是电信号,例如线路、无线电、光纤、信鸽

重点TCP和UDP协议

1
2
3
TCP(Transmission Control Protocol)可靠的、面向连接的协议(eg:打电话)、传输效率低全双工通信(发送缓存&接收缓存)、面向字节流。使用TCP的应用:Web浏览器;文件传输程序。

UDP(User Datagram Protocol)不可靠的、无连接的服务,传输效率高(发送前时延小),一对一、一对多、多对一、多对多、面向报文(数据包),尽最大努力服务,无拥塞控制。使用UDP的应用:域名系统(DNS);视频流;IP语音(VoIP)。

常用端口

1
2
3
4
5
6
7
应用层常见的端口和对应传输层协议:
HTTP 80 使用TCP
DNS 53 使用TCP和UDP
HTTPS 443 使用TCP
SMB 445 使用TCP
TELNET 23 使用TCP
FTP 20/21 使用TCP

HTTP协议

HTTP协议,全称超文本传输协议(英文:HyperTextTransferProtocol)是一种使用非常广泛的用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。为什么称之为超文本传输协议呢,不知道大家还记不记的我之前给大家讲前端技术的时候提到过前端页面骨架是HTML语言写出来的,HTML全称为超文本标记语言,HTTP协议最开始就是为了传输HTML页面数据来制定的一种协议。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。

简单发展史(可略过):HTTP的发展是由蒂姆·伯纳斯-李于1989年在欧洲核子研究组织(CERN)所发起。HTTP的标准制定由万维网协会
(World WideWeb Consortium,W3C)和互联网工程任务组(Internet EngineeringTaskForce,LETE)进行协调,最终发布了一系列的RFC,其中最著名的是1999年6月公布的RFC2616,定义了HTTP协议中现今广泛使用的一个版本—一HTTP1.1,在这之前应用广泛的是HTTP1.0版本。2014年12月,互联网工程任务组(IETE)的HypertextTransferProtocolBis(httpbis)工作小组将HTTP/2标准提议递交至IESG进行讨论,于2015年2月17日被批准。HTTP/2标准于2015年5月以RFC7540正式发表,取代HTTP1.1成为HTTP的实现标准。但实际上到目前为止,广泛使用的还是HTTP1.1版本。

协议是什么?我们要搞清楚这个概念,协议就是双方协商好的做一个事情的标准,就比如说我们国际通用语言是英语,各国通信都用英语,这就是个协议(我相信以后可能都用汉语,哈哈,中国博大精深),这个标准对于我们的网络来说,其实指的就是一种数据格式。

比如,我抓取一下请求百度的HTTP协议数据包给大家看一下,抓取网络请求数据包大家还不会,没关系,先看一下大致的数据格式,后面我们会细说里面的数据都是干什么的,怎么抓取数据包等内容。burp suite fiddler charles

1

Burp Suite抓包

Burp Suite是Java语言开发的,下载下来之后的可执行程序是Java文件类型的jar文件,免费版可以从官网下载。免费版的Burp Suite会有许多限制,无法使用很多高级工具,如果想使用更多的高级功能,需要付费购买专业版。不过现在市面上有很多的破解版和汉化版。为了方便大家学习,接下来我就给大家一个最新的Burp Suite破解汉化版,中文界面,使用上更加方便,如果大家英文不错的话,其实后续工作还是建议大家使用英文版的。

Burp Suite安装

第一步:下载JDK

由于BP是java语言开发的,运行环境需要安装好Java的JDK,不然程序没法运行,首先下载Java的JDK

1
2
3
下载网址:
国内:https://www.java.com/zh-CN/download/
国外:https://www.oracle.com/java/technologies/downloads/