如何用wireshark分析找出url接口和param参数???

2024-08-29 16:36

本文主要是介绍如何用wireshark分析找出url接口和param参数???,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

问题描述

  如何用wireshark分析找出url接口和param参数。我之前用fiddler抓取微信小程序的包,一直很顺利,但这次有一个小程序的包抓不到,我通过PC端wx打开小程序的时候,fiddler端HOST显示tunnel to。然后我用wireshark,过滤了只显示我的电脑的IP地址的流量包,保存为一个pcapng文件,然后用pyshark分析也好,用scapy分析也好,都是一些无意义的IP信息和一些没用的域名,试着用requests请求这些URL,也得不到任何信息,感觉没有一点头绪。这个小程序叫胖士查药,我想找到这个小程序里查中标的请求药品的接口信息,有知道的麻烦告知一下。

友情提示:
  如上问题有的来自我自身项目开发,有的收集网站,有的来自读者…如有侵权,立马删除。再者,针对此专栏中部分问题及其问题的解答思路或步骤等,存在少部分搜集于全网社区及人工智能问答等渠道,若最后实在是没能帮助到你,还望见谅!并非所有的解答都能解决每个人的问题,在此希望屏幕前的你能够给予宝贵的理解,而不是立刻指责或者抱怨!如果你有更优解,那建议你出教程写方案,一同学习!共同进步。

解决方案

  如下是上述问题的解决方案,仅供参考:

  Wireshark 是一个非常强大的网络协议分析工具,可以用来捕获和分析网络流量。对于你的需求,即分析微信小程序的 HTTP 或 HTTPS 请求,以下是一些基本步骤和提示:

  1. 确保 Wireshark 配置正确:确保 Wireshark 能够捕获到你的网络流量。这可能需要在网络接口设置中选择正确的网络适配器。

  2. 过滤流量:使用 Wireshark 的过滤功能来只关注你需要的流量。例如,如果你知道你的设备 IP 地址,你可以使用 ip.addr == x.x.x.x 来过滤只显示该 IP 地址的流量。

  3. 使用 SSL/TLS 解密:如果流量是加密的(HTTPS),你可能需要设置 SSL/TLS 解密。这通常需要安装相应的根证书,并且可能需要知道服务器的私钥。

  4. 分析 HTTP/HTTPS 请求:一旦你有了正确的流量,你可以查看 HTTP 或 HTTPS 请求。在 Wireshark 中,你可以使用 http.hosthttp.request.uri 来过滤特定的请求。

  5. 查找参数:在 HTTP 请求中,参数通常在请求行的 URL 中,或者在 POST 请求的 body 中。在 Wireshark 中,你可以展开请求来查看这些信息。

  6. 使用 PyShark 或 Scapy 进行脚本分析:如果你想要自动化分析过程,可以使用 PyShark 或 Scapy 来编写脚本来分析 pcapng 文件。例如,使用 PyShark,你可以加载 pcapng 文件并遍历所有 HTTP 请求,提取 URL 和参数。

  7. 注意隐私和法律问题:在分析网络流量时,请确保你遵守所有相关的隐私和法律规定。

  对于你提到的 “胖士查药” 小程序,如果你无法通过 Wireshark 直接获取到请求的 URL 和参数,可能是因为:

  • 小程序使用了某种形式的加密或隐藏技术来保护其流量。
  • 请求可能通过非标准端口或协议进行,Wireshark 默认的过滤规则没有捕获到。
  • 微信小程序可能使用了微信自己的网络请求库,这些请求可能在 Wireshark 中不容易识别。

  如果你已经有了 pcapng 文件,并且想要使用 Python 脚本来分析,你可以使用 PyShark 来加载 pcapng 文件并提取 HTTP 请求的详细信息。以下是一个简单的 PyShark 脚本示例,用于提取 HTTP 请求的 URL 和参数:

