Whisper Library
 All Classes Functions Variables Typedefs Enumerations Friends
whisper_library::CovertChannel Class Referenceabstract

The interface used by all covert channels. More...

Inheritance diagram for whisper_library::CovertChannel:
Inheritance graph

Public Member Functions

 CovertChannel ()
 Creates a CovertChannel.
 
virtual ~CovertChannel ()
 Destructor. More...
 
virtual void initialize ()=0
 Initializes the covert channel. Is called after construction.
 
virtual CovertChannelinstance ()=0
 
virtual void sendMessage (std::string message)=0
 sends a message More...
 
virtual void receivePacket (GenericPacket &packet)=0
 receives a packet More...
 
virtual void setArguments (string arguments)=0
 configures the covert channel More...
 
virtual void setOutput (function< void(string)> output)=0
 sets the output method More...
 
virtual void setSend (function< void(GenericPacket)> send)=0
 sets the methode used to send packets
 
virtual std::string name () const =0
 
virtual std::string info () const =0
 
virtual string protocol () const =0
 
virtual unsigned short port () const =0
 
virtual std::string id () const =0
 

Detailed Description

The interface used by all covert channels.

CovertChannel is the abstract class all covert channels you want to use have to inherit from. It defines the interface for a covert channel. You can add CovertChannel objects to the ChannelManager to use them.

Constructor & Destructor Documentation

virtual whisper_library::CovertChannel::~CovertChannel ( )
inlinevirtual

Destructor.

Virtual destructor so that the destructor of derived classes is called

Member Function Documentation

virtual std::string whisper_library::CovertChannel::id ( ) const
pure virtual
virtual std::string whisper_library::CovertChannel::info ( ) const
pure virtual
virtual CovertChannel* whisper_library::CovertChannel::instance ( )
pure virtual
virtual std::string whisper_library::CovertChannel::name ( ) const
pure virtual
virtual unsigned short whisper_library::CovertChannel::port ( ) const
pure virtual
virtual string whisper_library::CovertChannel::protocol ( ) const
pure virtual
virtual void whisper_library::CovertChannel::receivePacket ( GenericPacket packet)
pure virtual

receives a packet

This function is called, when a new packet arrived. The argument is a reference to this packet.

Implemented in whisper_library::TimingCovertChannel, whisper_library::PacketLengthCovertChannel, and whisper_library::TcpHeaderCovertChannel.

virtual void whisper_library::CovertChannel::sendMessage ( std::string  message)
pure virtual

sends a message

Call this function to send a message using the covert channel.

Implemented in whisper_library::PacketLengthCovertChannel.

virtual void whisper_library::CovertChannel::setArguments ( string  arguments)
pure virtual

configures the covert channel

Parameters
argumentsArguments that are given to the covert channel

Implemented in whisper_library::TimingCovertChannel, and whisper_library::TcpHeaderCovertChannel.

virtual void whisper_library::CovertChannel::setOutput ( function< void(string)>  output)
pure virtual

sets the output method

Parameters
outputthe method the covert channel uses to output the received messages

Implemented in whisper_library::TimingCovertChannel, and whisper_library::TcpHeaderCovertChannel.