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