gpt4 book ai didi

Java TCP 获取域名?

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

如何从 TCP 连接获取域名?

因为我正在尝试制作代理类型软件,但它必须检测域是什么,然后转到它需要的地方。但是我不确定如何从客户那里获取域名。

最佳答案

没有通用方法可以从 TCP 连接获取目标域或主机名,因为连接仅由其目标 IP 地址而不是主机名定义,并且单个目标 IP 地址可能有多个名称。但是,虽然没有通用方法可以从所有 TCP 连接获取目标名称,但使用 HTTP 之上的某些协议(protocol)是可能的:

  • 如果是 HTTP,您可能会查看 HTTP 主机 header ,其中包含目标主机名,并且由几乎所有 HTTP 堆栈设置(HTTP/1.1 需要)。
  • 使用 SSL,您可能会尝试从 SSL 握手中的初始 ClientHello 消息中提取主机名,以防客户端使用 SNI(服务器名称指示)。所有现代浏览器都使用 SNI,但 IE8 等较旧的浏览器不使用 SNI,也不使用较旧的 Java、Python、Perl、Ruby ... 应用程序。

关于Java TCP 获取域名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30444583/

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