F2MD
Framework For Misbehavior Detection in C-ITS (ITS-G5 & C-V2X)
Install / Use
/learn @josephkamel/F2MDREADME
Framework For Misbehavior Detection (F2MD)
This project aims to recreate within a simulation all the elements that form the chain of misbehavior detection.
The scientific publication is available on ResearchGate. If you find this code useful in your research, please consider citing :
@ARTICLE{9056489,
author={J. {Kamel} and M. R. {Ansari} and J. {Petit} and A. {Kaiser} and I. {Ben Jemaa} and P. {Urien}},
title={Simulation Framework for Misbehavior Detection in Vehicular Networks},
journal={IEEE Transactions on Vehicular Technology},
year={2020}
}
Supported network technologies:
- ITS-G5 (IEEE 802.11p)
- C-V2X (3GPP PC5 Mode 4)
Features
- Basic Plausibility Checks on Received Beacons (mdChecks)
- Node Level Plausibility Investigation (mdApplications)
- Real Time Machine Learning for Plausibility Investigation (HTTP to the Python Server: machine-learning-server)
- Real Time Detection Status Output (mdStats, see README in f2md-results)
- Support for Multiple Reporting Mechanisms (mdReport)
- Support for Global Reports Collection and Investigation (HTTP to the Python Server: misbehavior-authority-server)
- Basic Psudonym Change Policies (mdPCPolicies)
- Local and Global Misbehavior Attacks Implementation (mdAttacks)
- Launch Attacks in Real Time (HTTP to the Python Server: attack-server)
Installation
The easiest way
Alternatively, you can download a preinstalled Instant F2MD virtual machine here:
Or access the Docker Image here:
The easy way
- If you're running a Debian-based Linux distribution, use the automatic install script (tested on Debian 9 and Ubuntu 18.04)
$ ./installF2MD
The hard way
- Install Sumo 1.5.0
- Install OMNeT++ 5.6.1
- Clone this repository along with all the submodules to your local machine
$ git clone --recurse-submodules https://github.com/josephkamel/F2MD.git
- Build all f2md modules (inet, veins, veins_inet3 and simulte)
$ ./buildF2MD
For more information check the Veins Tutorial or the OpenCV2X Tutorial.
Running a simulation
- Launch the SUMO TraCI daemon
$ ./launchSumoTraciDaemon
- Run a simulation scenario
$ ./runScenario
- Visualise the output
$ cd f2md-results && ./plotScenario
Project Diagram

Related Skills
node-connect
353.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
353.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
353.3kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
