Назад | Перейти на главную страницу

MaxMind GeoIP CSV в .dat

Мне нужно поместить локальные 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) но я получаю большую стразу.

Я пробовал с новой и старой БД 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