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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

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

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

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

  • Автор темы
  • Активист
  • *
  • Сообщений: 407
    • Просмотр профиля
Помогите с регулярным выражением
« : 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= ?
Спасибо.

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4709
  • Capture the truth
    • Просмотр профиля
Re: Помогите с регулярным выражением
« Ответ #1 : 29 Апрель 2021, 00:43:18 »
grep -Po '(SRC=)\K[^ ]*'
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн KJOI

  • Участник
  • *
  • Сообщений: 242
  • 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/

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

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

 

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