python - 我想分析捕获的数据包,但代码给出错误
问题描述
我正在为 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 >> 4
解决方案
推荐阅读
- android - 使用 Flutter Provider 包时出现的问题
- xamarin - 导出到 APK 文件时无法减小 Xamarin 表单应用程序的大小
- list - 为什么 SML 中的列表连接是右关联的?
- .net - TcpClient 上的堆栈溢出(递归)
- python - 多项式回归排序 x
- angular - 为什么验证错误未显示在视图中
- spring - 如何在数据库上生成字符串主键并使用 JPA 注释定义它
- java - 在 Java 中验证单词的后缀时出错
- python - Pyinstaller:FileNotFoundError:在“jaraco.text”中找不到“Lorem ipsum.txt”资源
- r - 从具有 2 列的数据框创建子集