“缩进错误:unindent与任何外部缩进级别都不匹配”问题

时间:2016-03-29 20:45:36

标签: python python-2.7 compilation compiler-errors scapy

我正在尝试创建一个嗅探DNS数据包的程序,然后将数据包的q​​name放入字典的'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()

2 个答案:

答案 0 :(得分:1)

dns_dict的定义缩进比strname更远你需要将它们放在我下面显示的相同缩进处。我看到您的代码段中包含该行中包含的行号。确保它不在您的代码中。

def query_ip_name(dns_packet):

    dns_dict = {}

    strname = dns_packet[DNSQR].qname

答案 1 :(得分:0)

不要混合标签和空格。行dns_dict = {}使用制表符缩进,而文件的其余部分则使用空格。用4个空格替换标签。