我可以用PHP脚本发送IGMP数据包吗?IGMP是否位于传输层?
我看到了一些去往224.0.0.251的加入数据包。
我注意到IP报头没有分配端口,但指定了MAC地址,这让我相信IGMP不在传输层,而是在网络层。(希望我说的没错)
有人能帮我澄清一下吗?我只是想发送一个加入数据包。
我正在阅读rfc3376,试图找到答案,但它只是展示了如何构造一个。在尝试这样做的时候,我得到了一个格式错误的数据包。
发布于 2010-04-27 14:44:21
传统上,您将使用套接字选项IP_ADD_MEMBERSHIP (和相应的IP_DROP_MEMBERSHIP)来加入多播组。这将触发操作系统生成IGMP加入分组。
这些选项是使用级别“IPPROTO_IP”设置为setsockopt()的
根据bugs.php.net站点上的this问题,默认情况下这些选项不可用。但是,该页面上列出了一个补丁,可以将它们添加到您的php安装中。
发布于 2010-03-23 06:42:01
可能不会使用现有的PHP方法。现有的扩展允许您访问TCP/UDP层,但不能在其下访问。您可能可以使用一些命令行工具来完成此任务,例如Nemesis project提供的nemesis igmp。
https://stackoverflow.com/questions/2494729
复制相似问题