gpt4 book ai didi

java - 使用 java 获取 NAT 网关或代理后面的 SSL 客户端的主机名

转载 作者:太空宇宙 更新时间:2023-11-04 08:13:41 26 4
gpt4 key购买 nike

我有一个用 java 编写的 2 路 SSL 客户端和服务器。问题是我的服务器需要能够找到客户端的主机名,并且该客户端位于 NAT 网关或代理后面。我努力了:clientSocket.getRemoteSocketAddress(),clientSocket.getInetAddress().getCanonicalHostName(),clientSocket.getInetAddress().getHostAddress(),

其中 clientSocket 是 SSLSocket 类型,它们都不起作用,它们只是给了我一个公共(public) IP 地址。有没有办法让我获得连接到服务器的客户端的实际主机名?

最佳答案

不是来自套接字。如果远程主机位于 NAT 防火墙后面,那么根据定义,您将看不到其主机名和 IP 地址。您只能看到公共(public) IP 和主机名。

但是,您可以在远程端执行 hostname 命令,并通过 SSh 连接将输出传输回管道。您获取的数据仅与远程主机的配置一样好。无法保证您返回的内容与其内部 DNS 主机名或其他任何内容相匹配。

关于java - 使用 java 获取 NAT 网关或代理后面的 SSL 客户端的主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10796201/

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