Мне нужно поместить локальные IP-адреса в MaxMind GeoIP DB. Я загрузил CSV, и добавить новые IP-адреса и местоположения очень просто. Я нашел два инструмента, которые делают csv to dat для MaxMind GeoIP, но я не могу заставить их работать.
С помощью скрипта python:
./csv2dat.py -w custom_geoip.dat mmcountry working.csv
File "./csv2dat.py", line 69
print "error: database types don't match"
SyntaxError: Missing parentheses in call to 'print'
Кроме того, я пытался скомпилировать скрипт cpp ( https: / /github.com/dankamongmen/sprezzos-world/blob/master/packaging/geoip/debian/src/geoip-csv-to-dat.cpp), но я получаю большой strace.
Я пробовал с новая и старая БД MaxMind. есть ли другой инструмент?
Спасибо
geoip-csv-to-dat.cpp
- является частью пакета geoip-bin
и может быть установлен из репозитория Debian или Ubuntu, если это ваш дистрибутив Linux.
apt-get install geoip-bin
/usr/lib/geoip/geoip-generator --help
ОБНОВЛЕНИЕ: покопавшись в источнике, мы обнаружили, что базы данных maxmind country и city csv имеют совершенно разные форматы, поэтому вам нужно предоставить разные наборы аргументов для их обработки.
Для базы данных страны:
/usr/lib/geoip/geoip-generator -v -o custom_geoip.dat working.csv
Для базы данных города:
/usr/lib/geoip/geoip-generator -v -o custom_geoip.dat -t \
GEOIP_CITY_EDITION_REV1 -l working-locations.csv working-blocks.csv
Что касается ] csv2dat.py
- похоже, вы пытаетесь выполнить скрипт Python 2
с интерпретатором Python 3
. Попробуйте:
python2.7 csv2dat.py -w custom_geoip.dat mmcountry working.csv