首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用getdnsapi使IPv4地址可打印?

如何使用getdnsapi使IPv4地址可打印?
EN

Stack Overflow用户
提问于 2015-05-13 19:20:31
回答 1查看 57关注 0票数 0

我正在使用新的古登斯 Python。

我特别想得到DNSSEC_BOGUS的答案。要做到这一点,我需要查看results.reply_tree.reply[n]['answer']['rdata']['ipv4_address']元素。这是IPv4地址的4字节二进制表示.在getdns中是否有一种简单的方法可以将其转换为可打印的IPv4地址?

我不想使用results.just_address_answers字段,因为不能保证地址的顺序是相同的。

下面是我的示例代码:

代码语言:javascript
复制
import getdns, sys
def get_ip(hostname, ctx, extensions):
    print("host: {} extensions: {}".format(hostname, extensions))
    results = ctx.address(name=hostname, extensions=extensions)
    print("addresses:")
    for addr in results.just_address_answers:
        print("  {}".format(addr['address_data']))
    print("replies:")
    for reply in results.replies_tree:
        for a in reply['answer']:
            if a['type']==getdns.RRTYPE_A:
                try:
                    print("  type={} data={} dnssec_status={}".format(a['type'], a['rdata']['ipv4_address'], reply['dnssec_status']))
                except KeyError:
                    print("  no dnssec_status")
    print("")

if __name__=="__main__":
    print("getdns.DNSSEC_SECURE={}".format(getdns.DNSSEC_SECURE))
    print("getdns.DNSSEC_INDETERMINATE={}".format(getdns.DNSSEC_INDETERMINATE))
    print("getdns.DNSSEC_INSECURE={}".format(getdns.DNSSEC_INSECURE))
    print("getdns.DNSSEC_BOGUS={}".format(getdns.DNSSEC_BOGUS))
    failed = 'www.dnssec-failed.org'
    ctx = getdns.Context()
    get_ip(failed, ctx, {})
    get_ip(failed, ctx, {'dnssec_return_status' : getdns.EXTENSION_TRUE })
    get_ip(failed, ctx, {"dnssec_return_validation_chain" : getdns.EXTENSION_TRUE})

虽然这是可行的,但我确实希望打印出一个data=地址,而不仅仅是四个二进制字节。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-13 20:46:57

代码语言:javascript
复制
bin_addr = results.reply_tree.reply[n]['answer']['rdata']['ipv4_address']
string_addr = '.'.join(map(str, map(ord, bin_addr)))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30223526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档