LINUX.ORG.RU

Удалить и поменять

 ,


1

1

Привет. Имеется текстовый файл в него изредка падают ip. Вопрос. Как лучше и чем удалить последние цифры ip до точки и вместо них вписать 0/24 Например было: 192.168.0.1 Стало: 192.168.0.0/24 В файле только 1 ip Bash или рнр лучше с помошью последнего.



Последнее исправление: Ananist (всего исправлений: 3)

Какую-то странную херню ты хочешь, можешь просто перезаписать всю строку. Можешь перезаписать часть. Но в любом случае подсеть так не записывается что за каличная запись? Должно быть так 192.168.0.0/24

anonymous
()
Ответ на: комментарий от anonymous

Мне нужно этот момент автоматизировать. Мб рнр или bash лучше рнр

Ananist
() автор топика

лучше всего использовать metaprog

anonymous
()
Ответ на: комментарий от Ananist

Мне бы пример регулярки которая с конца до первой точки удалит

 PS > '192.168.0.1' -replace '^(.*)\.\d{1,}$','$1.0/24'
192.168.0.0/24
anonymous
()
Ответ на: комментарий от Ananist

я весь член сломал голову ломаю тоже

Звучит как угроза

ddidwyll ★★★★
()
Ответ на: комментарий от anonymous

ну я готов соточку закинуть за рабочий код

Ananist
() автор топика
Ответ на: комментарий от ddidwyll

ну я готов соточку закинуть за рабочий код

$100? Норм, жаль рубей не знаю. Сейчас кто-нибудь поможет.

ddidwyll ★★★★
()
Последнее исправление: ddidwyll (всего исправлений: 2)
Ответ на: комментарий от Ananist

Можно вообще ничего не удалять, а просто дописывать в конец маску, что будет эквивалентно.

Т.е., что 192.168.0.1/24, что 192.168.0.0/24 без разницы.

beastie ★★★★★
()
Ответ на: комментарий от beastie

Т.е., что 192.168.0.1/24, что 192.168.0.0/24 без разницы.

Вот этот момент поподробнее можно? Если дописать /24 работать так же будет как 0/24 ?

Ananist
() автор топика
Ответ на: комментарий от Ananist

Это именно то что тебе надо, можно конечно и по другому сделать, но не бросать же всю проделанную тут ребятами «работу» :)

anonymous
()
Ответ на: комментарий от anonymous

Бароны стареют, бароны добреют.

Как уже писал выше, всё это лишняя мышиная возня, но если ТСу очень хочется, то набросать re секундное дело.

beastie ★★★★★
()
Ответ на: комментарий от beastie

Гуру. Я сделал так.

$ip ='192.168.0.1';
$mask ='/24';
file_put_contents('ip_del.txt','');
$fp = fopen('ip_del.txt', 'a');
fwrite($fp, $ip . $mask);
fclose($fp);

На выхлопе в файл 192.168.0.1/24

Ananist
() автор топика
xms@XMs-desktop ~ $ ipcalc 192.168.0.4
Address:   192.168.0.4          11000000.10101000.00000000. 00000100
Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
=>
Network:   192.168.0.0/24       11000000.10101000.00000000. 00000000
HostMin:   192.168.0.1          11000000.10101000.00000000. 00000001
HostMax:   192.168.0.254        11000000.10101000.00000000. 11111110
Broadcast: 192.168.0.255        11000000.10101000.00000000. 11111111
Hosts/Net: 254                   Class C, Private Internet

xms@XMs-desktop ~ $ ipcalc 192.168.0.4 | grep Network | awk '{print $2}'
192.168.0.0/24
xms@XMs-desktop ~ $

Дальше сам

XMs ★★★★★
()
Ответ на: комментарий от XMs

Мне айпишки падают с реге на сайте в текстовый файл. Я по средствам ipset добавляю их из текстового в iptables. Все нормально но хочу сделать по подсети а то их дофига

Ananist
() автор топика
Ответ на: комментарий от Ananist

Ты же понимаешь, что одного айпишника для описания сети недостаточно? Можно, конечно, и по /24 нарезать, только так можно некисло ошибиться. IMHO, если ты делаешь бан-лист, то лучше его наполнять именно адресами, или вообще какой-нибудь fail2ban прикрутить. Если адреса нужны для чего-то другого — тоже стоит начать с добавления /32, а потом уже оптимизировать

XMs ★★★★★
()
Ответ на: комментарий от Ananist

а чем отличается 24 от 32

Ты это серьёзно? Я надеюсь, ты знаешь, что такое «маска сети» и для чего она используется?

XMs ★★★★★
()
Ответ на: комментарий от Ananist

ну ты на верном пути, теперь осталось написать нормально например так


<?php file_put_contents($file, '$mask', FILE_APPEND | LOCK_EX); ?>

а потом придумать как проверять тот факт что файл обновился и надо снова выполнить те же действия.

anonymous
()
Ответ на: комментарий от Ananist

Вот тебе соточка и пригодилась, кажется тебе нужен человек который разбирается в подобных вещах. Зачем ты за это вообще взялся?

anonymous
()
Ответ на: комментарий от anonymous

У меня bash скрипт стоит в цикле он каждые 10 сек проверяет если ip появилось он его в с помощью ipset в iptables и очищает текстовый файл. Когда файл пустой ничего не добавляется.

Ananist
() автор топика
Ответ на: комментарий от Ananist

Значит, про /25, /23, /17 и любые другие можно не спрашивать. Тогда тем более оставь просто айпишники. А ещё лучше опиши высокоуровневую задачу, которая перед тобой стоит, потому что я сильно сомневаюсь в её решении

XMs ★★★★★
()
Ответ на: комментарий от anonymous

игровой серв 2 неделю конкуренты дудосят. Помогло только ограничение с сайта по айпи вход на сам серв. Мне чувак предлагал такую приьлуду за 10к рублей дял сайта. Я загуглил за 2 часа Бесплатно сделал. Ща вот оптимизирую.

Ananist
() автор топика
Ответ на: комментарий от Ananist

Все это классно, но твой php скрипт же ничего об этом не знает, тоже его поставишь в крон с интервалом? :)

anonymous
()
Ответ на: комментарий от Ananist

Это ты просто готовить его не умеешь. Ну так что ты будешь делать? Что будешь делать если получится так что php скрипт не успеет попасть в окно 10 секунд до удаления, или наоборот тебя будут так активно «дудосить» что два разных скрипта будут конфликтовать за доступ к файлу. У тебя тут достаточно мест для фейла c твоим этим костылем на файлах, когда можно просто было нормально настроить файервол и не заниматься этой херотой которую ты сейчас городишь.

anonymous
()
Ответ на: комментарий от XMs

Я просто спросил. Русская душа отвечать вопросом на вопрос) На забугорных форумах такой дичи давно нет

Ananist
() автор топика
Ответ на: комментарий от anonymous

Если бы было все прсото я наверное никогда этот форум и не нашел. Нельзя ничем защитится и проксирование через ipip тунель не помогает. Там баг который легким SYN флудом ложит. Фильтры даже не срабатывают. Баг исправить денег много надо оч много.

Ananist
() автор топика
Ответ на: комментарий от Ananist

расскажи ка механизм как «все» «регаеца» и «сбрасывает» посмотрим какой колхоз ты намутил.

anonymous
()
Ответ на: комментарий от XMs

Я думал в эту сторону но нет. Слишком атаки быстрые и резкие всеравно упадет авторизация fail2ban тупо залипнет он тока от детей

Ananist
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.