问题: xinetd(扩展 Internet 服务守护程序)将输入映射到服务的标准输入,并将输出映射到服务的标准输出。
换句话说,假设一个用 C 编写的自定义 TCP 服务,进入端口X的数据被映射到服务的标准输入,而服务的标准输出被映射到来自端口Y的数据。
同样,假设一个用 C 编写的自定义 TCP 服务,该服务有没有办法确定连接客户端的 IP 地址?
Web Research: 截至发布此问题时,Stack Exchange(或其他地方)没有其他问题专门处理用 C 编写的 xinetd TCP 服务,试图确定连接客户端的 IP 地址。
有类似的问题:
- 处理 PHP(Xinetd 用 PHP 获取远程 IP)。
- 处理通用客户端/服务器(确定服务器上连接客户端的 IP 地址)
但没有人回答这篇文章中详述的具体问题。
后续注意事项: xinetd 获取与 TCP 端口X关联的套接字描述符并将其映射到服务的标准输入。
认识到这一事实可以进行更好的网络搜索,从而得到以下答案: