Simple Module TCPSpoof

Package: inet.applications.tcpapp
File: src/applications/tcpapp/TCPSpoof.ned

C++ definition

Sends fabricated TCP packets. This is a base implementation, you'll probably have to customize it in C++ according to what you want to send and when you want to send it.

Compatible with both IPv4 and IPv6.

TCPSpoof

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram. Click here to see the full picture.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram. Click here to see the full picture.

Used in compound modules:

If a module type shows up more than once, that means it has been defined in more than one NED file.

TCPSpoofingHost (compound module)

IP host with TCPSpoof in the application layer.

Parameters:

Name Type Default value Description
srcAddress string ""

local address; may be left empty ("")

destAddress string ""

destination address

srcPort int

local port number

destPort int

destination port number

seqNo int

sequence number (-1 for TCP ISS)

isSYN bool true

whether to set SYN bit on packet

t double

simulation time to send at

Properties:

Name Value Description
display i=block/square

Gates:

Name Direction Size Description
ipv4Out output
ipv6Out output

Source code:

//
// Sends fabricated TCP packets. This is a base implementation,
// you'll probably have to customize it in C++ according to
// what you want to send and when you want to send it.
//
// Compatible with both IPv4 and IPv6.
//
simple TCPSpoof
{
    parameters:
        string srcAddress = default("");  // local address; may be left empty ("")
        string destAddress = default(""); // destination address
        int srcPort; // local port number
        int destPort; // destination port number
        int seqNo; // sequence number (-1 for TCP ISS)
        bool isSYN = default(true); // whether to set SYN bit on packet
        double t @unit("s"); // simulation time to send at
        @display("i=block/square");
    gates:
        output ipv4Out @labels(TCPSegment,IPControlInfo/down);
        output ipv6Out @labels(TCPSegment,IPv6ControlInfo/down);
}