阅读:1694回复:6
遇到一个有趣的BUG+
自己的一段代码,实现简单的包过滤和IP层加密,是在NDIS_FW的基础上改的,一直运行正常,但前几天一师兄无意中将网线拔下再插上,出现了蓝屏,我怀疑与PNP有关,哪位高手遇到过此问题?我不清楚在插拔网线时系统底层行为,希望大家赐教
|
|
沙发#
发布于:2004-05-17 08:50
这里的精华区就有,你先看看再说。
|
|
板凳#
发布于:2004-05-17 08:18
确实是用HOOK来抓包的,但我的改动没有涉及到HOOK部分,仅仅是在抓到包后对包进行处理,主要的改动就是用新的包代替原来的,因为要做加密.在不改动的情况下NDIS_FW没有出现这个问题.
我不太清楚NDIS更新是怎么回事,能详细说明一下吗?或者在哪些资料上能找到,GJP的代码哪里有? |
|
地板#
发布于:2004-05-12 10:07
NDIS_FW,我没猜错的话是HOOK的吧,OPEN_BOLCK在网络环境改变的时候有NDIS更新,你HOOK的,当然要有你更新,不然你会指向不可用的地址。GJP的代码处理了这个问题。
|
|
地下室#
发布于:2004-05-12 08:22
谢谢,这个想到了.以下是我的猜测:
拔掉网线后,上层停止收发包的操作并且释放掉了代表网卡的设备对象,待网线插上后再构造新的,接着上层的协议再绑定到新的设备对象.(这样做的原因是插拔网线后网卡的属性可能会改变,比如联到局域网和插直连线就会有不同)不知道这个想法对不对? |
|
5楼#
发布于:2004-05-10 21:56
网线拔掉后,底层会通知上层网络不可用,因此上层收发包会停止
|
|
6楼#
发布于:2004-05-10 19:12
没有人遇到过这个问题吗?顶上来先!
|
|