我正在与WFP一起做一些工作,我在FWPM_LAYER_ALE_CONNECT_REDIRECT_V4层上遇到了阻塞过滤器的问题。它必须阻止从本地ip传输,但它没有。如果我改变层到FWPM_LAYER_ALE_AUTH_CONNECT_V4过滤器工作正常。
所以我有几个问题:
1)我能否在FWPM_LAYER_ALE_CONNECT_REDIRECT_V4层阻止指定的本地ip (下面的代码不起作用)?
( 2)我们能在local_ip(或ale_bind_redirect)层上使用ale_connect_redirect(或ale_bind_redirect)来创建条件吗?
UINT32 test_wfp_filter(HANDLE engine_handle,
FWP_V4_ADDR_AND_MASK* source_ip,
UINT8 weight)
{
UINT32 status;
FWPM_FILTER filter = { 0 };
FWPM_FILTER_CONDITION filter_conditions[1] = { 0 };
filter_conditions[0].fieldKey = FWPM_CONDITION_IP_LOCAL_ADDRESS;
filter_conditions[0].matchType = FWP_MATCH_EQUAL;
filter_conditions[0].conditionValue.type = FWP_V4_ADDR_MASK;
filter_conditions[0].conditionValue.v4AddrMask = source_ip;
status = UuidCreate(&(filter.filterKey));
if (status != NO_ERROR)
{
return status;
}
filter.layerKey = FWPM_LAYER_ALE_CONNECT_REDIRECT_V4;
//With this layerKey filter doesn't work,
//but with FWPM_LAYER_ALE_AUTH_CONNECT_V4 filter works properly
filter.displayData.name = L"Blocking filter";
filter.displayData.description = L"Blocks all trafic from current comp";
filter.action.type = FWP_ACTION_BLOCK;
filter.subLayerKey = WFP_TEST_SUBLAYER;
filter.weight.type = FWP_UINT8;
filter.weight.uint8 = weight;
filter.filterCondition = filter_conditions;
filter.numFilterConditions = 1;
status = FwpmFilterAdd(engine_handle, &filter, 0, 0);
return 0;
}谢谢!
发布于 2016-02-02 16:02:12
你想要达到的目标并不是百分之百的显而易见,而是:
https://stackoverflow.com/questions/34986867
复制相似问题