Java 接收数据包并将其转发到不同的端口
Java中是否有最好的工具能够在特定端口上接收数据包,并在另一个端口上转发它们?例如: 端口514 UDP上的传入系统日志->转发到端口1514 UDP上的新目标 流量不是视频流或任何东西,只是一些系统日志数据Java 接收数据包并将其转发到不同的端口,java,network-programming,Java,Network Programming,Java中是否有最好的工具能够在特定端口上接收数据包,并在另一个端口上转发它们?例如: 端口514 UDP上的传入系统日志->转发到端口1514 UDP上的新目标 流量不是视频流或任何东西,只是一些系统日志数据 谢谢如果您对用户空间应用程序中的数据不感兴趣,则不建议在该应用程序中执行此操作。在linux中,您可以使用iptables实现这一目的。运行此命令 sudo iptables -t nat -A PREROUTING -i eth0 -p udp --dport $srcPortNumb
谢谢如果您对用户空间应用程序中的数据不感兴趣,则不建议在该应用程序中执行此操作。在linux中,您可以使用iptables实现这一目的。运行此命令
sudo iptables -t nat -A PREROUTING -i eth0 -p udp --dport $srcPortNumber -j REDIRECT --to-port $dstPortNumber
如果iptables服务尚未运行,则可能需要启动它。检查linux发行版,了解如何检查该发行版中的状态或启动iptables服务
如果您使用的是windows,则可能需要查看。您在哪个平台上工作?windows、linux?你是要图书馆吗?您正在尝试实现它吗?如果您正在寻找TCP代理:对于UDP,这可能会起作用:很抱歉描述不清楚-它应该是linux上commandline的java应用程序-alredy将其安装并运行:不可行可能太强。这绝对是正确的。内核空间解决方案会更快,也更不容易丢弃数据包。我是通过一个DatagramSocket监听一个端口,并打开一个处理程序线程来实现的,当有东西到达时,该线程会将数据包发送到另一个端口。我现在不能让行李超载而掉下