Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Помогите с регулярным выражением  (Прочитано 562 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Ввысь

  • Автор темы
  • Активист
  • *
  • Сообщений: 473
    • Просмотр профиля
Помогите с регулярным выражением
« : 29 Апреля 2021, 00:31:01 »
Здравствуйте.

Есть вот такая строка
Apr 28 23:10:40 Ubuntu-1604-xenial-64-minimal kernel: [62722458.588112] Iptables: IN=eth0 OUT= MAC=52:54:a2:02:14:bd:d2:74:7f:6e:37:e3:08:00 SRC=79.124.62.82 DST=172.31.1.100 LEN=40 TOS=0x00 PREC=0x00 TTL=245 ID=55706 PROTO=TCP SPT=48243 DPT=35395 WINDOW=1024 RES=0x00 SYN URGP=0

Нужно для собственного фильтра - "Мы должны заменить IP адрес на специальный тег <HOST> внутри выражения, чтобы fail2ban смог по нему выцепить из строки нужный IP адрес."

Мне нужен ip 79.124.62.82

Как должно выглядеть регулярное выражение для нахождения ip из поля SRC= ?
Спасибо.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6738
  • 20% Cooler
    • Просмотр профиля
Re: Помогите с регулярным выражением
« Ответ #1 : 29 Апреля 2021, 00:43:18 »
grep -Po '(SRC=)\K[^ ]*'
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн KJOI

  • Активист
  • *
  • Сообщений: 286
  • ALT Linux
    • Просмотр профиля
Re: Помогите с регулярным выражением
« Ответ #2 : 29 Апреля 2021, 00:45:46 »
Здравствуйте.

Есть вот такая строка
Apr 28 23:10:40 Ubuntu-1604-xenial-64-minimal kernel: [62722458.588112] Iptables: IN=eth0 OUT= MAC=52:54:a2:02:14:bd:d2:74:7f:6e:37:e3:08:00 SRC=79.124.62.82 DST=172.31.1.100 LEN=40 TOS=0x00 PREC=0x00 TTL=245 ID=55706 PROTO=TCP SPT=48243 DPT=35395 WINDOW=1024 RES=0x00 SYN URGP=0

Нужно для собственного фильтра - "Мы должны заменить IP адрес на специальный тег <HOST> внутри выражения, чтобы fail2ban смог по нему выцепить из строки нужный IP адрес."

Мне нужен ip 79.124.62.82

Как должно выглядеть регулярное выражение для нахождения ip из поля SRC= ?
Спасибо.
Ну так и пишите классическая регулярка
SRC=([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3})
Если с префиксом использовать тогда точки экранировать надо.
Русский Линукс: https://www.basealt.ru/products/simplylinux/
Мой проект git «Kernel Manager» linux: https://github.com/Koi-foo/kernel-manager/

Оффлайн Ввысь

  • Автор темы
  • Активист
  • *
  • Сообщений: 473
    • Просмотр профиля
Re: Помогите с регулярным выражением
« Ответ #3 : 29 Апреля 2021, 14:04:29 »
ALiEN175, KJOI, большое спасибо.

 

Страница сгенерирована за 0.046 секунд. Запросов: 25.