关于网络流量中Shannon熵计算的概率考虑

时间:2017-09-23 20:51:02

标签: python python-2.7 python-3.x statistics entropy

我有一个PCAP格式的网络转储(dump.pcap),我正在尝试计算源IP和目标IP的熵。

我正在使用Python代码:

import numpy as np
import collections

sample_ips = [
    "131.084.001.031",
    "131.084.001.031",
    "131.284.001.031",
    "131.284.001.031",
    "131.284.001.000",
]

C = collections.Counter(sample_ips)
counts = np.array(list(C.values()),dtype=float)
#counts  = np.array(C.values(),dtype=float)
prob    = counts/counts.sum()
shannon_entropy = (-prob*np.log2(prob)).sum()
print (shannon_entropy)

我有来自实验室实验的两个网络流量:一个没有攻击(semAtaque.pcap),另一个有DDoS攻击(Attacks.pcap)。

遭受攻击的服务器的IP:192.168.1.5

以这种方式计算时,会出现一些疑问:

1.我正在考虑离散的概率分布和同样可能的结果。那是对的吗?那是合理的吗?

2.如何验证实验?我正在考虑使用以下零假设的假设检验: "熵值允许您检测攻击" 那可以吗?

对案例有什么好的假设检验(样本空间大约是40)?

0 个答案:

没有答案