当前位置: 首页 > 科技观察

如何使用NetworKit进行大型网络的安全分析

时间:2023-03-16 17:59:50 科技观察

关于NetworKitNetworKit是一个开源的高性能网络安全分析工具,旨在帮助安全研究人员分析具有数千到数十亿边界的大型网络。为了实现这一目标,该工具实现了非常高效的图形算法,其中许多算法是并行的,以利用多核架构来计算网络分析的标准指标。NetworKit注重功能的可扩展性和全面性,NetworKit也是算法工程的测试平台,其中包含许多新发布的正在研究的新算法。NetworKit本质上是一个Python模块,其中高性能算法基于C++开发,并通过Cython工具链向Python开放。反过来,Python将为我们提供交互工作的能力,以及丰富的数据分析和科学计算的工具环境。除此之外,我们还可以构建NetworKit的核心,并在需要时将其用作本机库。工具要求我们需要以下软件来将NetworKit安装为Python包:现代C++编译器,例如g++(>=6.1)、clang++(>=3.9)或MSVC(>=14.13);OpenMP(为了并行,通常是编译器自带的);Python3(版本6或更高版本);点;CMake(版本6或更高版本,安装命令:“pip3installcmake”);构建系统:Make或Ninja;Cython(29及以上版本,安装命令:“pip3installcython”);工具安装为了使用NetworKit,我们可以通过包管理器安装它,或者从源代码构建Python模块。通过包管理器安装:我们可以通过包管理器安装最新版本的NetworKit。Pip安装:pip3install[--user]networkitConda安装:condaconfig--addchannelsconda-forgecondainstallnetworkit[-cconda-forge]Brew安装:brewinstallnetworkitSpack安装:spackinstallpy-networkit从源代码gitclonehttps://github构建一个Python模块。com/networkit/networkitnetworkitcdnetworkitpython3setup。pybuild_ext[-jX]pip3install-e。工具使用示例在下面的工具演示示例中,我们将生成一个具有100,000个节点的随机双曲线图,并使用PLM方法计算其网络(社区):>>>importnetworkitasnk>>>g=nk.generators.HyperbolicGenerator(1e5).generate()>>>communities=nk.community.detectCommunities(g,inspect=True)PLM(balanced,pc,turbo)detectedcommunitiesin0.14577102661132812[s]solutionproperties:------------------------------#communities4536mincommunitysize1maxcommunitysize2790avg.communitysize22.0459modularity0.987243-----------------------------使用NetworKit作为代码库除了直接使用NetworKit之外,我们还可以将NetworKit作为代码库来使用。在下面的例子中,我们将在/usr/local编译安装NetworKit:cmake..make-jXinstall安装完NetworKit后,我们可以通过以下方法在C++应用程序中使用include指令:#include我们也可以通过以下方式编译我们的源代码:g++my_file.cpp-lnetworkit许可协议本项目的开发和发布遵循MIT开源许可协议。项目地址NetworKit:【GitHub传送门】