在域名上群集IP地址

时间:2018-11-21 16:33:58

标签: python ip ip-address word2vec hierarchical-clustering

我有一个ip网络,它基本上是顺序ip地址的列表。从这个列表中,我想将IP地址范围聚集到独立的实体中。我想为该范围内的每个IP提供一组属性,例如生存时间,名称服务器和与其关联的域名。

然后我想确定每个IP地址与其邻居之间的距离,并根据最短距离开始聚类。

我的问题在于距离函数。 TTL是一个数字,所以应该不成问题。域名服务器和域名是字符串,但是如何将它们表示为矢量中的数字?

基本上,如果2个I​​P地址具有相同的名称服务器或非常相似的域名(等于2LD),则希望它们之间的距离更短。我已经研究过word2vec之类的东西,但找不到真正有用的实现。

1 个答案:

答案 0 :(得分:1)

我会尝试像这样使用difflib。

from difflib import SequenceMatcher

def similarity(a, b):
    return SequenceMatcher(None, a, b).ratio()

然后,您可以针对每组名称调用该函数,以获取相似度评分并基于该评分对它们进行分组。

similarity("server1","server1")
1.0

similarity("Server1","Server2")
0.8571428571428571

similarity("foo","bar")
0.0
相关问题