iptables — поиск в strpos () с переполнением стека диапазона номеров

Я хочу найти правило, iptablesвнутри строки, у которой заблокирован порт — и я хочу показать этот порт.

Например, правило iptables -A OUTPUT -p tcp --dport 8080 -j DROP; Я хотел бы иметь возможность искать по strpos строка tcp --dport 8080 -j DROP но с диапазоном чисел 1-65335 instead of 8080,

Пожалуйста, извините за мой плохой английский.

-3

Решение

Предполагая, что каждая строка имеет фиксированный формат, как в вашем примере, вы можете найти число, а затем проверить, находится ли в пределах диапазона, используя preg_match() функция

$str = 'iptables -A OUTPUT -p tcp --dport 8080 -j DROP;';

preg_match('/\d+/', $str, $match); // search for matches
if ($match[0] >= 1 && $match[0] <= 65335) {
echo "Valid number found on string";
}

Шаблон /\d+/ поиск любой цифры от 1 до неограниченного количества раз

Заметки:

1. Вызывает неопределенные ошибки / предупреждения, когда в строке не найдено ни одного числа.

2. Может стать неточным, если найдено более 1 целого числа

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]