Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 小结_Python_Scapy - Fatal编程技术网

Python 小结

Python 小结,python,scapy,Python,Scapy,当我这样做的时候 .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 =

当我这样做的时候

.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层,
。一个
给出了给出的答案,
。rdata
是您想要的实际数据,
[:-1]
去掉了最后的点,因为按照RFC1034中的规定,是一个完全限定的域名(FQDN)始终以尾随的
结尾。如果您想查看整个数据包,只需取消注释
anser.show()

您可以发布一个示例,说明您运行了什么来获得答案?您需要使用Scapy进行反向查找吗?