0

我知道每个端口只能分配给一个应用程序。但是,我想这样做:

(1)我要监听一个端口,比如80,这个端口已经被另一个app分配了,比如Apache

(2) 我可以复制发送到该端口的每个套接字,并将这些端口重定向到另一个端口

我搜索了 tcpdump,它可以捕获数据包(包含全部内容)。但是我不怎么复制数据包然后把它们发送到另一个端口?

或者,也许有其他工具可以轻松捕获数据包?

如果我想自己实现,可以给我一些细节吗?因为我不擅长套接字编程。

4

1 回答 1

0

正如您正确指出的那样,您将无法使用套接字轻松地从端口 80 获取数据包。这是因为如果第二个套接字也接收该端口的数据包,那么它需要重用该端口(SO_REUSEADDR 选项)。如果应用程序是第三方的并且您不能将此选项设置为服务器套接字,那么这将不起作用。您可能可以尝试检查具有嗅探数据包选项的 scapy,看看它是否符合我们的要求:http ://www.secdev.org/projects/scapy/doc/usage.html 。

于 2013-08-29T06:09:26.657 回答