00001 /*************************************************************************** 00002 peerconnect.h - description 00003 ------------------- 00004 begin : Fri Nov 23 2001 00005 copyright : (C) 2001 by Constantinos A. Kotsokalis 00006 email : ckotso@netmode.ntua.gr 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00018 #ifndef PEERCONNECT_H 00019 #define PEERCONNECT_H 00020 00026 class PeerConnect; 00027 00028 #include <cc++/thread.h> 00029 #include <cc++/socket.h> 00030 00031 #ifdef CCXX_NAMESPACES 00032 using namespace std; 00033 using namespace ost; 00034 #endif 00035 00036 typedef struct RemoteDetector; 00037 00038 #include "collector.h" 00039 00040 // PeerConnect is executed in a separate thread 00041 class PeerConnect : public TCPSession { 00042 private: 00043 // The mode shows if it's a flow-based or a packet-based attack 00044 int mode; 00045 // The victim address 00046 InetHostAddress attacked; 00047 // The email address of the victim's owner 00048 char *owner; 00049 string remid; 00050 virtual void final(); 00051 00052 public: 00053 // The only public method available, connects and forwards data to the peer 00054 PeerConnect(RemoteDetector, InetHostAddress, int, char *, string); 00055 virtual ~PeerConnect(); 00056 virtual void run(); 00057 }; 00058 00059 #endif
1.2.18