我试图做一个程序,嗅探DNS包,然后把包的qname放入字典的“key”,将包的dst ip放入字典的“value”,由于某种原因,我在第6行得到了这个错误
from scapy.all import *
def query_ip_name(dns_packet):
dns_dict = {}
6- strname = dns_packet[DNSQR].qname
ip_add = dns_packet[IP].dst
dns_dic.update(dns_name : dns_ip_name)
def filter_dns(packet):
return (DNS in packet and packet[DNS].opcode == 0 and packet[DNSQR].qtype == 1)
def main():
print 'Starting to sniff!'
packets = sniff(count=30, lfilter=filter_dns, prn = query_ip_name)
print 'The sniffing was successfully ended.'
print 'The dictionary is : '
main()
不要混淆制表符和空格。第
dns_dict = {}
行用制表符缩进,而文件的其余部分用空格表示。将制表符替换为4个空格。在dns_dict的定义比strname缩进得更远,您需要将它们放在如下所示的相同缩进位置。我看到在代码片段的那一行中包含了行号。确保它不在您的代码中。在
相关问题 更多 >
编程相关推荐