-rw-r--r-- | libopie2/examples/opienet/miniwellenreiter/miniwellenreiter.cpp | 4 | ||||
-rw-r--r-- | libopie2/opienet/onetwork.h | 30 | ||||
-rw-r--r-- | libopie2/opienet/opcap.h | 5 | ||||
-rw-r--r-- | libopie2/opieui/opieui.pro | 0 |
4 files changed, 30 insertions, 9 deletions
diff --git a/libopie2/examples/opienet/miniwellenreiter/miniwellenreiter.cpp b/libopie2/examples/opienet/miniwellenreiter/miniwellenreiter.cpp index f800336..34d32d2 100644 --- a/libopie2/examples/opienet/miniwellenreiter/miniwellenreiter.cpp +++ b/libopie2/examples/opienet/miniwellenreiter/miniwellenreiter.cpp | |||
@@ -103,40 +103,40 @@ public: | |||
103 | 103 | ||
104 | // connect a monitoring strategy to the interface | 104 | // connect a monitoring strategy to the interface |
105 | if ( driver == "orinoco" ) | 105 | if ( driver == "orinoco" ) |
106 | new OOrinocoMonitoringInterface( wiface ); | 106 | new OOrinocoMonitoringInterface( wiface ); |
107 | else | 107 | else |
108 | { | 108 | { |
109 | printf( "Unknown driver. Exiting\n" ); | 109 | printf( "Unknown driver. Exiting\n" ); |
110 | exit( -1 ); | 110 | exit( -1 ); |
111 | } | 111 | } |
112 | 112 | ||
113 | // enable monitoring mode | 113 | // enable monitoring mode |
114 | printf( "Enabling monitor mode...\n" ); | 114 | printf( "Enabling monitor mode...\n" ); |
115 | wiface->setMonitorMode( true ); | 115 | //wiface->setMonitorMode( true ); |
116 | 116 | ||
117 | // open a packet capturer | 117 | // open a packet capturer |
118 | cap = new OPacketCapturer(); | 118 | cap = new OPacketCapturer(); |
119 | cap->open( interface ); | 119 | cap->open( interface ); |
120 | if ( !cap->isOpen() ) | 120 | if ( !cap->isOpen() ) |
121 | { | 121 | { |
122 | printf( "Unable to open libpcap (%s). Exiting.\n", strerror( errno ) ); | 122 | printf( "Unable to open libpcap (%s). Exiting.\n", strerror( errno ) ); |
123 | exit( -1 ); | 123 | exit( -1 ); |
124 | } | 124 | } |
125 | 125 | ||
126 | // set capturer to non-blocking mode | 126 | // set capturer to non-blocking mode |
127 | cap->setBlocking( false ); | 127 | cap->setBlocking( false ); |
128 | 128 | ||
129 | // start channel hopper | 129 | // start channel hopper |
130 | wiface->setChannelHopping( 1000 ); | 130 | //wiface->setChannelHopping( 1000 ); |
131 | 131 | ||
132 | // connect | 132 | // connect |
133 | connect( cap, SIGNAL( receivedPacket(OPacket*) ), this, SLOT( receivePacket(OPacket*) ) ); | 133 | connect( cap, SIGNAL( receivedPacket(OPacket*) ), this, SLOT( receivePacket(OPacket*) ) ); |
134 | 134 | ||
135 | } | 135 | } |
136 | 136 | ||
137 | ~Wellenreiter() {}; | 137 | ~Wellenreiter() {}; |
138 | 138 | ||
139 | public slots: | 139 | public slots: |
140 | void receivePacket(OPacket* p) | 140 | void receivePacket(OPacket* p) |
141 | { | 141 | { |
142 | if (!p) | 142 | if (!p) |
diff --git a/libopie2/opienet/onetwork.h b/libopie2/opienet/onetwork.h index 2348bbc..f052317 100644 --- a/libopie2/opienet/onetwork.h +++ b/libopie2/opienet/onetwork.h | |||
@@ -104,25 +104,25 @@ class ONetwork : public QObject | |||
104 | */ | 104 | */ |
105 | // FIXME QString? -zecke | 105 | // FIXME QString? -zecke |
106 | bool isWirelessInterface( const char* interface ) const; | 106 | bool isWirelessInterface( const char* interface ) const; |
107 | /** | 107 | /** |
108 | * @returns a pointer to the @ref ONetworkInterface object for the specified @p interface or 0, if not found | 108 | * @returns a pointer to the @ref ONetworkInterface object for the specified @p interface or 0, if not found |
109 | * @see ONetworkInterface | 109 | * @see ONetworkInterface |
110 | */ | 110 | */ |
111 | // FIXME: const QString& is prefered over QString!!! -zecke | 111 | // FIXME: const QString& is prefered over QString!!! -zecke |
112 | ONetworkInterface* interface( const QString& interface ) const; | 112 | ONetworkInterface* interface( const QString& interface ) const; |
113 | /** | 113 | /** |
114 | * @internal Rebuild the internal interface database | 114 | * @internal Rebuild the internal interface database |
115 | * @note Sometimes it might be useful to call this from client code, | 115 | * @note Sometimes it might be useful to call this from client code, |
116 | * e.g. after cardctl insert | 116 | * e.g. after issuing a cardctl insert |
117 | */ | 117 | */ |
118 | void synchronize(); | 118 | void synchronize(); |
119 | 119 | ||
120 | protected: | 120 | protected: |
121 | ONetwork(); | 121 | ONetwork(); |
122 | 122 | ||
123 | private: | 123 | private: |
124 | static ONetwork* _instance; | 124 | static ONetwork* _instance; |
125 | InterfaceMap _interfaces; | 125 | InterfaceMap _interfaces; |
126 | }; | 126 | }; |
127 | 127 | ||
128 | 128 | ||
@@ -244,35 +244,59 @@ class ONetworkInterface : public QObject | |||
244 | * | 244 | * |
245 | * This class provides a channel hopper for radio frequencies. A channel hopper frequently | 245 | * This class provides a channel hopper for radio frequencies. A channel hopper frequently |
246 | * changes the radio frequency channel of its associated @ref OWirelessNetworkInterface. | 246 | * changes the radio frequency channel of its associated @ref OWirelessNetworkInterface. |
247 | * This is necessary when in monitoring mode and scanning for other devices, because | 247 | * This is necessary when in monitoring mode and scanning for other devices, because |
248 | * the radio frequency hardware can only detect packets sent on the same frequency. | 248 | * the radio frequency hardware can only detect packets sent on the same frequency. |
249 | * @author Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> | 249 | * @author Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> |
250 | */ | 250 | */ |
251 | class OChannelHopper : public QObject | 251 | class OChannelHopper : public QObject |
252 | { | 252 | { |
253 | Q_OBJECT | 253 | Q_OBJECT |
254 | 254 | ||
255 | public: | 255 | public: |
256 | /** | ||
257 | * Constructor. | ||
258 | */ | ||
256 | OChannelHopper( OWirelessNetworkInterface* ); | 259 | OChannelHopper( OWirelessNetworkInterface* ); |
260 | /** | ||
261 | * Destructor. | ||
262 | */ | ||
257 | virtual ~OChannelHopper(); | 263 | virtual ~OChannelHopper(); |
264 | /** | ||
265 | * @returns true, if the channel hopper is hopping channels | ||
266 | */ | ||
258 | bool isActive() const; | 267 | bool isActive() const; |
268 | /** | ||
269 | * @returns the last hopped channel | ||
270 | */ | ||
259 | int channel() const; | 271 | int channel() const; |
260 | virtual void timerEvent( QTimerEvent* ); | 272 | /** |
261 | void setInterval( int ); | 273 | * Set the channel hopping @a interval. |
274 | * An interval of 0 deactivates the channel hopper. | ||
275 | */ | ||
276 | void setInterval( int interval ); | ||
277 | /** | ||
278 | * @returns the channel hopping interval | ||
279 | */ | ||
262 | int interval() const; | 280 | int interval() const; |
263 | 281 | ||
264 | signals: | 282 | signals: |
283 | /** | ||
284 | * This signal is emitted right after the channel hopper performed a hop | ||
285 | */ | ||
265 | void hopped( int ); | 286 | void hopped( int ); |
266 | 287 | ||
288 | protected: | ||
289 | virtual void timerEvent( QTimerEvent* ); | ||
290 | |||
267 | private: | 291 | private: |
268 | OWirelessNetworkInterface* _iface; | 292 | OWirelessNetworkInterface* _iface; |
269 | int _interval; | 293 | int _interval; |
270 | int _tid; | 294 | int _tid; |
271 | QValueList<int> _channels; | 295 | QValueList<int> _channels; |
272 | QValueList<int>::Iterator _channel; | 296 | QValueList<int>::Iterator _channel; |
273 | }; | 297 | }; |
274 | 298 | ||
275 | 299 | ||
276 | /*====================================================================================== | 300 | /*====================================================================================== |
277 | * OWirelessNetworkInterface | 301 | * OWirelessNetworkInterface |
278 | *======================================================================================*/ | 302 | *======================================================================================*/ |
diff --git a/libopie2/opienet/opcap.h b/libopie2/opienet/opcap.h index 83f7115..bee0ca0 100644 --- a/libopie2/opienet/opcap.h +++ b/libopie2/opienet/opcap.h | |||
@@ -144,44 +144,42 @@ class OEthernetPacket : public QObject | |||
144 | public: | 144 | public: |
145 | OEthernetPacket( const unsigned char*, const struct ether_header*, QObject* parent = 0 ); | 145 | OEthernetPacket( const unsigned char*, const struct ether_header*, QObject* parent = 0 ); |
146 | virtual ~OEthernetPacket(); | 146 | virtual ~OEthernetPacket(); |
147 | 147 | ||
148 | OMacAddress sourceAddress() const; | 148 | OMacAddress sourceAddress() const; |
149 | OMacAddress destinationAddress() const; | 149 | OMacAddress destinationAddress() const; |
150 | int type() const; | 150 | int type() const; |
151 | 151 | ||
152 | private: | 152 | private: |
153 | const struct ether_header* _ether; | 153 | const struct ether_header* _ether; |
154 | }; | 154 | }; |
155 | 155 | ||
156 | |||
157 | /*====================================================================================== | 156 | /*====================================================================================== |
158 | * OPrismHeaderPacket - DLT_PRISM_HEADER frame | 157 | * OPrismHeaderPacket - DLT_PRISM_HEADER frame |
159 | *======================================================================================*/ | 158 | *======================================================================================*/ |
160 | 159 | ||
161 | class OPrismHeaderPacket : public QObject | 160 | class OPrismHeaderPacket : public QObject |
162 | { | 161 | { |
163 | Q_OBJECT | 162 | Q_OBJECT |
164 | 163 | ||
165 | public: | 164 | public: |
166 | OPrismHeaderPacket( const unsigned char*, const struct prism_hdr*, QObject* parent = 0 ); | 165 | OPrismHeaderPacket( const unsigned char*, const struct prism_hdr*, QObject* parent = 0 ); |
167 | virtual ~OPrismHeaderPacket(); | 166 | virtual ~OPrismHeaderPacket(); |
168 | 167 | ||
169 | unsigned int signalStrength() const; | 168 | unsigned int signalStrength() const; |
170 | 169 | ||
171 | private: | 170 | private: |
172 | const struct prism_hdr* _header; | 171 | const struct prism_hdr* _header; |
173 | }; | 172 | }; |
174 | 173 | ||
175 | |||
176 | /*====================================================================================== | 174 | /*====================================================================================== |
177 | * OWaveLanPacket - DLT_IEEE802_11 frame | 175 | * OWaveLanPacket - DLT_IEEE802_11 frame |
178 | *======================================================================================*/ | 176 | *======================================================================================*/ |
179 | 177 | ||
180 | class OWaveLanPacket : public QObject | 178 | class OWaveLanPacket : public QObject |
181 | { | 179 | { |
182 | Q_OBJECT | 180 | Q_OBJECT |
183 | 181 | ||
184 | public: | 182 | public: |
185 | OWaveLanPacket( const unsigned char*, const struct ieee_802_11_header*, QObject* parent = 0 ); | 183 | OWaveLanPacket( const unsigned char*, const struct ieee_802_11_header*, QObject* parent = 0 ); |
186 | virtual ~OWaveLanPacket(); | 184 | virtual ~OWaveLanPacket(); |
187 | 185 | ||
@@ -343,41 +341,40 @@ class OWaveLanManagementIBSS : public QObject | |||
343 | public: | 341 | public: |
344 | OWaveLanManagementIBSS( const unsigned char*, const struct ibss_t*, QObject* parent = 0 ); | 342 | OWaveLanManagementIBSS( const unsigned char*, const struct ibss_t*, QObject* parent = 0 ); |
345 | virtual ~OWaveLanManagementIBSS(); | 343 | virtual ~OWaveLanManagementIBSS(); |
346 | 344 | ||
347 | private: | 345 | private: |
348 | const struct ibss_t* _data; | 346 | const struct ibss_t* _data; |
349 | }; | 347 | }; |
350 | 348 | ||
351 | /*====================================================================================== | 349 | /*====================================================================================== |
352 | * OWaveLanManagementChallenge | 350 | * OWaveLanManagementChallenge |
353 | *======================================================================================*/ | 351 | *======================================================================================*/ |
354 | 352 | ||
355 | // Qobject do we need that?? | ||
356 | class OWaveLanManagementChallenge : public QObject | 353 | class OWaveLanManagementChallenge : public QObject |
357 | { | 354 | { |
358 | Q_OBJECT | 355 | Q_OBJECT |
359 | 356 | ||
360 | public: | 357 | public: |
361 | OWaveLanManagementChallenge( const unsigned char*, const struct challenge_t*, QObject* parent = 0 ); | 358 | OWaveLanManagementChallenge( const unsigned char*, const struct challenge_t*, QObject* parent = 0 ); |
362 | virtual ~OWaveLanManagementChallenge(); | 359 | virtual ~OWaveLanManagementChallenge(); |
363 | 360 | ||
364 | private: | 361 | private: |
365 | const struct challenge_t* _data; | 362 | const struct challenge_t* _data; |
366 | }; | 363 | }; |
367 | 364 | ||
368 | /*====================================================================================== | 365 | /*====================================================================================== |
369 | * OWaveLanDataPacket - type: data (T_DATA) | 366 | * OWaveLanDataPacket - type: data (T_DATA) |
370 | *======================================================================================*/ | 367 | *======================================================================================*/ |
371 | // Qobject? | 368 | |
372 | class OWaveLanDataPacket : public QObject | 369 | class OWaveLanDataPacket : public QObject |
373 | { | 370 | { |
374 | Q_OBJECT | 371 | Q_OBJECT |
375 | 372 | ||
376 | public: | 373 | public: |
377 | OWaveLanDataPacket( const unsigned char*, const struct ieee_802_11_data_header*, OWaveLanPacket* parent = 0 ); | 374 | OWaveLanDataPacket( const unsigned char*, const struct ieee_802_11_data_header*, OWaveLanPacket* parent = 0 ); |
378 | virtual ~OWaveLanDataPacket(); | 375 | virtual ~OWaveLanDataPacket(); |
379 | 376 | ||
380 | private: | 377 | private: |
381 | const struct ieee_802_11_data_header* _header; | 378 | const struct ieee_802_11_data_header* _header; |
382 | }; | 379 | }; |
383 | 380 | ||
diff --git a/libopie2/opieui/opieui.pro b/libopie2/opieui/opieui.pro index 996e1a0..aa85955 100644 --- a/libopie2/opieui/opieui.pro +++ b/libopie2/opieui/opieui.pro | |||