liuyinfeng的回复:
关于防火墙,如果您想完成包过滤的功能,我是指真正意义上的包过滤,那么和您用vb,tc,或vc是无关的,如果在window平台下,您用且只能用标准c,然后用NDIS,在数据包进入协议栈,系统还没有处理前截获它,进行您自己的处理。这就是为什么要选择NDIS的原因,理论上,NDIS属于驱动程序级的东西,它是在操作系统的下面,这样,我们才能抢先在操作系统之前进行我们的处理。
NDIS的要求就是ANSI C,没听说过VB做防火墙的,除非是界面,关键的东西绝对是C,计算机专业大三的学生不应该还是新手!两个月你不用想着什么都自己做,那样不切实际。NDIS是MS的网络设备接口规范的缩写,那是在windows下做防火墙必须知道的东西,而且关键是对DDK中NDIS部分的了解,语言除了C,你不用想别的了
NDIS (网络驱动器接口规范)是Windows的通信协议程序(比如TCP/IP)和网络设备驱动器之间通信的规范。NDIS为下面几种规定了接口:1.通过从叫做帧的格式化单位(有时叫信息包或数据包)发送和接收提取数据的程序。这个程序通常叫做协议堆栈,通常它是开放式系统互连参考模型(OSI)的第三或者第四层(网络寻址和传输层)。例子是TCP/IP和Internet网络信息包交换。2.设备驱动程序,它直接和网络接口卡(NIC)或者其他硬件适配器交互,这些设备以电信号的形式在通信线路上接受和发送数据。驱动程序和NIC在数据链路控制(MAC地址)层的媒体访问子层交互。(把信号放在线路上的是1层或者OSI的物理层)。MAC驱动程序的例子是那些以太网,光纤分布式数据接口和令牌网的驱动程序。3.协议管理器程序,在系统启动或者添加了新设备的时候这个程序告诉每个辅助协议堆栈程序和MAC驱动程序其他计算机的位置。这是所谓的绑定。系统文件PROTOCOL.INI确定协议堆栈使用的MAC驱动程序和他们的位置。在一台计算机连接入多个网络的时候,一个协议堆栈可以用于多个MAC驱动程序。一个单独的MAC驱动程序也能绑定到一台计算机的多个协议堆栈里。NDIS是由微软和3Com开发的。使用NDIS,Windows软件开发者可以为任何硬件开发商的通信适配器开发针对MAC驱动程序的协议堆栈。通过同样的方法,任何一个适配器厂商都可以编写适用于任何协议堆栈程序的MAC驱动程序软件。一个类似的接口程序叫做开放数据连接接口(ODI),它用于Novell的NetWare局域网开放系统。最新的NDIS版本NDIS 5.0规定了Windows 98和Windows NT 5.0的接口。在它里面为新型的微型端口设备模型确立了即插即用设备的特征。
欢迎光临 黑色海岸线论坛 (http://bbs.thysea.com/) | Powered by Discuz! 7.2 |