使用PHP中提供的API读取TCP套接字的序列号?

时间:2011-12-17 16:35:53

标签: php sockets tcp

PHP中可用的任何API是否允许我从TCP套接字读取TCP状态机的当前序列号?

1 个答案:

答案 0 :(得分:1)

(AFAIK)编号

这将需要访问TCP标头,其中没有任何基于套接字的扩展(socketsstreams)将提供访问权限。

SOCK_STREAM仅提供数据有效负载,它不会(再次,AFAIK)允许您获取有关流的低级内部工作的任何信息 - 因为,理论上,您不必担心它

可能(?)可以使用SOCK_RAW实现TCP流,在这种情况下,您可以 访问此信息,但我我甚至没有100%的自信,你可以肯定,即使它是,也不值得打扰。

说完所有这些 - 取决于你的低级编码技能有多好,你可以构建一个PHP扩展来与libpcap接口。你也可能能够通过exec() tcpdump做一些事情,只要它在主机系统上可用 - 尽管同样,我有点怀疑它,我怀疑如果甚至可以用不支持多线程的语言实现,这将是非常困难的。这两个选项中的任何一个都需要检查数据包的有效负载,并将它们与您从PHP发送的数据进行比较,以便将数据与SEQ数字同步。