【发布时间】:2012-01-29 21:17:30
【问题描述】:
是否可以使用 libpcap 获取捕获的 tcp 数据包的有效 uid?换句话说,我可以使用 libpcap 来获取创建该数据包的用户 id 吗?
【问题讨论】:
是否可以使用 libpcap 获取捕获的 tcp 数据包的有效 uid?换句话说,我可以使用 libpcap 来获取创建该数据包的用户 id 吗?
【问题讨论】:
不,UID 信息 - 如果有任何开始 - 不会通过 pcap 使用的 AF_PACKET 通道传播。
【讨论】:
如果数据包是从另一台计算机发送的,则无法保证发送数据包的人具有用户 ID - 例如,它可能是由具有没有用户 ID 的概念。
如果数据包是从您的计算机发送的,libpcap 本身无法告诉您发送者的用户 ID。但是,如果您解析 TCP 数据包,您可以获得数据包的源 IP 地址和端口号,并且根据您运行的操作系统,您可能能够获得所有活动 TCP 连接的表您的机器,可能带有与之关联的进程 ID 或用户 ID。 (但是请注意,例如,在 UN*X 系统上,给定 TCP 连接的给定文件描述符可以由使用不同有效或真实用户 ID 运行的多个进程共享,在这种情况下,如果您只有如果使用 libpcap 捕获传输的数据包,您将没有足够的信息来确定发送数据包的进程的有效或真实用户 ID,因为您不知道发送数据包的进程。)
【讨论】: