Firewall(防火墙)实现点滴之论坛!
本人查过Firewall这方面的是实现资料,发现大部分都是在讲RAW SOCK的实现方法,但其不能在win98&win95平台实现.而针对DDK&Ndis这方面的实现代码却少之少,Ndis却可以实现既在win98&win95实现也可在w2000&XP实现。本人在这方面也不太懂,希望各位能给点帮助!
本人看过也研究过:
1、window环境:windump 和wpcap的实现原理和方法(http://netgroup-serv.polito.it/netgroup/tools.html).但因其牵涉底层性的原因直今没有找到一适合自己的一中实现方法.
2、linux环境:ipchain(netfilter.samba.org)与內核(www.kernel.org)、tcpdump 和libcap(www.tcpdump.org)的实现原理及方法.因linux最可贵的是Free故本人可以随时找到相应的实现代码及內核实现代码,总算可以明白其大概.
以上括号中都可以找到原代码!
我想window与linux的原理实现和实现方法应该一制,RAW sock及SOCK_PACKET绝对可在linux下实现,且RAW sock也可在w2000&NT实现,raw socket可以获取网络层的数据包,但不能获取链路层数据包,且只可在NT&W2000中实现,在W98&W95中raw socket却未能获取及过滤.
-------------------------------------------------------------------------
要求:
而我现在要实现一IP包过滤的简单防火墙,又可在W95&W98&W2000都可以实现.RAW SOCK就派不上用场了.
问题:
我剩下的问题是利用DDK&Ndis 或windump&wpcap中的pcap.dll&packet32.dll
1、怎样获取IP包?
2、怎样分析IP包?
3、获取、分析后怎样处理IP包?怎样写IP&UDP&TCP&ICMP包头进行回复?(处理包括:1、ACCEPT,2、FORWARD,3、REJECT,4、DENY.写IP&UDP&TCP&ICMP包头)
4、有DDK&Ndis或pcap和libcap这方面的资料或书籍都可指点!
最后如各位有提示代码,联系:
lltxyz@trumptech.com.cn lltxyz@21cn.com
本人衷心感谢!