1、CICFlowMeter介绍
CICFlowMeter 自带 Swing 可视化 GUI
有原生 Java Swing 图形界面,很简陋,年代比较老:
- Offline 模式:选 pcap 文件夹、输出 csv 文件夹,设置流超时,批量转 CIC‑IDS2017 格式 csvCSDN博...
- Realtime 模式:加载网卡,实时抓包直接输出流 csv(依赖 npcap+jnetpcap.dll)
2、编译CICFlowMeter
下载地址:https://github.com/ahlashkari/CICFlowMeter
(国内gitcode上面也有副本)
直接编译会报错,需要注释掉jnetpcap,下载jnetpcap版本放在lib目录下(手动建一个lib目录)
// compile group: 'org.jnetpcap', name: 'jnetpcap', version:'1.4.1'
compile fileTree(dir:'lib', include:['*.jar'])
dependencies {
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.11.0'
compile group: 'org.slf4j', name: 'slf4j-log4j12', version:'1.7.25'
// compile group: 'org.jnetpcap', name: 'jnetpcap', version:'1.4.1'
compile fileTree(dir:'lib', include:['*.jar'])
compile group: 'junit', name: 'junit', version:'4.12'
compile group: 'org.apache.commons', name: 'commons-lang3', version:'3.6'
compile group: 'org.apache.commons', name: 'commons-math3', version:'3.5'
compile group: 'commons-io', name: 'commons-io', version:'2.5'
compile group: 'nz.ac.waikato.cms.weka', name: 'weka-stable', version:'3.6.14'
// https://mvnrepository.com/artifact/org.jfree/jfreechart
compile group: 'org.jfree', name: 'jfreechart', version: '1.5.0'
// https://mvnrepository.com/artifact/com.google.guava/guava
compile group: 'com.google.guava', name: 'guava', version: '23.6-jre'
// https://mvnrepository.com/artifact/org.apache.tika/tika-core
compile group: 'org.apache.tika', name: 'tika-core', version: '1.17'
}
另外,需要单独java8(其他文章写得,自己下载),之后编译就能成功
D:\code_cic\CICFlowMeter-master>gradlew.bat clean distZip
> Configure project :
type Jar
type JavaExec
> Task :compileJava
注: 某些输入文件使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
BUILD SUCCESSFUL in 3s
7 actionable tasks: 7 executed
Windows 启动 GUI(你已经编译成功的情况下)
进入项目根目录执行,必须用 JDK8,jnetpcap.dll 已经放到 JDK8/jre/bin(如果只使用离线模式,不copy也能运行起来UI页面)
然后,启动UI界面
D:\code_cic\CICFlowMeter-master>gradlew.bat execute
Starting a Gradle Daemon (subsequent builds will be faster)
> Configure project :
type Jar
type JavaExec
> Task :execute
Exception while removing reference.
libpng warning: iCCP: cHRM chunk does not match sRGB
BUILD SUCCESSFUL in 2m 32s
3 actionable tasks: 1 executed, 2 up-to-date

计划测试无页面模式
- 如果用
java‑jar xxx.jar直接运行打包产物,默认也会弹出 GUI ;做 Flask 后台调用的时候,必须加‑Djava.awt.headless=true关闭 GUI 弹窗,否则后台会卡住等待图形窗口。
cmd
# Flask调用无头模式(不弹窗口,用于pcap批量转换)
java -Djava.awt.headless=true -jar CICFlowMeter.jar input_pcap_dir output_csv_dir