Java对iptables防火墙规则格式化

前言

        最近在做运维自动化的一些研究,刚好项目大部分服务器都是使用的iptables管理防火墙规则,一台一台登录配置很是繁琐,服务器规则看起来也不直观,所有就想用java做iptables可视化管理;这里只是对iptables规则一个简单的格式化,后面在一步步加到运维平台中。

代码

package com.ssh.run.utlis;

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class PatternUtil {

    public static List<String> getRules(String rule) {
        // 定义正则表达式(与上一个示例相同)
        //String regex = "(\\d+|\\w+|-+|\\*)\\s+";
        //String regex = "(\\d+|\\w+|\\*|.*?)\\s+";
        String regex = "(.*?)\\s+|.*?$";
        // 创建Pattern对象并编译正则表达式
        Pattern pattern = Pattern.compile(regex);
        // 创建Matcher对象并应用到输入字符串
        Matcher matcher = pattern.matcher(rule);
        List<String> rules = new ArrayList<>();
        while (matcher.find()) {
            String str = matcher.group().trim();
            rules.add(str);
        }
        return rules;
    }

    public static void main(String[] args) {
        //String str = "aa 11 33 cc dd dddddsss dsds -- cc sss   swww wwse   ssesd  docker-dod-1 ";
        String str = "3        0     0 ACCEPT     all  --  *      docker0  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED sssss";
        Pattern pattern = Pattern.compile("(.*?)\\s+|.*?$");
        Matcher matcher = pattern.matcher(str);

        List<String> list = new ArrayList<>();
        while (matcher.find()) {
            String group = matcher.group(0).trim();
            System.out.println(group);
            list.add(group);
        }

        System.out.println("list:" + list);
    }
}

总结

这里只是简单的记录一下,后面如果集成完毕,在做详细的文档描述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值