IHttpDirectApp

Package: inet.applications.httptools.common

IHttpDirectApp

module interface

Interface for HTTP server and browser models that communicate directly, without lower layer protocols. This module is intended for use with the HttpDirectHost module and plugs in as an app.

See also: HttpServer, HttpDirectHost

Author: Kristjan V. Jonsson

IHttpDirectApp

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Implemented by

Name Type Description
HttpBrowserDirect simple module

This component is the direct message passing version of the browser simulation component. Use this component with the HttpDirectHost container module.

HttpServerDirect simple module

A Web server module for OMNeT++ simulations and direct message passing between modules. This module is intended for use with the HttpDirectHost module and plugs in as a tcpApp.

HttpServerDirectEvilA simple module

Demonstrates subclassing the server to create a custom site. This site is an attacker -- a puppetmaster -- which serves HTML pages containing attack code. In this case, we are simulating JavaScript attack code which prompts the unsuspecting browser to request a number of images from a victim site. Delays are specified to simulate hiding the attack from the browser user by use of JavaScript timeouts or similar mechanisms. The generateBody virtual function is redefined to create a page containing the attack code.

HttpServerDirectEvilB simple module

Demonstrates subclassing the server to create a custom site. This site is an attacker -- a puppetmaster -- which serves HTML pages containing attack code. In this case, we are simulating JavaScript attack code which prompts the unsuspecting browser to issue a number of requests for non-existing resources (random URLS) to the victim site. Delays are specified to simulate hiding the attack from the browser user by use of JavaScript timeouts or similar mechanisms. The generateBody virtual function is redefined to create a page containing the attack code.

Used in compound modules

Name Type Description
HttpDirectHost compound module

Simple host for the HttpTools project. The node is a simple container for apps. Suitable apps are the HttpBrowserDirect and HttpServerDirect modules from HttpTools.

Parameters

Name Type Default value Description
linkSpeed double

Used to model transmission delays.

Source code

//
// Interface for HTTP server and browser models that communicate directly,
// without lower layer protocols. This module is intended for use with the
// ~HttpDirectHost module and plugs in as an app.
//
// @see ~HttpServer, ~HttpDirectHost
//
// @author  Kristjan V. Jonsson
//
moduleinterface IHttpDirectApp
{
    parameters:
        double linkSpeed @unit(bps);  // Used to model transmission delays.
    gates:
        input httpIn @directIn;
}

File: src/inet/applications/httptools/common/IHttpDirectApp.ned