【Python学习】操作防火墙
Windows防火墙cmd os.system("netsh firewall set opmode mode=disable") 命令:netsh firewall 参数: ? // 显示命令列表 add // 添加防火墙配置 delete // 删除防火墙配置 dump // 显示一个配置脚本 help // 显示命令列表 reset // 将防火墙配置重置为默认值。 set // 设置防火墙配置 show // 显示防火墙配置 add allowedprogram // 添加防火墙允许的程序配置。 add portopening // 添加防火墙端口配置 delete allowedprogram // 删除防火墙允许的程序配置 delete portopening // 删除防火墙端口配置 set allowedprogram // 设置防火墙允许的程序配置 set icmpsetting // 设置防火墙 ICMP 配置 set logging // 设置防火墙记录配置 set multicastbroadcastresponse // 设置防火墙多播/广播响应配置 set notifications // 设置防火墙通知配置 set opmode // 设置防火墙操作配置 set portopening // 设置防火墙端口配置 set service // 设置防火墙服务配置 show allowedprogram // 显示防火墙允许的程序配置 show config // 显示防火墙配置。 show currentprofile // 显示当前防火墙配置文件 show icmpsetting // 显示防火墙 ICMP 配置 show logging // 显示防火墙记录配置 show multicastbroadcastresponse // 显示防火墙多播/广播响应配置 show notifications // 显示防火墙操作配置 show opmode // 显示防火墙端口配置 show portopening // 显示防火墙端口配置 show service // 显示防火墙服务配置 show state // 显示当前防火墙状态 例如: 命令:netsh firewall show allowedprogram //查看防火墙放行的程序 netsh firewall set portopening TCP 445 ENABLE //打开445端口 netsh firewall set portopening TCP 3389 ENABLE // netsh firewall delete allowedprogram C:\A.exe //删除放行程序A.exe netsh firewall set allowedprogram C:\A.exe A ENABLE //添加程序C盘下的A.exe并放行 netsh firewall add allowedprogram C:\A.exe A ENABLE //添加程序C盘下的A.exe并放行 netsh firewall set icmpsettting type=ALL mode=enable //开启ICMP协议 netsh firewall set icmpsettting type=2 mode=enable //允许出站数据包太大
Linux防火墙 查看:iptables -nvL 如上图所示,防火墙策略内容如下: 出入站放开mgr的ip(172.16.202.190)和本地ip(127.0.0.1)tcp、udp、icmp的所有端口 拒绝所有ip的tcp的8080端口的入站请求 # 禁止PING iptables -A INPUT -p icmp --icmp-type echo-request -j DROP iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP # 禁止UDP的80端口 # 禁止TCP的25端口 iptables -A INPUT -p udp --dport 80 -j DROP iptables -A INPUT -p tcp --dport 25 -j DROP iptables-save > /etc/iptables.rules iptables -nvL 单个IP的命令是 iptables -I INPUT -s 211.1.0.0 -j DROP 封IP段的命令是 iptables -I INPUT -s 211.1.0.0/16 -j DROP iptables -I INPUT -s 211.2.0.0/16 -j DROP iptables -I INPUT -s 211.3.0.0/16 -j DROP 封整个段的命令是 iptables -I INPUT -s 211.0.0.0/8 -j DROP 封几个段的命令是 iptables -I INPUT -s 61.37.80.0/24 -j DROP iptables -I INPUT -s 61.37.81.0/24 -j DROP 查看iptables列表iptables -L 删除iptables https://blog.csdn.net/wang0112233/article/details/93063542 iptables -L -n --line-number iptables -D INPUT 2 INPUT大写,2表示序号 https://www.cnblogs.com/-mo-/p/11542320.html 永久生效 当你删除、添加规则后,这些更改并不能永久生效,这些规则很有可能在系统重启后恢复原样。为了让配置永久生效,根据平台的不同,具体操作也不同。下面进行简单介绍: 1.Ubuntu 首先,保存现有的规则: iptables-save > /etc/iptables.rules 然后新建一个bash脚本,并保存到/etc/network/if-pre-up.d/目录下: #!/bin/bash iptables-restore < /etc/iptables.rules 这样,每次系统重启后iptables规则都会被自动加载。 /!\注意:不要尝试在.bashrc或者.profile中执行以上命令,因为用户通常不是root,而且这只能在登录时加载iptables规则。 2.CentOS, RedHat # 保存iptables规则 service iptables save # 重启iptables服务 service iptables stop service iptables start 查看当前规则: cat /etc/sysconfig/iptables
作者:gtea
博客地址:https://www.cnblogs.com/gtea