【问题标题】:Getting IP address, port and connection type from a socket fd从套接字 fd 获取 IP 地址、端口和连接类型
【发布时间】:2014-06-10 05:33:46
【问题描述】:

我有一个跟踪网络应用程序的跟踪器进程。

给定一个属于被跟踪者的套接字文件描述符,跟踪器是否有可能找到它对应的IP(在服务器的情况下是它绑定到的接口的IP,在客户端的情况下是用于建立连接的接口地址)、端口号和连接类型?是否有可用于完成这项工作的 libc API? /proc 中的任何信息可以使用吗?

另外,有没有办法区分对应于套接字的文件描述符和对应于打开文件或设备的文件描述符?

【问题讨论】:

  • 我已经进行了编辑以澄清差异,谢谢。
  • 文件描述符属于被跟踪者,因此您想要的这些事情不可能从任何其他进程直接执行(我不确定跟踪是否没有任何机制可以解决this) 不通过 sendmsg 传递 fd 例如

标签: linux sockets network-programming libc ptrace


【解决方案1】:

您可以通过调用相应的标志使用 ioctl() 系统调用来为它使用 ifreq 结构。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-08
    • 1970-01-01
    • 2012-04-27
    • 2019-08-28
    • 2010-12-26
    • 1970-01-01
    • 2013-02-07
    • 2013-01-20
    相关资源
    最近更新 更多