阅读:1946回复:4
求一段关于ARP报文过滤的源代码由于要写毕业论文,想写关于通过中间层驱动过滤ARP欺骗报文方面的技术.所以希望得到各位帮助,找相关的源代码或者文献来研究一下. PS:最近工作很难找,想留多点时间找工作,论文问题希望可以得到各位指导一下,可怜一下小弟,谢谢~ |
|
沙发#
发布于:2009-02-01 22:50
我的毕设也是arp防火墙
没什么头绪,刚开始看ddk中passthru的源代码 希望多多交流交流 QQ:164587043 |
|
板凳#
发布于:2009-02-04 11:17
使用passthru完全可以实现你的要求
分析收到的数据,如果是ARP包就过滤掉 |
|
|
地板#
发布于:2009-02-11 15:13
/*******************NdisQueryPacket**********************
*NdisQueryPacket returns information about a given packet. *NdisBuffer---Pointer to a caller-supplied variable in *which this function returns a pointer to the initial *buffer descriptor chained to the given packet. *******************************************************/ NdisQueryPacket(Packet, &PhysicalBufferCount, &BufferCount, &NdisBuffer, &TotalPacketLength); //分配我们自己的内存块 Status = NdisAllocateMemoryWithTag(&mybuffer, 2048, TAG); if(Status != NDIS_STATUS_SUCCESS) { DbgPrint("NdisAllocateMemory fail!\n"); return NDIS_STATUS_FAILURE; } NdisZeroMemory(mybuffer, 2048); /*************NdisQueryBufferSafe***************** *NdisQueryBufferSafe retrieves the size of the range, *and optionally the base virtual address, *from a buffer descriptor. *tembuffer---Pointer to a caller-supplied variable in *which this function returns the base virtual address *of the range described *************************************************/ NdisQueryBufferSafe(NdisBuffer, &tembuffer,//取得NDIS_BUFFER描述符中数据的首地址和大小 ©size, NormalPagePriority); //将数据复制到我们的内存中 NdisMoveMemory(mybuffer, tembuffer, copysize); DataOffset = copysize ; while(1) { //获得下一个NDIS_BUFFER的的指针 NdisGetNextBuffer(NdisBuffer, &NdisBuffer); if(NdisBuffer == NULL) break; NdisQueryBufferSafe(NdisBuffer, &tembuffer, ©size, NormalPagePriority); NdisMoveMemory(mybuffer + DataOffset, tembuffer, copysize); DataOffset += copysize; } //如果不是ip包则放行 if(RtlUshortByteSwap(myEthHdr->Type) != EthHTypeIP) { DbgPrint("Not ip packet!\n"); goto done; } myIPHdr = (pIPHdr)(mybuffer + sizeof(EthHdr)); 这是我用来过滤ip包的,不知道你们需不需要,我以前做过arp攻击检测,不过是基于ip,mac对照表的。 |
|
地下室#
发布于:2009-03-10 15:36
我毕业也是做ARP防火墙哎,哎,我现在在公司实习,根本没时间做,后天还要有个进度汇报,没搞头了
|
|