gpt4 book ai didi

java - 使用 Java 将消息从不同的 IP 地址发送到单个服务器

转载 作者:行者123 更新时间:2023-12-01 14:33:26 26 4
gpt4 key购买 nike

我的问题是一个通过发送 IP 来识别终端的协议(protocol)。我想使用某种实现该协议(protocol)的代理来管理多个终端与该服务器的连接。

所以我有终端 A,由服务器通过 IP 1.2.3.4 识别,终端 B 由服务器使用 IP 5.6.7.8 识别。现在代理将位于具有终端 A 和 B 的本地网络中。

当终端A想要访问服务器时,它会查询代理,代理需要代表终端A使用IP 1.2.3.4向服务器发送请求当终端B想要到达服务器时,它会查询代理,代理需要代表终端A使用IP 5.6.7.8向服务器发送请求

是否有可能用 Java 解决这个问题,还是我必须在路由器上进行网络巫术才能实现此目的?

编辑:让事情变得清晰。我知道什么是网络代理以及路由器的作用。如果需要,我还知道如何使用高级网络巫术在网络级别解决我的问题。我想知道的是,我对使用Java无法解决问题的猜测是否正确。所以底线问题是:我可以使用 Java 使用已分配特定 IP 的特定网络接口(interface)发送流量,还是必须依赖操作系统的功能来路由我的流量(在这种情况下,高级网络需要巫术)?

Edit2:如果网络流量的路由可以用java完成,我只是想要一个快速的指针来查看。我自己的谷歌搜索没有返回任何有用的结果。

最佳答案

1) 您已经使用 java 实现了 tcp 调谐的一些实现。以下是一些示例:

2) 即使有了这些现有的实现,您仍然可以通过使用 java.net.Socket 转发到达代理的数据包来完成您自己的任务。

3) 我仍然认为更好的选择是使用 java.lang.Runtime.exec() 和 socat linux 命令的特定实现。 socat 与 Netcat 类似,但具有安全性和 chroot 支持,可通过文件、管道、设备、TCP 套接字、Unix 套接字、SOCKS4 客户端、代理 CONNECT 或 SSL 等在各种协议(protocol)上工作。重定向所有端口 80 连接到IP 202.54.1.5:

$ socat TCP-LISTEN:80,fork TCP:202.54.1.5:80

关于java - 使用 Java 将消息从不同的 IP 地址发送到单个服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16690086/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com