import pyshark# 加载 pcapng 文件
capture = pyshark.FileCapture('your_pcapng_file.pcapng')# 遍历所有 HTTP 请求
for packet in capture:if packet.has_layer('HTTP'):http_layer = packet.get_layer('HTTP')url = http_layer.get_field_value('HTTP.host') + http_layer.get_field_value('HTTP.request.uri')print(f'URL: {url}')# 这里可以添加更多的逻辑来提取和分析参数# 释放 pcapng 文件
capture.close()

  请注意,这个脚本只是一个起点,你可能需要根据实际情况调整过滤条件和提取逻辑。希望这些信息能帮助你解决问题。

  希望如上措施及解决方案能够帮到有需要的你。

  PS:如若遇到采纳如下方案还是未解决的同学,希望不要抱怨&&急躁,毕竟影响因素众多,我写出来也是希望能够尽最大努力帮助到同类似问题的小伙伴,即把你未解决或者产生新Bug黏贴在评论区,我们大家一起来努力,一起帮你看看,可以不咯。

  若有对当前Bug有与如下提供的方法不一致,有个不情之请,希望你能把你的新思路或新方法分享到评论区,一起学习,目的就是帮助更多所需要的同学,正所谓「赠人玫瑰,手留余香」。

☀️写在最后

  ok,以上就是我这期的Bug修复内容啦,如果还想查找更多解决方案,你可以看看我专门收集Bug及提供解决方案的专栏《CSDN问答解惑-专业版》,都是实战中碰到的Bug,希望对你有所帮助。到此,咱们下期拜拜。

码字不易,如果这篇文章对你有所帮助,帮忙给 bug菌 来个一键三连(关注、点赞、收藏) ,您的支持就是我坚持写作分享知识点传播技术的最大动力。

同时也推荐大家关注我的硬核公众号:「猿圈奇妙屋」 ;以第一手学习bug菌的首发干货,不仅能学习更多技术硬货,还可白嫖最新BAT大厂面试真题、4000G Pdf技术书籍、万份简历/PPT模板、技术文章Markdown文档等海量资料,你想要的我都有!

📣关于我

我是bug菌,CSDN | 掘金 | InfoQ | 51CTO | 华为云 | 阿里云 | 腾讯云 等社区博客专家,C站博客之星Top30,华为云2023年度十佳博主,掘金多年度人气作者Top40,掘金等各大社区平台签约作者,51CTO年度博主Top12,掘金/InfoQ/51CTO等社区优质创作者;全网粉丝合计 30w+;硬核微信公众号「猿圈奇妙屋」,欢迎你的加入!免费白嫖最新BAT互联网公司面试真题、4000G PDF电子书籍、简历模板等海量资料,你想要的我都有,关键是你不来拿哇。


这篇关于如何用wireshark分析找出url接口和param参数???的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1118390

相关文章

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

go中空接口的具体使用

《go中空接口的具体使用》空接口是一种特殊的接口类型,它不包含任何方法,本文主要介绍了go中空接口的具体使用,具有一定的参考价值,感兴趣的可以了解一下... 目录接口-空接口1. 什么是空接口?2. 如何使用空接口?第一,第二,第三,3. 空接口几个要注意的坑坑1:坑2:坑3:接口-空接口1. 什么是空接

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

一文带你了解SpringBoot中启动参数的各种用法

《一文带你了解SpringBoot中启动参数的各种用法》在使用SpringBoot开发应用时,我们通常需要根据不同的环境或特定需求调整启动参数,那么,SpringBoot提供了哪些方式来配置这些启动参... 目录一、启动参数的常见传递方式二、通过命令行参数传递启动参数三、使用 application.pro

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

基于@RequestParam注解之Spring MVC参数绑定的利器

《基于@RequestParam注解之SpringMVC参数绑定的利器》:本文主要介绍基于@RequestParam注解之SpringMVC参数绑定的利器,具有很好的参考价值,希望对大家有所帮助... 目录@RequestParam注解:Spring MVC参数绑定的利器什么是@RequestParam?@

Spring、Spring Boot、Spring Cloud 的区别与联系分析

《Spring、SpringBoot、SpringCloud的区别与联系分析》Spring、SpringBoot和SpringCloud是Java开发中常用的框架,分别针对企业级应用开发、快速开... 目录1. Spring 框架2. Spring Boot3. Spring Cloud总结1. Sprin

Spring 中 BeanFactoryPostProcessor 的作用和示例源码分析

《Spring中BeanFactoryPostProcessor的作用和示例源码分析》Spring的BeanFactoryPostProcessor是容器初始化的扩展接口,允许在Bean实例化前... 目录一、概览1. 核心定位2. 核心功能详解3. 关键特性二、Spring 内置的 BeanFactory