The CICFlowMeter is an open source tool that generates Biflows from pcap files, and extracts features from these flows.
CICFlowMeter is a network traffic flow generator available from here . It can be used to generate bidirectional flows, where the first packet determines the forward (source to destination) and backward (destination to source) directions, hence the statistical time-related features can be calculated separately in the forward and backward directions. Additional functionalities include, selecting features from the list of existing features, adding new features, and controlling the duration of flow timeout.
NOTE: TCP flows are usually terminated upon connection teardown (by FIN packet) while UDP flows are terminated by a flow timeout. The flow timeout value can be assigned arbitrarily by the individual scheme e.g., 600 seconds for both TCP and UDP.
For citation in your works and also understanding CICFlowMeter (formerly ISCXFlowMeter) completely, you can find below published paper: Gerard Drapper Gil, Arash Habibi Lashkari, Mohammad Mamun, Ali A. Ghorbani, "Characterization of Encrypted and VPN Traffic Using Time-Related Features", In Proceedings of the 2nd International Conference on Information Systems Security and Privacy(ICISSP 2016) , pages 407-414, Rome , Italy
Extract CICFlowMeterV3.zip
Note: The only prerequisite is that "libpcap" library or WinPcap on windows systems, be pre-installed
For Linux
$ sudo apt-get install libpcap-dev
For windows
download winpcap
Go to the extracted directory,enter the 'bin' folder
Open a terminal and run this command
//For GUI:
sudo ./CICFlowMeter
//For Command line:
./cfm "inputFolder" "outputFolder"
Lanunch the Comand Prompt and run this command
//for GUI:
CICFlowMeter.bat
//for Commond line:
cfm.bat "inputFolder" "outputFolder"
for offline
1.Select the folder that include your PCAP files
2.Select the folder that you would like to save you CSV files
3.Click OK button
for realtime
1 CLick Load button to find the list of network interfaces
2 Select the interface you would like to monitor
3 Click start button and wait for a while
4 Click stop button to stop the process and save the csv in same applcation folder/data/daily
Contact us at A.Habibi.L@unb.ca if there are any problems.
For citation in your works and also understanding CICFlowMeter (formerly ISCXFlowMeter) completely, you can find below published papers:
Arash Habibi Lashkari, Gerard Draper-Gil, Mohammad Saiful Islam Mamun and Ali A. Ghorbani, "Characterization of Tor Traffic Using Time Based Features", In the proceeding of the 3rd International Conference on Information System Security and Privacy, SCITEPRESS, Porto, Portugal, 2017
Gerard Drapper Gil, Arash Habibi Lashkari, Mohammad Mamun, Ali A. Ghorbani, "Characterization of Encrypted and VPN Traffic Using Time-Related Features", In Proceedings of the 2nd International Conference on Information Systems Security and Privacy(ICISSP 2016) , pages 407-414, Rome , Italy
for linux, sudo is a prerequisite
//linux :at the pathtoproject/jnetpcap/linux/jnetpcap-1.4.r1425
//windows: at the pathtoproject/jnetpcap/win/jnetpcap-1.4.r1425
mvn install:install-file -Dfile=jnetpcap.jar -DgroupId=org.jnetpcap -DartifactId=jnetpcap -Dversion=1.4.1 -Dpackaging=jar
open a Terminal in the IDE
//linux:
$ sudo bash
$ gradle execute
//windows:
$ gradlew execute
Run eclipse with sudo
1. Right click App.java -> Run As -> Run Configurations -> Arguments -> VM arguments:
-Djava.library.path="pathtoproject/jnetpcap/linux/jnetpcap-1.4.r1425" -> Run
2. Right click App.java -> Run As -> Java Application
open a Terminal in the IDE
//linux:
$ gradle distZip
http://www.scitepress.org/DigitalLibrary/PublicationsDetail.aspx?ID=g4gLnPa/2OM=&t=1
//window
$ gradlew distZip
the zip file will be in the pathtoproject/CICFlowMeter/build/distributions
At the project root
mvn package
the jar file will be in the pathtoproject/CICFlowMeter/target