个人博客文章:CICFlowMeter安装及使用体验
CICFlowMeter 官方开源地址:https://github.com/ahlashkari/CICFlowMeter
CICFlowMeter 相关介绍:https://www.unb.ca/cic/research/applications.html#CICFlowMeter
实验环境
执行 $ sudo apt update
执行 $ java -version
若报未安装,提示
$ apt install default-jre
$ apt install openjdk-11-jre-headless
$ apt install openjdk-8-jre-headless
$ apt install openjdk-9-jre-headless
直接根据提示安装即可。
$ sudo apt install maven
搬运:@一天_pika:Linux下配置Maven中心源
$ mvn -v
查看 maven 安装路径
Ubuntu 一般在 /usr/share/maven/conf
$ cd /usr/share/maven/conf
# 编辑配置文件
$ vi seetings
粘贴下面的源
alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
central
ui
central
Human Readable Name for this Mirror.
http://uk.maven.org/maven2/
jboss-public-repository-group
central
JBoss Public Repository Group
http://repository.jboss.org/nexus/content/groups/public
repo2
central
Human Readable Name for this Mirror.
http://repo2.maven.org/maven2/
OSChina
OSChina Central
http://maven.oschina.net/content/groups/public/
central
nexus-osc-thirdparty
thirdparty
Nexus osc thirdparty
http://maven.oschina.net/content/repositories/thirdparty/
$ sudo apt install git
$ sudo apt install gradle
全程参考:@JPLAY0:Linux安装libpcap(pcap.h库)(以Ubuntu 18.04为例)
官网:https://www.tcpdump.org/#latest-releases
libpcap 是unix/linux 平台下的网络数据包捕获函数包,安装它需要安装它的依赖包。
$ sudo apt-get update
$ sudo apt-get install flex bison byacc
# 进入存放 libpcap-x.x.x.tar.gz 的目录
$ cd ?/
# 解压
$ tar -zxvf libpcap-x.x.x.tar.gz
# 进入 libcap 解压后的目录
$ cd libpcap-x.x.x
# 编译安装
$./configure
$ make
$ sudo make install
新建一个 test.c
#include
#include
#include
#define MAXBYTE2CAPTURE 2048
void processPacket(u_char *arg, const struct pcap_pkthdr *pkthdr, const u_char *packet) {
int i = 0, *counter = (int *) arg;
printf("Packet Count: %d\n", ++(*counter));
printf("Received Packet Size: %d\n", pkthdr->len);
printf("Payload:\n");
for (i = 0; i < pkthdr->len; i++) {
if (isprint(packet[i]))
printf("%c ", packet[i]);
else
printf(". ");
if ((i % 16 == 0 && i != 0) || i == pkthdr->len - 1)
printf("\n");
}
return;
}
int main() {
int i = 0, count = 0;
pcap_t *descr = NULL;
char errbuf[PCAP_ERRBUF_SIZE], *device = NULL;
memset(errbuf, 0, PCAP_ERRBUF_SIZE);
/* Get the name of the first device suitable for capture */
device = pcap_lookupdev(errbuf);
printf("Opening device %s\n", device);
/* Open device in promiscuous mode */
descr = pcap_open_live(device, MAXBYTE2CAPTURE, 1, 512, errbuf);
/* Loop forever & call processPacket() for every received packet */
pcap_loop(descr, -1, processPacket, (u_char *) &count);
return 0;
}
拷贝 lib 文件
$ sudo cp /usr/local/lib/libpcap.so.1 /usr/lib/
编译运行
$ cd ?/
# gcc 编译
$ gcc test.c -lpcap -o test
# 测试
$ sudo ./test
测试成功如下截图
https://www.jetbrains.com/idea/下载 Linux 版
$ 解压一般放置 /opt/
$ cd idealxxxxxxx/bin/
# 运行
$ ./idea.sh
$ git clone https://github.com/ahlashkari/CICFlowMeter.git
导入项目到 IDEA 中
# 打开 IDEA 中的 Terminal
$ cd pathtoproject/jnetpcap/linux/jnetpcap-1.4.r1425
# 安装
$ mvn install:install-file -Dfile=jnetpcap.jar -DgroupId=org.jnetpcap -DartifactId=jnetpcap -Dversion=1.4.1 -Dpackaging=jar
打开项目文件 build.grade
修改 repositories
repositories {
mavenLocal()
// maven 中心源
// mavenCentral()
// maven 阿里源
maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
}
$ sudo su
$ gradle execute
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E06gv1DS-1584671450164)(/Users/ashin/Desktop/截屏2020-02-20上午10.09.24.png)]
监听的网卡还没发货~ 待更新
支持将 pcap 抓包文件转换 csv 文件。