e-mail address: omnetmanual@gmail.com

Phone number: +91 9444856435

Tel 7639361621

DEFENDER
  • Phd Omnet++ Projects
    • RESEARCH PROJECTS IN OMNET++
  • Network Simulator Research Papers
    • Omnet++ Thesis
    • Phd Omnet++ Projects
    • MS Omnet++ Projects
    • M.Tech Omnet++ Projects
    • Latest Omnet++ Projects
    • 2016 Omnet++ Projects
    • 2015 Omnet++ Projects
  • OMNET INSTALLATION
    • 4G LTE INSTALLATION
    • CASTALIA INSTALLATION
    • INET FRAMEWORK INSTALLATION
    • INETMANET INSTALLATION
    • JDK INSTALLATION
    • LTE INSTALLATION
    • MIXIM INSTALLATION
    • Os3 INSTALLATION
    • SUMO INSTALLATION
    • VEINS INSTALLATION
  • Latest Omnet++ Projects
    • AODV OMNET++ SOURCE CODE
    • VEINS OMNETPP
    • Network Attacks in OMNeT++
    • NETWORK SECURITY OMNET++ PROJECTS
    • Omnet++ Framework Tutorial
      • Network Simulator Research Papers
      • OMNET++ AD-HOC SIMULATION
      • OmneT++ Bandwidth
      • OMNET++ BLUETOOTH PROJECTS
      • OMNET++ CODE WSN
      • OMNET++ LTE MODULE
      • OMNET++ MESH NETWORK PROJECTS
      • OMNET++ MIXIM MANUAL
  • OMNeT++ Projects
    • OMNeT++ OS3 Manual
    • OMNET++ NETWORK PROJECTS
    • OMNET++ ROUTING EXAMPLES
    • OMNeT++ Routing Protocol Projects
    • OMNET++ SAMPLE PROJECT
    • OMNeT++ SDN PROJECTS
    • OMNET++ SMART GRID
    • OMNeT++ SUMO Tutorial
  • OMNET++ SIMULATION THESIS
    • OMNET++ TUTORIAL FOR WIRELESS SENSOR NETWORK
    • OMNET++ VANET PROJECTS
    • OMNET++ WIRELESS BODY AREA NETWORK PROJECTS
    • OMNET++ WIRELESS NETWORK SIMULATION
      • OMNeT++ Zigbee Module
    • QOS OMNET++
    • OPENFLOW OMNETPP
  • Contact

How to Implement Stenography in OMNeT++

To implement the steganography in OMNeT++ has includes to design and emulate the network that can insert the hidden communication inside the regular network traffic. The stegnography in networking can be used to secretly convey the data by embedding data inside the payload of network packets.the given below is the procedure for implement the steganography in OMNeT++ using the INET framework:

Step-by-Step Implementation

  1. Install OMNeT++ and INET Framework

Make sure we have OMNeT++ and the INET Framework installed.

  1. Create a New OMNeT++ Project
  1. Open OMNeT++ IDE: Start the OMNeT++ IDE.
  2. Create a New Project: Go to File -> New -> OMNeT++ Project. Name the project like SteganographySimulation.
  1. Define the Network Topology

Generate a new NED file to describe the network topology that has contains hosts and routers.

Example: Steganography Network Topology (SteganographyNetwork.ned)

package steganographynetwork;

import inet.node.inet.StandardHost;

import inet.node.inet.Router;

network SteganographyNetwork

{

parameters:

@display(“bgb=800,400”);

submodules:

host1: StandardHost {

@display(“p=100,200”);

}

host2: StandardHost {

@display(“p=300,200”);

}

router: Router {

@display(“p=200,100”);

}

connections allowunconnected:

host1.ethg++ <–> Eth10M <–> router.ethg++;

host2.ethg++ <–> Eth10M <–> router.ethg++;

}

  1. Configure the Simulation

Generate an OMNeT++ initialization file to configure the parameters of the simulation.

Example: Configuration File (omnetpp.ini)

network = steganographynetwork.SteganographyNetwork

sim-time-limit = 200s

# Visualization

*.visualizer.canvasVisualizer.displayBackground = true

*.visualizer.canvasVisualizer.displayGrid = true

# Host Configuration

*.host*.numApps = 1

*.host*.app[0].typename = “StegoApp”

*.host*.app[0].destAddresses = “host2”

