Postman工具介绍

简介: 【6月更文挑战第1天】Postman是一款由Postman公司开发的API开发协作软件,广泛应用于API设计、构建、测试和安全管理。

Postman是一款商业化软件,在API的研发管理中被广泛使用于API设计、API构建、API测试等工作环节。当然,它也同样适用于API安全测试和管理。


Postman是由Postman公司开发的界面友好的API开发协作软件,不同的使用者通过简单的配置即可开展工作,并且其具备的自动化集成、批量操作、脚本定制等功能,使得其在API软件市场占有很大的比重。

其功能特点主要如下。

  • 多平台的客户端支持,读者可以从其官网下载macOS、Windows(32位/64位)、Linux(32位/64位)不同平台的客户端软件,通过简单的安装即可使用。目前,Postman提供免费版和企业版两种版本,大多数情况下,免费版即可满足读者的日常使用。
  • 方便的自动化集成,Postman支持命令行调用和API调用的方式,与CI/CD管道工具进行集成。比如在CI中安装Newman工具,即可以调用本地或服务器端的API集合。
  • 丰富的管理功能,Postman提供个人空间管理、团队协作API管理、SAAS服务与SSO集成管理等,加上其完善的在线文档,为用户的使用提供了极大的帮助。
  • 友好的脚本定制,Postman支持多种形式的脚本定制功能,比如pre-request脚本、多语言编码,这些功能为不同场景下的API测试提供了批量操作、自动化操作的入口。


在理解Postman的工作原理之前,先来了解一些基本的概念,这样便于更好的理解Postman安全测试的过程。

  • Collections(集合):集合是Postman采用分组的方式,将一组相似的API请求归类,但每一个API请求可以设置相应的header、body、URL参数、授权方式及配置。
  • Runner(运行器):Runner是Postman特有的模块,当读者使用Runner时,其实是执行集合中的每一个API请求。Runner充当管理者的角色,对所有的API请求进行调度、编排,达到流程化的目的。
  • Variables(变量):Postman中的变量和软件开发中变量类似,它也有不同的作用域,比如全局变量、集合变量、环境变量、本地变量等,这些变量的值,读者可以采用程序编码的方式,通过读取URL参数、HTTP请求、本地文件等操作进行赋值。
  • Environments(环境):Postman中的环境是指API请求的上下文,通常以键值对的方式存储数据。
  • Pre-Request Script(预请求脚本):预请求脚本主要用于设置API请求中的数据、变量,比如通过预请求脚本可以获取Environments中的数据,设置各种Variables变量值。
  • Test Script(测试脚本):测试脚本在从服务器收到Response后才开始执行,其主要用来设置变量值、判断响应是否符合预期。比如检查Response的body中是否包含payload返回的字符串、HTTP状态码,HTTP Header是否包含关键字等。

当Postman以Runner方式运行后,首先从预定义的集合中获取API列表,按照Runner编排的顺序(如果没有编排,则默认顺序)分别发起API请求。在请求发起前,加载预请求脚本。预请求脚本中,通过编码的方式,获取全局变量、集合变量、环境变量、本地变量等变量值进行赋值,再发送请求到服务器端。


服务器端接受请求,反馈应答响应。Postman接收到响应报文后,调用测试脚本,验证响应的准确性,并给出结果判断,最终形成报告。


Postman主要以功能测试为主,安全人员之所以使用它进行安全测试,是因为它支持REST API、SOAP API、GraphQL等多种API协议,并集成了API KEY、HTTP Basic、Digest、OAuth多种认证形式,使用它来做安全测试可以帮忙安全人员解决很多其他工具软件无法解决的问题。


但因为Postman的主要功能不是做安全测试,所以需要在理解Postman使用方式的基础上,将常用的安全攻击手法融入其中,才能达到安全测试的效果。例如,最常见的用户和口令暴力破解场景,安全人员需要自己准备攻击向量或字典,再使用其提供的Runner collections方式,设置字典值payload,进行安全测试验证。字典的选择可以使用FuzzDB中的wordlists-user-passwd,然后再使用Postman的Runner进行Fuzz测试。


也可以通过Postman支持代理的方式,将Postman与Burp Suite联合使用,这样就可以省略动手编写脚本获取参数的步骤,将payload的设置在Burp Suite中来做。

相关文章
|
JSON 测试技术 API
『Postman入门万字长文』| 从工具简介、环境部署、脚本应用、Collections使用到接口自动化测试详细过程
『Postman入门万字长文』| 从工具简介、环境部署、脚本应用、Collections使用到接口自动化测试详细过程
174 3
|
存储 安全 测试技术
快速教你如何使用postman工具进行接口测试?(配置全局token、JWT可用)
快速教你如何使用postman工具进行接口测试?(配置全局token、JWT可用)
523 0
|
4月前
|
测试技术 API
软件测试:Postman 工具的使用。开发及测试均需要掌握的测试工具
这篇文章详细介绍了Postman工具的各个模块功能,包括创建请求、集合、环境、自动化测试等,并解释了如何使用Postman进行GET、POST、PUT和DELETE等常见HTTP请求的测试。
|
6月前
|
监控 前端开发 测试技术
postman接口测试工具详解
postman接口测试工具详解
104 7
|
6月前
|
监控 JavaScript 前端开发
postman接口测试工具详解
postman接口测试工具详解
61 6
|
6月前
|
JSON 前端开发 数据格式
后端开发之使用postman工具接收高级数据详解及代码演示
后端开发之使用postman工具接收高级数据详解及代码演示
62 0
|
7月前
|
JSON 测试技术 数据安全/隐私保护
Postman(接口测试工具)使用教程
Postman(接口测试工具)使用教程
172 0
|
7月前
|
Web App开发 测试技术 数据安全/隐私保护
PostMan工具介绍及安装使用
PostMan工具介绍及安装使用
165 0
|
测试技术 Python
(fiddler,postman,jmeter)工具使用图片上传
(fiddler,postman,jmeter)工具使用图片上传
157 0
|
测试技术 数据安全/隐私保护
Postman(接口测试工具)
Postman(接口测试工具)
155 0