Ник Пост Дата
haste

Искал готовую консольную утилиту для проверки IP-адресов по спискам блокировок.

Если бы в списках были только IP-адреса, можно было бы обойтись grep -x -F <ip> <file.lst>. Это, кстати, быстрее, чем следующие варианты.

Списки блокировок бывают не только с конкретными IP-адресами, но и с подсетями в формате IP/маска, это называется CIDR. С ними grep не справится. Есть готовые библиотеки для работы с CIDR для разных языков, но мне было лень.

Нашлась утилита GitHub - jrlevine/grepcidr3: High performance search for IP addresses and CIDR ranges . С ключами -a -D вполне работает. Не путать с оригинальной grepcidr ( grepcidr for UNIX ), там поддержки CIDR в файлах нет, только в паттерне.

Есть недоработка grepcidr3 (для моего применения) - можно подсунуть сразу несколько файлов списков, но не пишет, в каком файле нашлось совпадение, и при первом же совпадении заканчивает искать. Кто бы допил…

2024-05-20T12:30:35.890Z