我正在使用 netty 来完成我的一个简单项目,我需要将消息从客户端发送到服务器以及从服务器发送到客户端。
在客户端和服务器之间建立连接后,第三方是否可以将数据发送到同一客户端端口,就像消息来 self 的服务器一样?有人可以通过将数据发送到我服务器上的特定端口来假装是之前连接的客户端吗?或者“连接”是否意味着服务器和客户端将知道数据来自其发起连接的实体?
如果重要的话,我在 netty 中使用 NioSocketChannel
。
详细来说,我还没有使用加密 channel (SSL/TLS)。我只是想知道我正在与发起连接的同一实体进行对话
。我不需要知道它与我上次发起连接的实体相同
(我猜可以通过用户名/密码来实现)。
最佳答案
在网络级别,您将使用不安全的 TCP/IP 流,该流可能会被拦截、欺骗等。如果您想要端到端安全性,并确保您的客户端正在与真实服务器通信(反之亦然),您需要使用 SSL,或(更好)TLSv1 或 TLSv2。 p>
引用文献:
关于java - 如果我使用Java套接字/netty,其他人可以冒充我的服务器,反之亦然吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38760800/