我捕获了一些HTTP POST请求,希望能再次发送它们。该怎么做? 搜索并没有得出任何简单的方法,而不涉及某些复杂的东西,导致只能发送特定请求的脚本,没有任何灵活性。
我捕获了一些HTTP POST请求,希望能再次发送它们。该怎么做? 搜索并没有得出任何简单的方法,而不涉及某些复杂的东西,导致只能发送特定请求的脚本,没有任何灵活性。
你可以看一下 tcpreplay。
它非常适合回放由Wireshark或libpcap格式的tcpdump
捕获的整个流量流。
如果HTTP请求是从浏览器发送的,那么您可以利用大多数现代浏览器中可用的Web开发者模式-通过转到“网络”部分并右键单击特定的GET / POST请求,然后可以选择性地修改和重新发送所选的请求和/或使用curl(例如请参见FireFox,Chrome)。
要仅重新发送由Wireshark捕获的HTTP交互并不简单,因为HTTP通过TCP传输,每个交互需要建立新连接,因此TCP序列号等内容需要不同。一种方法是从数据包跟踪中提取HTTP内容,并将其通过新的TCP连接重新发送-Wireshark允许提取HTTP跟踪,这些跟踪可以被重新发送。但是,来自AppNeta的tcpreplay套件的最新版本现在提供了一个工具tcpliveplay,它可以重放TCP流,因此似乎是最佳选择。
否则,如果需要更多对数据包重放的编程控制,可以使用 scapy,正如这个答案中所建议的那样。不过,你需要提取HTTP内容并在新连接上重新发送它们。