You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Fail2Ban正则匹配求助:仅提取含DPT=5003的日志中SRC IP

Fail2Ban 正则匹配指定DPT端口的源IP

针对你提供的UFW BLOCK日志,要实现仅当日志包含DPT=5003时,提取SRC对应的IP,可以用以下正则表达式:

^.*\[UFW BLOCK\].*DPT=5003.*SRC=?(?P<host>\S+).*$

正则说明

  • ^.*\[UFW BLOCK\].*:先锁定UFW拦截的日志行,避免匹配其他无关日志内容
  • .*DPT=5003.*:确保日志中存在目标端口5003的规则
  • SRC=?(?P<host>\S+):提取SRC后的源IP,(?P<host>)是Fail2Ban识别的命名捕获组,用于标记要封禁的IP
  • 首尾的.*用来匹配日志行前后的任意内容,兼容你提供的日志字段固定顺序(SRC在DPT之前)

兼容字段顺序变动的版本

如果日志里SRC和DPT的位置不确定,可以用分支结构覆盖两种顺序:

^.*\[UFW BLOCK\].*(?:SRC=?(?P<host>\S+).*DPT=5003|DPT=5003.*SRC=?(?P<host>\S+)).*$

Fail2Ban配置示例

在自定义过滤器配置文件(如/etc/fail2ban/filter.d/ufw-custom.conf)中添加:

[Definition]
failregex = ^.*\[UFW BLOCK\].*DPT=5003.*SRC=?(?P<host>\S+).*$
ignoreregex =

验证正则有效性

用fail2ban-regex命令测试匹配效果:

fail2ban-regex /var/log/ufw.log '^.*\[UFW BLOCK\].*DPT=5003.*SRC=?(?P<host>\S+).*$'

内容的提问来源于stack exchange,提问作者error401

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 15:14:58