📄 netflowheader.java
字号:
package com.tianxun.NEI.sniffer.util;
import java.io.OutputStream;
import java.util.Date;
/**
* 根据NetFlow V5 记录的包头格式.
*
* @author 聂军
* @version 1.0 2004-9-13
*/
public class NetFlowHeader extends NetFlow {
/**
* NetFlow头的大小.
*/
public static final int HEADER_SIZE = 24;
private int version = 5;
private int count = 0;
private long sysUptime = 0;
private long unixSecs = 0;
private long unixNsecs = 0;
private long flowSequence = 0;
private byte engineType = 0;
private byte engineId = 0;
private int samplingInterval = 0;
/**
* 构造器.
*/
public NetFlowHeader() {
}
/**
* 设置一个NetFlow包中的Flow个数.
*
* @param c - Flow个数.
*/
public void setCount(int c) {
count = c;
}
/**
* 将NetFlow包头的数据写入到缓冲流中.
*
* @param os - 缓冲输出流.
* @throws Exception - Exception.
*/
public void writeBytes(OutputStream os) throws Exception {
byte[] buffer = new byte[HEADER_SIZE];
writeNumber(buffer, 0, version, 2);
writeNumber(buffer, 2, count, 2);
writeNumber(buffer, 4, sysUptime, 4);
writeNumber(buffer, 8, unixSecs, 4);
writeNumber(buffer, 12, unixNsecs, 4);
writeNumber(buffer, 16, flowSequence, 4);
writeNumber(buffer, 20, engineType, 1);
writeNumber(buffer, 21, engineId, 1);
writeNumber(buffer, 22, samplingInterval, 2);
os.write(buffer, 0, HEADER_SIZE);
}
/**
* @see java.lang.Object#toString()
*/
public String toString() {
return "NetFlowHeader[Version=" + version + ", Count="
+ count + ", SysUptime=" + sysUptime + ", unix_secs=" + unixSecs
+ ", unix_nsecs=" + unixNsecs + ", flow_sequence=" + flowSequence
+ ", engine_type=" + engineType + ", engine_id=" + engineId
+ ", sampling_interval=" + samplingInterval + "]";
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -