【问题标题】:How can I implement a proxy that handles both TCP and UDP in java? [closed]如何在 java 中实现同时处理 TCP 和 UDP 的代理? [关闭]
【发布时间】:2013-07-21 03:09:28
【问题描述】:

我正在研究代理实现(我有兴趣使用 Java 作为编程语言)。
我想知道,代理是否应该适用于所有协议?例如。 TCPUDP
单一协议,例如仅限TCP
代理通常是应用程序级别吗? HTTP?
是否可以实现可以代理 TCP 和 UDP 连接的代理?
如果我需要构建一个重塑流量的代理,例如阻止/丢弃数据包或制作一些 连接速度比其他人慢我应该在IP 级别上工作吗?更高级别?

【问题讨论】:

  • 为什么要关闭?至少发表评论,以便我可以改进问题或转移到其他地方或知道我做错了什么
  • 通常人们有一个他们需要实现的特定要求,他们会问他们如何去做。否则,他们最终可能会调查您可能做的所有事情,并且通常您可以做任何您想做的事情,无论这是否是一个好主意。您已经暗示了一个实际需求,也许您可​​以解释您正在尝试做什么,并且您可能会发现已经有解决方案可以做到这一点。
  • @PeterLawrey:我有兴趣在Java 中编写类似代理的东西,它可以影响流量。 IE。可以使某些连接比其他连接慢,甚至丢弃来自特定连接的数据包
  • 您可以使用普通的 TCP 代理来做到这一点。你有一个缓慢/延迟的连接,而不是丢弃数据包。从接收者的角度来看,它看起来是一样的。
  • @PeterLawrey:是的,我假设通过sleep(2) 进行操作。但是如果我想模拟丢弃的数据包怎么办?

标签: java tcp proxy network-programming udp


【解决方案1】:

代理应该适用于所有协议?例如。 TCP 和 UDP。单一协议,例如仅 TCP?

这取决于它是 TCP 代理、UDP 代理,还是应用程序代理。

代理通常是应用程序级别的吗? HTTP?

是的,应用程序代理总是如此。

如果我需要构建一个可以重塑流量的代理,例如阻止/丢弃数据包或使某些连接比其他连接慢我应该在 IP 级别上工作吗?更高级别?

IP 级别。我什至不会称它为代理,更像是一个过滤器。

【讨论】:

  • 1) 所以我可以通过这样的 IP 代理模拟丢弃的数据包吗? 2) 对于IP 级别的工作,我在Java 中的唯一选择是jpcap? 3) 我更喜欢java,但是还有其他更适合这个的语言吗?
猜你喜欢
  • 1970-01-01
  • 2015-03-31
  • 2011-07-21
  • 2011-12-18
  • 2021-07-28
  • 1970-01-01
  • 2010-11-27
  • 2022-01-20
  • 2014-01-17
相关资源
最近更新 更多