123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- #ifndef PROXYCHANNEL_H
- #define PROXYCHANNEL_H
- #include "CovertChannel.h"
- /**
- * @class ForwardChannel
- *
- * A CovertChannel which forwards the traffic it captures.
- */
- class ProxyChannel : public CovertChannel {
- public:
- /**
- * Sets up a CovertChannel.
- *
- * Creates a CovertChannel, sets the network interfaces for sniffing and sending and sets the filter.
- *
- * @param innerInterface name of the interface of the inner network
- * @param outerInterface name of the interface of the outer network
- * @param filter pcap filter string which will be set for the channel sniffers and negated for the forward sniffers
- * @param relayOnly true - server only relays traffic | false - server redirects traffic over another relay
- */
- ProxyChannel(const std::string &innerInterface, const std::string &outerInterface, const std::string &ownIP, const std::string &partnerIP,
- const std::string &filterIP, const std::string &filterPort, const bool relayOnly);
- /**
- * Destroys the CovertChannel.
- */
- virtual ~ProxyChannel();
- protected:
- /**
- * Handler for sniffed packets filterd to forward from the outer network.
- *
- * Handles incoming packets and forwards them.
- *
- * @param pdu sniffed packet
- *
- * @return false = stop loop | true = continue loop
- */
- virtual bool handleChannelFromOuter(Tins::PDU &pdu);
- /**
- * Handler for sniffed packets filterd to forward from the inner network.
- *
- * Handles incoming packets and forwards them.
- *
- * @param pdu sniffed packet
- *
- * @return false = stop loop | true = continue loop
- */
- virtual bool handleChannelFromInner(Tins::PDU &pdu);
- /**
- * Handler for sniffed packets filterd to use as channel from the outer network.
- *
- * Handles incoming packets and redirets them.
- *
- * @param pdu sniffed packet
- *
- * @return false = stop loop | true = continue loop
- */
- virtual bool handlePartnerFromOuter(Tins::PDU &pdu);
- /**
- * Relay option which activates relay only mode
- */
- const bool relayOnly;
- const Tins::IPv4Address ownAddress;
- const Tins::IPv4Address partnerAddress;
- const Tins::IPv4Address filterAddress;
- };
- #endif
|