http - 协议(protocol)逆向工程/重现HTTP对话

标签 http reverse-engineering protocols wireshark

为了项目的特定需求,我必须将我的一些代码与其他封闭源代码连接起来。 我的想法是了解原始应用程序如何通信,然后模仿行为。我已经完成了第一步,即使用 Wireshark 分析一些 HTTP 交换(使用 POST 请求和 XML 回复完成) . 在交换结束时,服务器会产生一个我需要记录的输出。

现在,我的问题是:用我的输入复制客户端行为的最简单方法是什么?即涉及较少编码的那个? 基本上我不需要太多的“编程”能力,只需要能够解析服务器响应中的一些变量并在后续请求中重新使用它们。

我已经完成了类似的工作,使用命令行 PHP 脚本复制客户端行为,但这相当乏味,而且代码难以阅读,因此难以维护。

欢迎任何建议!! 谢谢

最佳答案

如果您不需要可扩展的解决方案,并且您的应用只需要处理特定的请求/响应,您可以预先创建多个请求作为 XML blob,然后只更新其中的任何变量,发送它们并进行基本的 XML 解析以通过响应获取 XML 元素的值。从本质上讲,您的应用程序将充当您使用 Wireshark 录制的对话的转发器,并进行调整以更改几个值。

关于http - 协议(protocol)逆向工程/重现HTTP对话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2143663/

相关文章:

java - 函数发送不可解码的文本 Android/Java

ios - 惰性/内联在 Swift 中实现协议(protocol)

swift - 初始化器要求 'init(json:)' 只能由非最终类 `required` 定义中的 'UIColor' 初始化器满足

http - 我如何 http.ListenAndServe "/"而不是让它响应每条路径?

debugging - 如何调试 RESTful 服务?

android - 从 Android 发布到 Ruby on Rails 应用程序

assembly - "Practical Reverse Engineering"中列出的代码是否包含错误,或者我是否误解了循环结构?

ios - 为什么我在lldb中输入图像查找<地址>时没有输出?

javascript - 使用 JavaScript 以编程方式编辑 Google 文档

ios - 使用解码对象(: forKey:) to decode an object that conforms to a protocol