Network Real Trace Analysis 2015年12月10日
了解网络中真实的流量,国内很难找到巨人的肩膀。
WAND是新西兰waikato 大学计算机系的研究小组,主要做网络测量,大规模网络流量捕获,网络分析。还做专业的分析软件。
libtrace是其开源的分析软件项目。
它可以读写流量。这些流量也放在他们网站上提供下载。
libtrace 有大量的可执行程序,在linux下编译运行。 例如,流统计报告tracereport.
- traceanon
- traceconvert
- tracediff
- traceends
- tracefilter
- tracemerge
- tracepktdump
- tracereplay
- tracereport
- tracertstats
- tracesplit
- tracesplit_dir
- tracestats
- tracesummary
- tracetop
- tracetopends
- ToolTricks
使用tracereport工具里的参数选项-F可以统计流数目。tracereport工具有如下子选项。
tracereport
    [ -f bpf | --filter=bpf ]
    [ -e | --error ]
    [ -F | --flow ]
    [ -P | --protocol ]
    [ -p | --port ]
    [ -T | --tos ]
    [ -t | --ttl ]
    [ -O | --tcpoptions ]
    [ -o | --synoptions ]
    [ -n | --nlp ]
    [ -d | --direction ]
    [ -C | --ecn ]
    [ -s | --tcpsegment ]
求trace1的流数量
linux# tracereport -F erf:trace1.erf.gz
.erf.gz是流的后缀名,进过.gz压缩,是erf的包数据格式。
主要算法由/libtrace/tools/tracereport/Flow_report.c/ flow_per_packet()函数完成
void flow_per_packet(struct libtrace_packet_t *packet)
{
    struct libtrace_ip *ip = trace_get_ip(packet);
    struct fivetuple_t ft;
    if (!ip)
        return;
    ft.ipa=ip->ip_src.s_addr;
    ft.ipb=ip->ip_dst.s_addr;
    ft.porta=trace_get_source_port(packet);
    ft.portb=trace_get_destination_port(packet);
    ft.prot = 0;
    if (!SET_CONTAINS(flowset,ft)) {
        SET_INSERT(flowset,ft);
        flow_count++;
    }
}
每读取一个包就会调用一次此函数。
结构体 libtrace_ip 表示数据包ip。
得到ip内容。
判断是否是已经出现过的流,否则flow_count++;
统计值就在flow_count里。
==========完=========
2015年12月10日
原文链接:http://www.pandaroll.cn/research/research1.html
Network Real Trace Analysis 2015年12月10日的更多相关文章
- 2015年12月10日 spring初级知识讲解(三)Spring消息之activeMQ消息队列
		基础 JMS消息 一.下载ActiveMQ并安装 地址:http://activemq.apache.org/ 最新版本:5.13.0 下载完后解压缩到本地硬盘中,解压目录中activemq-core ... 
- 2015年12月10日 spring初级知识讲解(二)最小化Spring XML配置 注解
		序,随着Spring容器管理Bean数量增加,XML文件会越来越大,而且纯手工配置XML很繁琐,Spring和JAVA都提供了一些注解方式用以简化XML配置. 目录 一.自动装配(autowiring ... 
- 2015年12月28日 Java基础系列(六)流
		2015年12月28日 Java基础系列(六)流2015年12月28日 Java基础系列(六)流2015年12月28日 Java基础系列(六)流 
- 2015年12月13日 spring初级知识讲解(四)面向切面的Spring
		2015年12月13日 具体内容待补充... 
- 【C++】命令行Hangman #2015年12月15日 00:20:27
		增加了可以在构造Hangman对象时通过传入参数设定“最大猜测次数”的功能.少量修改.# 2015年12月15日 00:20:22 https://github.com/shalliestera/ha ... 
- 我的Python成长之路---第一天---Python基础(作业2:三级菜单)---2015年12月26日(雾霾)
		作业二:三级菜单 三级菜单 可一次进入各个子菜单 思路: 这个题看似不难,难点在于三层循环的嵌套,我的思路就是通过flag的真假来控制每一层的循环的,简单来说就是就是通过给每一层循环一个单独的布尔变量 ... 
- 我的Python成长之路---第一天---Python基础(作业1:登录验证)---2015年12月26日(雾霾)
		作业一:编写登录接口 输入用户名密码 认证成功系那是欢迎信息 输错三次后锁定 思路: 1.参考模型,这个作业我参考了linux的登录认证流程以及结合网上银行支付宝等锁定规则 1)认证流程参考的是Lin ... 
- 我的Python成长之路---第一天---Python基础(1)---2015年12月26日(雾霾)
		2015年12月26日是个特别的日子,我的Python成之路迈出第一步.见到了心目中的Python大神(Alex),也认识到了新的志向相投的伙伴,非常开心. 尽管之前看过一些Python的视频.书,算 ... 
- 2016年12月10日 星期六 --出埃及记 Exodus 21:5
		2016年12月10日 星期六 --出埃及记 Exodus 21:5 "But if the servant declares, `I love my master and my wife ... 
随机推荐
- 5.查找最小的k个元素[Kmin]
			[题目] 输入n个整数,输出其中最小的k个. 例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4. [分析] 这道题最简单的思路莫过于把输入的n个整数排序,这样排在最前 ... 
- PHP 反引号运行Shell命令,C程序
			/********************************************************************* * PHP 反引号运行Shell命令,C程序 * 说明: ... 
- kubeadm搭建kubernetes集群之二:创建master节点
			在上一章kubeadm搭建kubernetes集群之一:构建标准化镜像中我们用VMware安装了一个CentOS7虚拟机,并且打算用这个虚拟机的镜像文件作为后续整个kubernetes的标准化镜像,现 ... 
- HDU2604 Queuing 矩阵初识
			Queues and Priority Queues are data structures which are known to most computer scientists. The Queu ... 
- LOJ2359. 「NOIP2016」天天爱跑步【树上差分】
			LINK 思路 首先发现如果对于一个节点,假设一个节点需要统计从字数内来的贡献 需要满足\(dep_u - dep_s = w_u\) 这个条件其实可以转化成\(dep_u - w_u = dep_s ... 
- 《DSP using MATLAB》示例Example6.2
			2017年了,阳历新年都11号了,已从外地回到家乡,依然苦逼的生活…… 接着写读书(Digital Signal Processing using MATLAB)笔记吧 代码: b = [1 -3 1 ... 
- Tornado之自定义异步非阻塞的服务器和客户端
			一.自定义的异步非阻塞的客户端 #!/usr/bin/env python # -*- coding: utf8 -*- # __Author: "Skiler Hao" # da ... 
- 实例-QPSK的fpga实现
- 【深度学习笔记】Anaconda及开发环境搭建
			在学习了一段时间台大李宏毅关于deep learning的课程,以及一些其他机器学习的书之后,终于打算开始动手进行一些实践了. 感觉保完研之后散养状态下,学习效率太低了,于是便想白天学习,晚上对白天学 ... 
- Rabbitmq交换器Exchange和消息队列
			通常我们谈到队列服务, 会有三个概念: 发消息者.队列.收消息者,RabbitMQ 在这个基本概念之上, 多做了一层抽象, 在发消息者和 队列之间, 加入了交换器 (Exchange). 这样发消息者 ... 
