【发布时间】:2022-01-24 02:56:30
【问题描述】:
我使用的是基于 Unix 的操作系统,我想知道是否可以将通过特定端口或来自特定应用程序的所有数据包重新路由到另一个目的地或完全丢弃数据包。
例如,我有一个应用程序 T,它忽略了并在端口 44444 上发送数据包。我有另一个应用程序 U,它将“挂钩”到该端口并抓取 T 发送的所有数据包,然后将它们重新路由到其他地方。
我希望基本上能够在用户模式级别执行此操作,而不需要对路由器或内核模式进行任何配置更改。如果绝对必须在内核中完成,那我可以尝试为它编写内核模式驱动程序。
我知道的一种技术是简单地将一个模块注入 T 并挂钩发送/接收函数,然后在本地连接到 U 并发送数据包。但这似乎太骇人听闻了。有什么 API 可以用来做这件事吗?
【问题讨论】:
标签: c networking