最近在跟踪一个有关上传dump的bug(上传用wininet实现),主要是在win7下面上传失败,wininet的api返回的错误号是12030,这个时候呢,没有办法了,一个偶然的机会,想到了是不是防火墙的原因,赶紧关掉试一把,结果还真是的,上传成功。
最后的解决方案就是将上传dump的程序加到防火墙的例外,这也就有了下面的命令。
示例 1: 启用一个程序
展开该表格
旧命令新建命令netsh 防火墙添加 allowedprogram C:/MyApp/MyApp.exe"应用程序"ENABLEnetsh advfirewall 防火墙添加规则名称 = 我的应用程序 dir 操作中的 = = 允许 program=”C:/MyApp/MyApp.exe 启用 = 是netsh 防火墙添加 allowedprogram program=C:/MyApp/MyApp.exe 名称 ="我的应用程序"模式 = ENABLE 范围 = 惯例 addresses=157.60.0.1,172.16.0.0/16,LocalSubnet 配置文件 = 域netsh advfirewall 防火墙添加规则名称 = 我的应用程序 dir 操作中的 = = 允许 program=”C:/MyApp/MyApp.exe 启用 = 是 remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet 配置文件 = 域netsh 防火墙添加 allowedprogram program=C:/MyApp/MyApp.exe 名称 ="我的应用程序"模式 = ENABLE 范围 = 惯例 addresses=157.60.0.1,172.16.0.0/16,LocalSubnet 配置文件 = ALL运行以下命令:netsh advfirewall 防火墙添加规则名称 = 我的应用程序 dir 操作中的 = = 允许 program=”C:/MyApp/MyApp.exe 启用 = 是 remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet 配置文件 = 域netsh advfirewall 防火墙添加规则名称 = 我的应用程序 dir 操作中的 = = 允许 program=”C:/MyApp/MyApp.exe 启用 = 是 remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet 配置文件 = 专用
有关如何添加防火墙规则的详细信息对于运行以下命令:
netsh advfirewall 防火墙添加规则吗?
回到顶端
示例 2: 启用端口
旧命令新建命令netsh 防火墙添加 portopening TCP 80 打开端口 80netsh advfirewall 防火墙添加规则名称 = 打开端口 80 dir 操作中的 = = 允许协议 = TCP localport = 80
有关如何添加防火墙规则的详细信息对于运行以下命令:
netsh advfirewall 防火墙添加规则吗?
回到顶端
示例 3: 删除已启用的程序或端口
旧命令新建命令netsh 防火墙删除 allowedprogram C:/MyApp/MyApp.exenetsh advfirewall 防火墙删除规则名称 = rule nameprogram=”C:/MyApp/MyApp.exe删除 portopening 协议 = UDP 端口 = 500netsh advfirewall 防火墙删除规则名称 = rule name 协议 = udp localport = 500
有关如何删除防火墙规则的详细信息对于运行以下命令:
netsh advfirewall 防火墙删除规则吗?
回到顶端
示例 4: 配置 ICMP 设置
旧命令新建命令netsh 防火墙设置 icmpsetting 8netsh advfirewall 防火墙添加规则名称 = ICMP 允许传入 V4 回显请求协议 = icmpv4:8,任何目录操作中的 = = 允许netsh 防火墙设置 icmpsetting 类型 = 所有模式都 = 启用netsh advfirewall 防火墙添加规则名称 = 所有 ICMP V4 协议 = icmpv4: 任何、 任何目录操作中的 = = 允许
有关如何配置 ICMP 设置的详细信息对于运行以下命令:
netsh advfirewall 防火墙添加规则吗?
回到顶端
示例 5: 设置日志记录
展开该表格
旧命令新建命令netsh 防火墙集 %systemroot%/system32/LogFiles/Firewall/pfirewall.log 4096 ENABLE 启用日志记录运行以下命令:netsh advfirewall 设置日志记录文件名 %systemroot%/system32/LogFiles/Firewall/pfirewall.log currentprofilenetsh advfirewall 设置 currentprofile 日志记录 maxfilesize 4096netsh advfirewall 集 currentprofile 日志记录 droppedconnections 启用netsh advfirewall 集 currentprofile 日志记录 allowedconnections 启用
有关详细的信息运行以下命令:
netsh advfirewall 设置 currentprofile 吗?
如果要将日志记录的特定配置文件设置,请而不是"currentprofile"选项的使用下列选项之一:
DomainprofilePrivateprofilePublicprofile
回到顶端
示例 6: 启用 Windows 防火墙
旧命令新建命令netsh 防火墙设置 opmode ENABLEnetsh advfirewall 上设置 currentprofile 状态netsh 防火墙设置 opmode 模式 = ENABLE 例外 = 启用运行以下命令:Netsh advfirewall 上设置 currentprofile 状态 netsh advfirewall 设置 currentprofile firewallpolicy blockinboundalways,allowoutboundnetsh 防火墙设置 opmode 模式 = 启用例外 = 禁用配置文件 = 域运行以下命令:Netsh advfirewall 上设置 domainprofile 状态 netsh advfirewall 设置 domainprofile firewallpolicy blockinbound,allowoutboundnetsh 防火墙设置 opmode 模式 = 启用配置文件 = ALL运行以下命令:netsh advfirewall 上设置 domainprofile 状态 netsh advfirewall 上设置 privateprofile 状态
有关详细的信息运行以下命令:
netsh advfirewall 设置 currentprofile 吗?
如果要为其设置为特定的配置文件防火墙状态,请而不是"currentprofile"选项的使用下列选项之一:
DomainprofilePrivateprofilePublicprofile
回到顶端
示例 7: 恢复策略默认
旧命令新建命令netsh 防火墙重置netsh advfirewall 重置
有关详细的信息运行以下命令:
netsh advfirewall 重置吗?
回到顶端
示例 8: 启用特定的服务
旧命令新建命令服务 FileAndPrint netsh 防火墙设置netsh advfirewall 防火墙设置规则组 = 文件和打印机共享的新启用 = 是netsh 防火墙 RemoteDesktop 启用的服务设置netsh advfirewall 防火墙设置规则组 ="远程桌面"的新启用 = 是netsh 防火墙设置服务 RemoteDesktop 启用配置文件 = ALL运行以下命令:netsh advfirewall 防火墙规则组设置"远程桌面"的新启用 = = 是配置文件 = 域 netsh advfirewall 防火墙设置规则组 ="远程桌面"的新启用 = 是配置文件 = 专用