原来一直以为组播的用的广播的mac地址 FF FF FF FF FF FF
这段时间看windows对tcpip协议的处理。发现收到的包mac是
01-00-5E--00-00-01 有时是 01-00-5E-7F-FF-FA
看来网卡对于 地址 第一字节的 D0=1 网卡是统统接受的。
也是就组播包地址吧
在windows的tcpip协议处理中,也是有判断的[相关程序如下:]
完整的子程序部分在
http://www.netexpert.cn/thread-12652-1-1.html
0008:F61ADDF6 0FB6467F MOVZX EAX,BYTE PTR [ESI+7F] [ESI+7F]=0
0008:F61ADDFA 8A0408 MOV AL,[ECX+EAX] ;此处是 [mac地址的第一个字节]
0008:F61ADDFD 22467D AND AL,[ESI+7D] ;为了比较 [ESI+7D]==1
0008:F61ADE00 2A467E SUB AL,[ESI+7E] ;是否是广播 [ESI+7D]==1
0008:F61ADE03 F6D8 NEG AL ;地址,或其他
0008:F61ADE05 1BC0 SBB EAX,EAX ;特殊地址的包 ;[现在看来是组播包]
0008:F61ADE07 33D2 XOR EDX,EDX
0008:F61ADE09 40 INC EAX
0008:F61ADE0A 39966C010000 CMP [ESI+0000016C],EDX
0008:F61ADE10 894508 MOV [EBP+08],EAX
同时通过程序判断,组播地址的位,是可以改变的
[
本帖最后由 softice_debug 于 2006-12-25 19:54 编辑 ]