[转载]WinPcap3.1的手动安装方法
文章作者:RIVULET
信息来源:rivulet's blog(www.rivuletblog.bokee.com )
1,安装需要用到以下文件,Packet.dll,WanPacket.dll,wpcap.dll,pthreadVC.dll,npf.sys(在正 常安装WinPcap3.1后,这些文件存放在%windir%/system 和 %windir/system32/drivers%中);
2,将文件Packet.dll,WanPacket.dll,wpcap.dll,pthreadVC.dll复制到%windir%/system32中,将npf.sys复制到%windir/system32/drivers中;
3,将npf安装为驱动,以下是使用sc.exe的安装方法: sc create npf binpath= system32/drivers/npf.sys type= kernel start= demand 你也可以使用其他工具;
4,卸载方法:先停止驱动npf(sc stop npf),再删除驱动(sc delete npf),最后删除上文提到的5个文件;
5,注意:该方法只对WinPcap3.1的文件进行了测试;
第二种方法(其实是一样的,只是通过程序代替了SC)
问:我在写一个程序时候用到了winpcap中的packed.lib这个库,我想在程序运行是不用安装WINPCAP就可以使用程序,请问我要用到WINPCAP中的那些文件,谢谢。
答
packet.dll
wpcap.dll
wanpacket.dll
win2000/xp/2003系统在安装WinPCap驱动后,这三个文件都位于<system32>目录下。
不过光有这三个文件是不够的,还要安装npf.sys驱动。
程序中可以先把npf.sys复制到<system32>/drivers/目录,再通过CreateService安装服务。下面是示例代码:
SC_HANDLE scmHandle = NULL;
SC_HANDLE srvHandle = NULL;
LPCTSTR NPFServiceName = TEXT("NPF");
LPCTSTR NPFServiceDesc = TEXT("Netgroup Packet Filter");
LPCTSTR NPFDriverPath = TEXT("system32//drivers//npf.sys");
scmHandle = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
if (scmHandle) {
srvHandle = CreateService(scmHandle,
NPFServiceName,
NPFServiceDesc,
SERVICE_ALL_ACCESS,
SERVICE_KERNEL_DRIVER,
SERVICE_DEMAND_START,
SERVICE_ERROR_NORMAL,
NPFDriverPath,
NULL, NULL, NULL, NULL, NULL);
if (srvHandle) CloseServiceHandle(srvHandle);
CloseServiceHandle(scmHandle);
}
以上是网上搜索到的答案,是否正确尚未经本人验证。