gpt4 book ai didi

python - scapy 总结 DNS Ans

转载 作者:太空宇宙 更新时间:2023-11-04 03:50:46 29 4
gpt4 key购买 nike

当我这样做的时候

.summary()

用scapy我得到以下结果

'DNS Ans "ee-in-f139.1e100.net."' 

scapy 中是否有只返回的过滤器

"ee-in-f139.1e100.net" 

或者是我剥离字符串的唯一选择?

@瑞佩克

此刻

get hostname(ip):

ip = x.split('.')
ip.reverse()
x = '.'.join(ip) + ".in-addr.arpa"

answer = sr1(IP(dst="8.8.8.8")/UDP(dport=53)/DNS(rd=1, qd=DNSQR(qname= ip , qtype='PTR')), verbose = 0)
filter = answer[DNS].summary()
filter = filter.strip('DNS Ans ')
filter = filter.strip('."')

这会返回主机名并过滤掉 DNS Ans。我希望 scapy 只返回主机名而无需我对其进行过滤。

最佳答案

当然可以。

def gethostname(ip):
ip = ip.split('.')
ip.reverse()
ip = '.'.join(ip) + ".in-addr.arpa"
answer = sr1(IP(dst="8.8.8.8")/UDP(dport=53)/DNS(rd=1, qd=DNSQR(qname= ip , qtype='PTR')), verbose = 0)
#answer.show()
return answer["DNS"].an.rdata[:-1]

我做了什么:我没有使用.summary(),而是反汇编了答案:["DNS"]给出了dns层,.an给出了答案已给出,.rdata 是您想要的实际数据,[:-1] 去掉最后一个点,因为,如 RFC1034 中指定的完全限定域名称 (FQDN) 始终以尾随 . 结尾。如果你想看到整个数据包,你应该取消注释 anser.show()

关于python - scapy 总结 DNS Ans,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21392767/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com