网络监控(防火墙)接口定义¶
| 接口 |
含义 |
| EbnftOpenDriver |
获取驱动句柄. |
| EbnftIpMonitorStop |
关闭防火墙. |
| EbnftIpMonitorAllow |
开启防火墙,允许网络通信. |
| EbnftIpMonitorBlock |
开启防火墙,阻断网络通信. |
| EbnftAddBlackRule |
添加黑名单. |
| EbnftDeleteBlackRule |
删除黑名单. |
| EbnftAddWhiteRule |
添加白名单. |
| EbnftDeleteWhiteRule |
删除白名单. |
| EbnftClearBlackRule |
删除所有黑名单. |
| EbnftClearWhiteRule |
删除所有白名单. |
| EbnftClearAllRule |
删除所有黑白名单. |
| EbnftQueryAllRules |
获取白名单. |
| GetIPAddrByIpAddString |
把IP地址字符串转换成整型 |
获取驱动句柄¶
打开驱动获取驱动句柄,成功打开后的句柄利用CloseHandle(HANDLE hObject) 关闭。
HANDLE
EbnftOpenDriver(
);
关闭防火墙¶
关闭防火墙,使得所有网络都能够正常通信
BOOL
EbnftIpMonitorAllow(
_In_ HANDLE bDeviceHandle
);
| 参数 |
含义 |
| bDeviceHandle |
驱动句柄. |
| 返回值类型 |
返回值 |
含义 |
| BOOL |
TRUE |
正确关闭防火墙. |
| FALSE |
关闭防火墙发生错误. 利用GetLastError() 获取错误详细信息 |
开启防火墙,允许网络通信¶
开启网络IP监控防火墙功能,并使得所有黑白名单之外的IP地址都能够正常通信
BOOL
EbnftIpMonitorStop(
_In_ HANDLE bDeviceHandle
);
| 参数 |
含义 |
| bDeviceHandle |
驱动句柄. |
| 返回值类型 |
返回值 |
含义 |
| BOOL |
TRUE |
正确开启防火墙. |
| FALSE |
开启防火墙发生错误. 利用GetLastError() 获取错误详细信息 |
开启防火墙,阻断网络通信¶
开启网络IP监控防火墙功能,并阻断黑白名单之外的通信
BOOL
EbnftIpMonitorBlock(
_In_ HANDLE bDeviceHandle
);
| 参数 |
含义 |
| bDeviceHandle |
驱动句柄. |
| 返回值类型 |
返回值 |
含义 |
| BOOL |
TRUE |
正确开启防火墙. |
| FALSE |
开启防火墙发生错误. 利用GetLastError() 获取错误详细信息 |
获取防火墙状态¶
获取当前防火墙是否开启,获取防火墙开启时状态
BOOL
EbnftIpMonitorQuery(
_In_ HANDLE bDeviceHandle,
_Out_ PINT status
);
| 参数 |
传入/传出 |
含义 |
| bDeviceHandle |
传入 |
驱动句柄. |
| status |
传出 |
当前防火墙状态. |
| IpMonitorNone = 0 |
防火墙关闭状态. |
| IpMonitorAllow = 1 |
防火墙打开,允许网络通信. |
| IpMonitorBlock = 2 |
防火墙关闭,阻断网络通信. |
| 返回值类型 |
返回值 |
含义 |
| BOOL |
TRUE |
正确开启防火墙. |
| FALSE |
获取防火墙状态发生错误. 利用GetLastError() 获取错误详细信息 |
添加黑名单¶
把IP区间或独立IP地址添加到黑名单,阻断此ip通信
BOOL
EbnftAddBlackRule(
_In_ HANDLE bDeviceHandle,
_In_ UINT32 blackAddr1,
_In_ UINT32 blackAddr2
);
| 参数 |
传入/传出 |
含义 |
| bDeviceHandle |
传入 |
驱动句柄. |
| blackAddr1 |
传入 |
IP区间开始IP / 独立IP地址. |
| blackAddr2 |
传入 |
IP区间结束IP / 为0时代表独立IP. |
其中:整形IP地址结构为 xxx1 << 24 |xxx2 << 16 |xxx3 << 8 |xxx4 <假定IP字符串:xxx1.xxx2.xxx3.xxx4>
| 返回值类型 |
返回值 |
含义 |
| BOOL |
TRUE |
正确添加黑名单. |
| FALSE |
添加黑名单失败. 利用GetLastError() 获取错误详细信息 |
| 错误值 |
含义 |
| 0 |
无错误. |
| 0xE00B0001L |
当前黑名单中已经存在相同IP地址/区间 判断标准为 相同的IP地址(区间) |
删除黑名单¶
把IP区间或独立IP地址从当前黑名单中删除
BOOL
EbnftDeleteBlackRule(
_In_ HANDLE bDeviceHandle,
_In_ UINT32 blackAddr1,
_In_ UINT32 blackAddr2
);
| 参数 |
传入/传出 |
含义 |
| bDeviceHandle |
传入 |
驱动句柄. |
| blackAddr1 |
传入 |
要删除的IP区间开始IP / 独立IP地址. |
| blackAddr2 |
传入 |
要删除的IP区间结束IP / 为0时代表独立IP. |
| 返回值类型 |
返回值 |
含义 |
| BOOL |
TRUE |
正确删除黑名单. |
| FALSE |
删除黑名单失败. 利用GetLastError() 获取错误详细信息 |
| 错误值 |
含义 |
| 0 |
无错误. |
| 0xE00B0003L |
当前黑名单无此IP地址(区间) |
添加白名单¶
把IP区间或独立IP地址添加到黑名单列表中
BOOL
EbnftAddWhiteRule(
_In_ HANDLE bDeviceHandle,
_In_ UINT32 whiteAddr1,
_In_ UINT32 whiteAddr2
);
| 参数 |
传入/传出 |
含义 |
| bDeviceHandle |
传入 |
驱动句柄. |
| whiteAddr1 |
传入 |
要添加的IP区间开始IP / 独立IP地址. |
| whiteAddr2 |
传入 |
要添加的IP区间结束IP / 为0时代表独立IP. |
| 返回值类型 |
返回值 |
含义 |
| BOOL |
TRUE |
正确添加白名单. |
| FALSE |
添加白名单失败. 利用GetLastError() 获取错误详细信息 |
| 错误值 |
含义 |
| 0 |
无错误. |
| 0xE00B0001L |
当前已存在相同IP(区间)的白名单 |
删除白名单¶
把IP区间或独立IP地址从黑名单列表中删除
BOOL
EbnftDeleteWhiteRule(
_In_ HANDLE bDeviceHandle,
_In_ UINT32 whiteAddr1,
_In_ UINT32 whiteAddr2
);
| 参数 |
传入/传出 |
含义 |
| bDeviceHandle |
传入 |
驱动句柄. |
| whiteAddr1 |
传入 |
要删除的IP区间开始IP / 独立IP地址. |
| whiteAddr2 |
传入 |
要删除的IP区间结束IP / 为0时代表独立IP. |
| 返回值类型 |
返回值 |
含义 |
| BOOL |
TRUE |
正确删除白名单. |
| FALSE |
删除白名单失败. 利用GetLastError() 获取错误详细信息 |
| 错误值 |
含义 |
| 0 |
无错误. |
| 0xE00B0003L |
不存在当前IP(区间)白名单 |
删除所有黑名单¶
删除当前所有黑名单
BOOL
EbnftClearBlackRule(
_In_ HANDLE bDeviceHandle
);
| 参数 |
传入/传出 |
含义 |
| bDeviceHandle |
传入 |
驱动句柄. |
| 返回值类型 |
返回值 |
含义 |
| BOOL |
TRUE |
正确删除黑名单. |
| FALSE |
删除黑名单失败. 利用GetLastError() 获取错误详细信息 |
删除所有白名单¶
删除当前所有白名单
BOOL
EbnftClearWhiteRule(
_In_ HANDLE bDeviceHandle
);
| 参数 |
传入/传出 |
含义 |
| bDeviceHandle |
传入 |
驱动句柄. |
| 返回值类型 |
返回值 |
含义 |
| BOOL |
TRUE |
正确删除白名单. |
| FALSE |
删除黑名单失败. 利用GetLastError() 获取错误详细信息 |
删除所有黑白名单¶
删除当前所有黑白名单
BOOL
EbnftClearAllRule(
_In_ HANDLE bDeviceHandle
);
| 参数 |
传入/传出 |
含义 |
| bDeviceHandle |
传入 |
驱动句柄. |
| 返回值类型 |
返回值 |
含义 |
| BOOL |
TRUE |
正确删除所有黑白名单. |
| FALSE |
删除黑名单失败. 利用GetLastError() 获取错误详细信息 |
把IP地址字符串转换成整型¶
把类型为xxx1.xxx2.xxx3.xxx4的IP字符串转换成IP整形 xxx1 << 24 |xxx2 << 16 |xxx3 << 8 |xxx4
BOOL
GetIPAddrByIpAddString(
_In_ IP_ADDRESS_STRING bIpAddrString,
_Inout_ PINT32 bIpAddr
);
| 参数 |
传入/传出 |
含义 |
| bIpAddrString |
传入 |
字符串类型IP地址. |
| bIpAddr |
传出 |
整形IP地址. |
| 返回值类型 |
返回值 |
含义 |
| BOOL |
TRUE |
IP地址被正确转换. |