• 【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
  • 相关阅读:
    数据结构之排序查找算法
    Spring3之IOC
    SQL使用范例
    数据结构之链表操作
    VI的使用
    数据结构之树的操作
    Hibernate学习笔记
    Spring3之AOP
    01.由一个程序开始(一)
    Linux的档案权限及目录配置(一) (2)
  • 原文地址:https://www.cnblogs.com/gtea/p/12672813.html
Copyright © 2020-2023  润新知