我正在编写一些代码,以查看WinXP和Vista的防火墙例外列表中是否存在针对我们客户端软件使用的特定端口的漏洞。
我可以看到我可以使用NetFwMgr.LocalPolicy.CurrentProfile.GloballyOpenPorts
来获取当前开放端口异常的列表。但我不知道如何将枚举列表放入我可以在我的 Delphi 程序中使用的东西中。
下面列出了我的最新尝试。当我使用port_list.Item
. 我知道那是错误的,这主要是我的一厢情愿。任何帮助,将不胜感激。
function TFirewallUtility.IsPortInExceptionList(iPortNumber: integer): boolean;
var
i, h: integer;
port_list, port: OleVariant;
begin
Result := False;
port_list := mxFirewallManager.LocalPolicy.CurrentProfile.GloballyOpenPorts;
for i := 0 to port_list.Count - 1 do
begin
port := port_list.Item[i];
if (port.PortNumber = iPortNumber) then
begin
Result := True;
break;
end;
end;
end;