pcap文件源码分析
。。。
在这个脚本运行之前,会先手动执行两个命令
主方法里直接调用了 cron 方法
在一个true循环里:
读了最旧的 pcap 文件和最新的pcap文件,如果一样就continue
读了最旧的 pcap 文件,格式化之后存到成员属性里
cache_messages
调了protocol.py 的反序列化方法,解析读出来的数据
如果数据里包含 和 类型的内容
· 循环
如果是 类型:
key = inv:{}:****{} (type,hash)
如果 type 是 2
如果查不到 rkey,设值 rkey= timestamp
如果查到 rkey了,如果3小时以上了,continue
设值 lastblockhash = hash
添加 key**,**timestamp,hash( node )
设置 key 的过期时间
如果是类型:
key = ping:{}-{}:****{} (node[0], node[1], msg['nonce'])
添加 ping:{}-{}:****{} = timestamp 到列表,同时维护到成员变量里
计算每一个 ping:{}-{}:****{} 的往返时间
把 rtt:****{} (address)放到列表里,并且仅保留一定时间范围内的key
- 删除文件
解析出来存到redis里的数据:
问题:
存下来的 rinv:{}:{} 有什么用? 和 key 是什么关系?
记录一个块哈希的更新时间,如果超过3小时就忽略。