*.host*.app[0].destPort = 5000

*.host*.app[0].messageLength = 1024B

*.host*.app[0].sendInterval = 1s

# Router Configuration

*.router.numPorts = 2

# IP Address Configuration

*.host1.ipv4.config = xmldoc(“host1.xml”)

*.host2.ipv4.config = xmldoc(“host2.xml”)

*.router.ipv4.config = xmldoc(“router.xml”)

  1. Create IP Address Configuration Files

Generate XML files to describe the IP address configuration for each node.

Example: IP Configuration File for host1 (host1.xml)

<config>

<interface>

<name>eth0</name>

<address>192.168.1.1</address>

<netmask>255.255.255.0</netmask>

</interface>

</config>

Example: IP Configuration File for host2 (host2.xml)

<config>

<interface>

<name>eth0</name>

<address>192.168.1.2</address>

<netmask>255.255.255.0</netmask>

</interface>

</config>

Example: IP Configuration File for router (router.xml)

<config>

<interface>

<name>eth0</name>

<address>192.168.1.254</address>

<netmask>255.255.255.0</netmask>

</interface>

<interface>

<name>eth1</name>

<address>10.0.0.1</address>

<netmask>255.255.255.0</netmask>

</interface>

</config>

  1. Implement Steganographic Logic

To mimic steganographic operations, execute custom applications that manage embedding and extracting hidden messages inside the network packets.

Example: Steganographic Application (Pseudo-Code)

#include <omnetpp.h>

#include <inet/applications/udpapp/UdpBasicApp.h>

#include <bitset>

#include <sstream>

using namespace omnetpp;

using namespace inet;

class StegoApp : public UdpBasicApp

{

protected:

virtual void initialize(int stage) override;

virtual void handleMessageWhenUp(cMessage *msg) override;

void embedMessage(cMessage *msg);

void extractMessage(cMessage *msg);

std::string toBinaryString(const std::string &text);

std::string fromBinaryString(const std::string &binary);

};

Define_Module(StegoApp);

void StegoApp::initialize(int stage) {

UdpBasicApp::initialize(stage);

if (stage == INITSTAGE_APPLICATION_LAYER) {

// Custom initialization code

}

}

void StegoApp::handleMessageWhenUp(cMessage *msg) {

if (msg->isSelfMessage()) {

embedMessage(msg);

} else {

extractMessage(msg);

}

UdpBasicApp::handleMessageWhenUp(msg);

}

void StegoApp::embedMessage(cMessage *msg) {

// Embed hidden message into packet payload

std::string hiddenMessage = “secret”;

std::string binaryMessage = toBinaryString(hiddenMessage)

std::ostringstream oss;

oss << “Original message with hidden data: ” << binaryMessage;

std::string payload = oss.str();

msg->setName(payload.c_str());

send(msg, “out”);

}

void StegoApp::extractMessage(cMessage *msg) {

// Extract hidden message from packet payload

std::string payload = msg->getName();

std::size_t pos = payload.find(“Original message with hidden data: “);

if (pos != std::string::npos) {

std::string binaryMessage = payload.substr(pos + 34);

std::string hiddenMessage = fromBinaryString(binaryMessage);

EV << “Extracted hidden message: ” << hiddenMessage << “\n”;

}

delete msg;

}

std::string StegoApp::toBinaryString(const std::string &text) {

std::string binaryString;

for (char c : text) {

binaryString += std::bitset<8>(c).to_string();

}

return binaryString;

}

std::string StegoApp::fromBinaryString(const std::string &binary) {

std::string text;

std::stringstream sstream(binary);

while (sstream.good()) {

std::bitset<8> bits;

sstream >> bits;

text += char(bits.to_ulong());

}

return text;

}

  1. Run the Simulation
  1. Build the Project: Right-click on project and choose Build Project.
  2. Run the Simulation: Click on the green play button in the OMNeT++ IDE to start the simulation.

From the script, we had offer the information about how the steganography performs and run in the network traffic in OMNeT++ simulator using the INET framework. Further simulation and comparison analysis solution will be provide by us for your projects.

Related Topics

  • Network Intrusion Detection Projects
  • Computer Science Phd Topics
  • Iot Thesis Ideas
  • Cyber Security Thesis Topics
  • Network Security Research Topics

designed by OMNeT++ Projects .