找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22735|回复: 4

[网络工具] 通过防火墙和组策略封端口的批处理

[复制链接]
发表于 2017-5-15 11:01:49 | 显示全部楼层 |阅读模式
一、防火墙
  1. @echo off
  2. rem 设置防火墙服务为自动
  3. sc config sharedaccess start= auto
  4. rem 开启防火墙服务
  5. rem net start sharedaccess


  6. rem blockinbound,blockoutbound,allowinbound,allowoutbound
  7. netsh advfirewall set allprofiles state on
  8. netsh advfirewall set allprofiles firewallpolicy allowinbound,allowoutbound
  9. call:blockport  445
  10. call:blockport  135
  11. call:blockport  139

  12. pause >nul &exit

  13. rem 如果不起作用,则重置防火墙
  14. netsh firewall reset

  15. rem 关闭端口
  16. :blockport
  17. set port=%1
  18. call:clearrule %port%
  19. netsh advfirewall firewall add rule name="deny tcp %port%" dir=in protocol=tcp localport=%port% action=block
  20. netsh advfirewall firewall add rule name="deny udp %port%" dir=in protocol=udp localport=%port% action=block
  21. goto :eof


  22. rem 开启端口
  23. :openport
  24. set port=%1
  25. call:clearrule %port%
  26. netsh advfirewall firewall add rule name="allow tcp %port%" dir=in protocol=tcp localport=%port% action=allow
  27. netsh advfirewall firewall add rule name="allow udp %port%" dir=in protocol=udp localport=%port% action=allow
  28. goto :eof

  29. rem 清除多余规则
  30. :clearrule
  31. set port=%1
  32. netsh advfirewall firewall delete rule name="allow tcp %port%"  protocol=tcp localport=%port% >nul
  33. netsh advfirewall firewall delete rule name="deny tcp %port%"  protocol=tcp localport=%port%  >nul
  34. netsh advfirewall firewall delete rule name="allow udp %port%"  protocol=udp localport=%port% >nul
  35. netsh advfirewall firewall delete rule name="deny udp %port%"  protocol=udp localport=%port%  >nul
  36. goto :eof
复制代码
------------------------------------------------------------------------------------------------------------------------------------------------
二、组策略
  1. @echo off
  2. rem -p 指定策略名称,如果名称存在,则将该规则加入此策略,否则创建一个。(policy)
  3. rem -r 指定规则名称。(rule)
  4. rem -f 筛选器。*表示任何地址(源);0表示本机地址(目标);+表示镜像(双向)筛选(filter)
  5. rem -n 指定操作,可以是BLOCK、PASS或者INPASS,必须大写。
  6. rem -x 激活该策略。
  7. rem -y 使之无效。
  8. rem -o 删除-p指定的策略。
  9. rem -w reg 将配置写入注册表,重启后仍有效。


  10. sc config PolicyAgent start= auto
  11. net start PolicyAgent

  12. call:blockport  445
  13. call:blockport  135
  14. call:blockport  139
  15. rem call:blockping
  16. rem call:openping
  17. gpupdate/force
  18. pause&exit

  19. :blockport
  20. rem 所有的封端口操作只能写成一个组策略BlockPort,不能135一个,445一个
  21. set port=%1
  22. ipseccmd -w REG -p BlockPort -r "Block TCP/%port%" -f *+0:%port%:TCP -n BLOCK  
  23. ipseccmd -w REG -p BlockPort -r "Block UDP/%port%" -f *+0:%port%:UDP -n BLOCK  
  24. ipseccmd -w REG -p BlockPort -x
  25. goto :eof

  26. :blockping
  27. ipseccmd -w REG -p "BlockPing" -r "Block ping" -f 0+*::ICMP -n BLOCK
  28. ipseccmd -w REG -p "BlockPing" -x
  29. goto :eof

  30. :openping
  31. ipseccmd -w REG -p "BlockPing" -y
  32. goto :eof

  33. :deletePing
  34. ipseccmd -w REG -p "BlockPing" -y
  35. ipseccmd -w REG -p "BlockPing" -o
  36. goto :eof
复制代码

评分

参与人数 2技术 +2 收起 理由
taofan712 + 1 感谢分享
老刘1号 + 1 雪中送炭

查看全部评分

发表于 2017-5-16 11:14:13 | 显示全部楼层
回复 1# 小勇12


    感谢LZ分享,不过在XP系统里试用发现,一堆提示没有找到命令,似乎不能兼容XP系统
发表于 2017-5-20 22:42:01 | 显示全部楼层
回复 2# xinjinjie


    XP需要ipseccmd.exe支持,这个得从安装光盘中support.cab中提取
发表于 2017-5-20 22:43:10 | 显示全部楼层
另外2000下有个ipsecpol也是做这个的,和ipseccmd类似,不过需要三个文件支持。
发表于 2017-6-25 18:04:27 | 显示全部楼层
组策略第20行,应该是gpupdate /force,作者少个空格
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 00:07 , Processed in 0.020401 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表