首页 > 解决方案 > 我想分析捕获的数据包,但代码给出错误

问题描述

我正在为 vpn 和受 ddos​​ 保护的 vpn 开发一个 ip 过滤器应用程序,但是当我尝试运行该程序时,我的分析器函数(我在网上找到了大部分代码)调用了一个语法错误。我只需要帮助解决这些错误。我从带有分号和 & 符号的行中得到错误。这是错误源自的一些功能代码。

def packetAnalyzer(packet):
    data = packet[0]
    ip_header = data[0:20]

    unpack_data = unpack('!BBHHHBBH4s4s', ip_header)

    version_ihl = unpack_data[0]
    version = version_ihl >> 4
    ihl = version_ihl & 0xF
    iph_length = ihl * 4
    ttl = iph[5]
    protocol = iph[6]
    s_addr = socket.inet_ntoa(iph[8]);
    d_addr = socket.inet_ntoa(iph[9]);

    print 'Version : ' + str(version) + ' IP Header Length : ' + str(ihl) + ' TTL : ' + str(ttl) + ' Protocol : ' + str(protocol) + ' Source Address : ' + str(s_addr) + ' Destination Address : ' + str(d_addr)

    tcp_header = data[iph_length:iph_length+20]

    tcph = unpack('!HHLLBBHHH', tcp_header)

    source_port = tcph[0]
    dest_port = tcph[1]
    sequence = tcph[2]
    acknowledgement = tcph[3]
    doff_reserved = tcph[4]
    tcph_length = doff_reserved >> 4

    print 'Source Port : ' + str(source_port) + ' Dest Port : ' + str(dest_port) + ' Sequence Number : ' + str(sequence) + ' Acknowledgement : ' + str(acknowledgement) + ' TCP header length : ' + str(tcph_length)

    h_size = iph_length + tcph_length * 4
    data_size = len(data) - h_size

    data = data[h_size:]

    print 'Data : ' + data

错误:

Traceback (most recent call last):
  File "GV-Ddos-filter.py", line 1, in <module>
    import filterFunctions
  File "/home/ghostvip3r/Dev/python/Projects/server-client/VPN/ServerSide/AutoFilter/filterFunctions.py", line 17
    version = version_ihl &gt;&gt; 4

标签: python

解决方案


推荐阅读