从套接字文件描述符获取IP地址、端口和连接类型

3
我有一个跟踪网络应用程序的跟踪进程。
在给定跟踪对象的套接字文件描述符的情况下,跟踪进程是否能够找到其对应的IP地址(服务器绑定的接口IP地址,客户端连接使用的接口地址),端口号和连接类型?是否有libc API可用于此目的?有没有可以使用的/proc信息?
另外,是否有办法区分与套接字对应的文件描述符和打开的文件或设备对应的文件描述符?

可能是[从套接字描述符获取IP地址?]的重复问题(https://dev59.com/3W7Xa4cB1Zd3GeqPlxj1) - emil
我已经进行了编辑,澄清了差异,谢谢。 - user277465
文件描述符属于被跟踪进程,因此这些你想要的东西不可能直接从其他进程中进行(我不确定跟踪是否有任何机制可以解决这个问题),除非通过 sendmsg 传递 fd。 - zoska
1个回答

1
你可以使用ioctl()系统调用,通过调用相应的标志位来使用ifreq结构体进行编程。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接