diff --git a/hc.py b/hc.py new file mode 100644 index 0000000000000000000000000000000000000000..15df922835f0927e3ecdc708e4896b2561b193c5 --- /dev/null +++ b/hc.py @@ -0,0 +1,48 @@ +import numpy as np +from scapy.all import * +import swalign +import pandas as pd +from sklearn.cluster import DBSCAN + + +def reader(): + file = 'D:\\development\\python\\project\\reverse\\cluster\\modbus.pcap' + ft = rdpcap(file) + data = [] + for i in ft: + data.append(i[Raw].load) + print(data[0]) + print(data[1]) + print(lcs(data[0], data[1])) + reverse(data[:1000], 3) + + +def lcs(s1, s2): + # 最长公共子序列长度 + l1 = len(s1) + l2 = len(s2) + dp = [[0] * (l2+1) for _ in range(l1+1)] + for i in range(1, l1 + 1): # dp表第一行和第一列元素为0,所以i和j要从1开始,到最后一个元素len1+1 + for j in range(1, l2 + 1): + if s1[i - 1] == s2[j - 1]: # i=1时字符串从a[0]开始 + dp[i][j] = dp[i - 1][j - 1] + 1 + else: + dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]) + return dp[l1][l2] + + +def reverse(data, k): + # 聚类 + # center = [data[0]] + center = np.empty((k, 1), dtype=list) + center[0][0] = data[0] + similarities = [1] + for i in data[1:]: + similarities.append() + print(center) + return + + +def similarity(s1, s2): + + return