8

Wireshark 似乎无法实时更改过滤数据包的内容。

有谁知道可以更改过滤的数据包内容的类似软件。

找到这样的东西真的会救命

谢谢。

4

5 回答 5

4

至少在 Unices 和类似使用原始套接字的地方,这是不可能的,因为数据包被复制到用户空间,而您只能处理该副本。此外,通过原始套接字发回一个数据包可能被认为是一个“传出”数据包,因此实际上它不会被重新注入到它应该在的输入路径中。根据 Linux 手册页,原始套接字被设计用于实现新协议 IOW,原始套接字是“端点”,而不是“直通站”。

对于输入路径中的数据包修改(类似直通),每个操作系统都有自己的一组接口。在 Linux 中(你对你的目标有点不明确),这将是 nfqueue 机制,可通过 libnetfilter_queue 使用。当然,这就是wireshark,如果它愿意(我上次检查时没有看到它进行数据包更改),会这样做。

于 2011-01-08T13:13:45.297 回答
3

请试试Burp Suite 。它包括一个中继器,可让您修改 HTTP 请求。

于 2011-01-08T13:36:25.203 回答
1

没有wireshark 不会让您更改数据包的内容并将它们放回线路上。但是,有一些方法可以在数据包通过机器时更改它们。通常主机设置有两个网卡桥接在一起。一个网卡连接到一个网络,另一个网卡连接到另一个网络。然后当数据包通过这一点时,主机可以看到它们。现在您可以使用iptables/netfilter并编写一个更改数据包中数据的模块。例如,您可以编写一些可以重新映射源 IP 地址的东西。自从我使用 netfilter/iptables 已经有一段时间了,所以我无法提供更多细节,但我在之前的工作中使用它在数据包飞行时对它们进行了一些巧妙的处理。这确实意味着您需要一台位于网络连接点的主机。

于 2011-01-08T14:58:19.373 回答
0

是的,它可以。

您需要在构建之前将此选项传递给配置脚本:--enable-packet-editor

于 2014-03-10T10:52:22.847 回答
0

文档表明 node.get("nextSibling") 和 node.get("previousSibling") 是您需要的。

于 2011-01-08T13:17:13.953 回答