项目

一般

简介

网络监控(防火墙)接口定义

接口  含义
EbnftOpenDriver 获取驱动句柄.
EbnftIpMonitorStop 关闭防火墙.
EbnftIpMonitorAllow 开启防火墙,允许网络通信.
EbnftIpMonitorBlock 开启防火墙,阻断网络通信.
EbnftAddBlackRule 添加黑名单.
EbnftDeleteBlackRule 删除黑名单.
EbnftAddWhiteRule 添加白名单.
EbnftDeleteWhiteRule 删除白名单.
EbnftClearBlackRule 删除所有黑名单.
EbnftClearWhiteRule 删除所有白名单.
EbnftClearAllRule 删除所有黑白名单.
EbnftQueryAllRules 获取白名单.
GetIPAddrByIpAddString 把IP地址字符串转换成整型

获取驱动句柄

打开驱动获取驱动句柄,成功打开后的句柄利用CloseHandle(HANDLE hObject) 关闭。

HANDLE
EbnftOpenDriver(
);
返回值  含义
HANDLE 驱动打开后的句柄.

关闭防火墙

关闭防火墙,使得所有网络都能够正常通信

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地址被正确转换.

导出 PDF HTML TXT