阅读:2219回复:3
Ip包的源地址和目的地址的位置?
我想问一下passthru中mpsend()函数中的packet包
是以太网包,他的13、14字节是表示协议的,为8、0 的是不是一定是ip包呢?我现在抓到一些奇怪的包, 即:13、14字节是8、0,但是 但是第26-33字节不是源和目的地址(具体点,就是抓 udp或者ping 包的时候,13、14字节显示为ip包,但是 从26--29不是源地址好像28-31是,而目的地址就不知道 是在那里了)。 还有,请问udp协议在以太网头的24字节是17还是16。 有前面的文章说是17,怎么我抓到的udp包都是16呢? |
|
最新喜欢:![]()
|
沙发#
发布于:2001-09-12 10:31
我的抓包程序市放在NdisSend,会不会位置放的不对?
NdisSend(&Status, pAdapt->BindingHandle, MyPacket); //////////////////new adding if(MyPacket!= NULL) { NdisQueryPacket(MyPacket, NULL, NULL, &firstBuffer, &totalLength1); if( firstBuffer != NULL) { NdisQueryBuffer(firstBuffer, &virtualAddress, &totalLength); if(!virtualAddress) { } else { va=(char*)virtualAddress; if ((va[12] == 8)&& (va[13] == 0)) { if(totalLength1>(READLEN-1)) { totalLength=READLEN-1; m_count++; if(m_count==(PACKET_BUFFER_MAXLEN-1)) { m_count=PACKET_BUFFER_MAXLEN-2; m_overflowcount++; } //va[totalLength-1]=m_overflowcount; RtlCopyMemory(m_Packet[m_buffercount],va,totalLength); m_buffercount++; if(m_buffercount==(PACKET_BUFFER_MAXLEN-1)) m_buffercount=1; } }//if ((va[12] == 8)&& (va[13] == 0)) }//if(!virtualAddress) }//if( firstBuffer != NULL) }//if(Packet!= NULL) ///////////////////////new adding |
|
|
板凳#
发布于:2001-09-14 11:40
不好意思,这是程序的bug.真的是很菜,希望
没有给大家带来什么麻烦。 |
|
|
地板#
发布于:2004-10-27 16:52
你的问题解决了吗,我也在研究这方面的问题,希望能得到你的帮助,谢谢!
|
|