dir_graph_analyse.py 文件源码

python
阅读 28 收藏 0 点赞 0 评论 0

项目:analyse_website_dns 作者: mrcheng0910 项目源码 文件源码
def main():
    domain_name = 'baidu.com'
    domain_pkts = get_data(domain_name)
    node_cname, node_ip, visit_total, edges, node_main = get_ip_cname(domain_pkts[0]['details'])
    for i in domain_pkts[0]['details']:
        for v in i['answers']:
            edges.append((v['domain_name'],v['dm_data']))

    DG = nx.DiGraph()
    DG.add_edges_from(edges)

    # ?????????IP?node
    for node in DG:
        if node in node_main and DG.successors(node) in node_ip:
            print node

    # ??cname???IP????
    for node in DG:
        if node in node_cname and DG.successors(node) not in node_cname:  # ???ip?????cname
            print "node",DG.out_degree(node),DG.in_degree(node),DG.degree(node)
    # ?cname???????
    # for node in DG:
    #     if node in node_cname and DG.predecessors(node) not in node_cname:
    #         print len(DG.predecessors(node))

    for node in DG:
        if node in  node_main:
            if len(DG.successors(node)) ==3:
                print node
                print DG.successors(node)
    # print sorted(nx.degree(DG).values())

    print nx.degree_assortativity_coefficient(DG)
    average_degree = sum(nx.degree(DG).values())/(len(node_cname)+len(node_ip)+len(node_main))
    print average_degree
    print len(node_cname)+len(node_ip)+len(node_main)
    print len(edges)
    print nx.degree_histogram(DG)
    # print nx.degree_centrality(DG)
    # print nx.in_degree_centrality(DG)
    # print nx.out_degree_centrality(DG)
    # print nx.closeness_centrality(DG)
    # print nx.load_centrality(DG)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号