我正在尝试解码DNS流量和打印查询/响应数据,并使用python/scapy对数据包进行解码。在
代码片段:
def dns_sniff_v2(pkt):
if IP in pkt:
if pkt.haslayer(DNS):
dns = pkt.getlayer(DNS)
pkt_time = pkt.sprintf('%sent.time%')
if pkt.haslayer(DNSQR):
qr = pkt.getlayer(DNSQR) # DNS query
values = [ pkt_time, str(ip_src), str(ip_dst), str(dns.id), str(qr.qname), str(qr.qtype), str(qr.qclass) ]
print "|".join(values)
sniff(iface="eth0", filter="port 53", prn=dns_sniff_v2, store=0)
问题是qr.qtype
或{
如何获得符号形式的DNSQR或DNSRR字段?在
您可以通过调用以下命令获得}的符号字符串值:
qr.qtype
和{请注意,不要反复调用
^{pr2}$qr.get_field('qtype')
和qr.get_field('qclass')
,而是可以提前调用一次:相关问题 更多 >
编程相关推荐