流量分析入门

NetFlow

NetFlow是一种数据交换方式,由思科于1990年开发。其工作原理是:NetFlow利用标准的交换模式处理数据流的第一个IP包数据,生成NetFlow缓存,随后同样的数据基于缓存信息在同一个数据流中进行传输,不再匹配相关的访问控制等策略,NetFlow缓存同时包含了随后数据流的统计信息。

NetFlow输出格式

NetFlow输出格式为报头+一系列Flow流。报头包含序列号、记录数、系统时间等,Flow流包含IP地址、端口、路由信息等。

一个IP数据包的Flow流至少定义了7个关键元素:

  • 源IP地址;
  • 目的IP地址;
  • 源端口号;
  • 目的端口号;
  • 第三层协议类型;
  • TOS字段;
  • 网络设备输入/输出的逻辑端口。

OSSIM提供可视化NetFlow图形界面,如下图:

NetFlow监测恶意代码

NetFlow数据流获取方便,当网络正常运行时,NetFlow数据流是有一定的规律性的,当网络中存在异常流量时,网络流量会发生异常的波动。
监测蠕虫的策略:选取几个不同时间段,若时间段内符合特征的Flow超过上限值,则为病毒。

反应网络运行的核心参数

  • 平均每秒流量:如果网络内部存在大流量的攻击或P2P等大流量的下载等异常流量时,其数值会比正常时大很多。
  • 平均每秒包数:大部分的异常流量都会产生非常多的数据包数。
  • 数据包大小分布:64字节左右的小包和1500字节左右的大包的分布比例较小,小包过多,可能存在扫描、攻击行为,大包过多可能存在消耗带宽资源的大包DOS攻击行为。
    *平均包长:网络内的平均包长会在500-700字节左右。
  • TCP会话数、UDP会话数、IP地址个数、MAC地址个数。。。

WireShark

WireShark是目前世界上最流行的网络分析工具,如下图:

界面详解

1.过滤器规则:

  • tcp->只显示TCP协议的记录;
  • http->只看HTTP协议的记录;
  • ip.src ==192.168.1.102 ->显示源地址为192.168.1.102的记录;
  • ip.dst==192.168.1.102 ->目标地址为192.168.1.10的记录;
  • ip.addr == 42.121.252.58 ->只显示与某主机的通信;
  • tcp.port ==80->端口为80的;
  • tcp.srcport == 80 ->只显示TCP协议的源端口为80的;
  • http.request.method==”GET” ->只显示HTTP GET方法的;
  • eth.type == 0x806->只显示ARP报文,这个字段的值表示是ARP报文,如果是ip报文此值为0x8000(可在表达式中选取对应的16进制值)。

2.封包列表:
封包列表的面板中显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。

3.封包的详细信息:
在封包信息中,每行对应的含义及在OSI模型中的对应关系如下:

  • Frame: 物理层的数据帧概况 ->对应OSI七层模型中的【物理层】
  • Ethernet II: 数据链路层以太网帧头部信息 ->对应OSI七层模型中的【数据链路层】
  • Internet Protocol Version 4: 互联网层IP包头部信息 ->对应OSI七层模型中的【网络层】
  • Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP ->对应OSI七层模型中的【传输层】
  • Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议 ->对应OSI七层模型中的【应用层】

WireShark统计模块

捕获文件的属性


这一菜单简单收集所有抓包数据,在定义了过滤条件的时候,将呈现过滤后的数据。当想要知道每秒的平均报文数或是字节数时,可以使用此工具。

Endpoint


此窗口中,能够看到第2,3,4层的endpoints,也就是以太网,IP, TCP或UDP。查看收发大量数据流的IP地址。

Conversations


显示2层以太网统计数据,第3层IP统计数据,或第4层TCP或UDP统计数据,网络会话是两个指定终端之间的数据流。例如,IP会话是两个IP地址之间的所有数据流,TCP会话包含了所有TCP连接。

参考

抓包工具 - Wireshark(详细介绍与TCP三次握手数据分析)

-------------本文结束感谢您的阅读-------------