【问题标题】:how to intercept and modify tcp packets sent and received by a certain process?如何拦截和修改某个进程发送和接收的tcp数据包?
【发布时间】:2014-01-15 13:20:10
【问题描述】:

假设有一个进程在我的控制下(我可以运行它并发送命令)发送和接收 tcp 数据包(可能是其他类型的协议)

如何拦截其传出数据包并更改其有效负载? Netfilter 被建议作为另一个问题的解决方案 (Intercepting/Rerouting TCP SYN packets to C++ program in linux)

对于传入的数据包,我只需要读取它们,以便可以使用wireshark或类似的东西解决问题。

鉴于我的特定用例(特定的已知和受控过程),我正在尝试了解是否有更好的方法。

最终目标是在进程发送的数据包发送后立即有效地更改其有效负载并监控其余数据包。

谢谢

【问题讨论】:

  • 我认为最好在上面的问题中包含您的最终目标是什么。也许有一种更简单的方法可以完成您想做的事情,以防它只是不是数据包修饰的数据包修饰。

标签: linux networking tcp packet-capture


【解决方案1】:

最终,对于我的特定用例,代理解决了我的问题。

我控制了使用 socks5 代理的进程。

对于传入连接,我使用了反向代理。

这允许我查看/篡改数据包。

【讨论】:

  • 您能解释一下您是如何“使用 socks5 代理”的吗?
  • @Blauhirn 我将尝试更改其流量的进程配置为使用 socks5 代理。该过程是一个bittorrent客户端。我写了一个自定义的 socks5 代理,它给了我一个钩子到它所有传出的 TCP 数据包。这只是可能的,因为 bittorrent 客户端实现了 socks5 代理。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多