14

我有一个文件 GeoLite2-City.mmdb,它是 MaxMind DB 文件。

我想看看它的内容。

是否有任何应用程序、工具来显示这个 .mmdb 文件?

4

1 回答 1

13

请参阅 Maxmind 的mmdb 文件规范

mmdb 数据库是自包含的“搜索树索引文件”,因此您不能只是按记录顺序读取和显示文件记录(甚至它的“数据记录”也包括指向其他​​“缓存”数据记录的指针,这些记录包含实际的人类可读字符串,例如国家/地区姓名)。所以文本编辑器提供的那种视图是没有用的——你需要一个相当于 phpMyAdmin 中 MySQL 的“表”行查看器,允许“顺序”显示或通过 IP 查找。

据我所知,没有这样的查看器可用。它们是巨大的文件,如果您只是想出于兴趣查看,那么不值得付出努力。

有能力的程序员可以编写自己的查看器,但我认为这项任务具有挑战性(我开始在预 DBMS 的 IBM 大型机上创建和导航索引顺序文件套件)。Maxmind 关于构建(和阅读)您自己的 MMDB的帖子 将提供有用的指导。

上述规范包含各种语言的阅读器库/包的链接,您可以使用或添加到这些现有的阅读器功能(例如,对于 PHP 阅读器,请参阅Reader.phpDecoder.php

对于“顺序”显示,您需要遍历文件(例如Perl: iterate_search_tree)。我不确定是否所有 Maxminds Readers 都直接内置了等效功能,或者您是否必须扩展。

于 2018-08-09T10:09:30.753 回答