tshark:在 HTTP POST 请求中如何以漂亮的输出获取表单数据?

tshark:在 HTTP POST 请求中如何以漂亮的输出获取表单数据?

我是一名教师,我想与我的学生一起模拟 MITM 攻击。目标是展示为什么 https必须始终使用协议。

在 Debian 上,我安装了 tshark。一切运行正常,当我运行热点模式并运行 tshark 时,我可以获取 HTTP 数据包,稍微挖掘一下,我们就可以看到纯文本形式的表单数据:

在此处输入图片描述

首先,从计算机 10.42.0.21 中的浏览器中,当我输入服务器的 URL(一个简单的 GET 请求)时,tshark 显示两次 get 请求。我不明白为什么。有没有办法删除重复项或找到原因?(服务器日志显示两个 GET 请求)

其次,当我向服务器发送 POST 请求时(通过一个简单的 html 表单)。我们可以以纯文本形式看到表单的数据(这是合乎逻辑的,因为服务器使用的是 HTTP 协议,而不是 HTTP年代

当前输出是:Timestamp,POST / HTTP/1.1\r\n,\r\n,Form item : "fname" = "John"

是否可以使用 tshark 获得更漂亮的输出,其中仅包含表单的项目(字段)值?像这样:"fname" = "John"

谢谢你的帮助 :)

编辑:对于重复,这是因为 favicon 请求,问题来自我的 python 服务器,而不是 tshark。

答案1

使用grep命令搜索包含表单项的行,然后用命令分离出您想要的相关数据cut

在您的示例中,类似的操作tshark | grep "Form item" | cut -d":" -f2可能会实现您想要的效果。

相关内容