再次高分提问!抓组播包问题,不加入组播组如何用socket接收到组播报文??

aming112 2006-12-17 10:08:07
局域网有电脑在强行推送组播视频报文,也就是说我的电脑直接用抓包软件在网卡抓包就能抓到一大堆组播报文。

现在我需要在不发送组播加入报文的前提下,如何用socket接收组播报文。
我曾经尝试用原始套接字的方法来接收,但是失败了,一个组播报文都收不到,
但是一旦我发送了加入报文就可以接收得到了。

按照如下方式是抓不到组播报文的,请高手不吝赐教:
int sockRaw = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
setsockopt(sock, IPPROTO_IP, IP_HDRINCL, (char*)&flag, sizeof(flag);
bind(sockRaw, (PSOCKADDR)&addrLocal, sizeof(addrLocal);
ioctlsocket(sockRaw, SIO_RCVALL, &dwValue);
...全文
1085 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
konj 2007-03-01
  • 打赏
  • 举报
回复
up
aming112 2007-02-28
  • 打赏
  • 举报
回复
谢谢楼上回复,在最顶上的代码“int sockRaw = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);”就是用的RAW SOCKET,可是还是抓不到
双杯献酒 2007-02-28
  • 打赏
  • 举报
回复
听说有种 RAW SOCKET
或许可以,但我没用过.
aming112 2007-02-26
  • 打赏
  • 举报
回复
up
LiChenYue 2006-12-20
  • 打赏
  • 举报
回复
Winpcap有个例子可以到他们网站去下来看看!
aming112 2006-12-20
  • 打赏
  • 举报
回复
难道就没有办法??
顶上去!!!
aming112 2006-12-19
  • 打赏
  • 举报
回复
是,的确可以通过wipcap来抓报文,那样我就和抓包软件差不多。但是我更希望能通过soket编程方式实现。
qq_sugar 2006-12-19
  • 打赏
  • 举报
回复
可以通过wipcap来抓去报文
aming112 2006-12-18
  • 打赏
  • 举报
回复
实际上我是需要实现IGMP V3的组播。
也就是说我的加入报文是IGMP V3的,上层路由器能识别,并且能将组播流传下来。
但是我电脑的操作系统一般是WIN2000、WIN98,他们是不识别IGMP V3加入报文的,也就是说电脑认为我没有发送加入报文,所以不接收组播报文。
于是就出现了上面需要解决的问题。
DentistryDoctor 2006-12-18
  • 打赏
  • 举报
回复
为什么需要这样?
yi10000 2006-12-18
  • 打赏
  • 举报
回复
关注中...

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