summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2004-03-09 17:59:55 (UTC)
committer mickeyl <mickeyl>2004-03-09 17:59:55 (UTC)
commitdd34b866c0f3e5041696dd97cf356d86a8d6d212 (patch) (unidiff)
treefb4c6e414b851a3000d91d34d38a666da1fbf95a
parent25434cbbcd2d2473c9cd3d486cec7a96a6a6323e (diff)
downloadopie-dd34b866c0f3e5041696dd97cf356d86a8d6d212.zip
opie-dd34b866c0f3e5041696dd97cf356d86a8d6d212.tar.gz
opie-dd34b866c0f3e5041696dd97cf356d86a8d6d212.tar.bz2
on the way to a new hex window
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/TODO7
-rw-r--r--noncore/net/wellenreiter/gui/main.cpp1
-rw-r--r--noncore/net/wellenreiter/gui/mainwindow.cpp5
-rw-r--r--noncore/net/wellenreiter/gui/packetview.cpp48
-rw-r--r--noncore/net/wellenreiter/gui/packetview.h19
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.cpp4
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.h4
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiterbase.cpp14
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiterbase.h4
9 files changed, 75 insertions, 31 deletions
diff --git a/noncore/net/wellenreiter/TODO b/noncore/net/wellenreiter/TODO
index f3fd205..5f37ddf 100644
--- a/noncore/net/wellenreiter/TODO
+++ b/noncore/net/wellenreiter/TODO
@@ -55,6 +55,13 @@ ENGINE
55 55
56- write kismet-like .network format and format to be importable into AutoRoute 56- write kismet-like .network format and format to be importable into AutoRoute
57 57
58- implement beacon stripping (the first beacon is enough to detect a 58- implement beacon stripping (the first beacon is enough to detect a
59 new network - further beacons just blow up the capture file) 59 new network - further beacons just blow up the capture file)
60 60
61- write wi-scan format like that:
62 # $Creator: Wellenreiter II Version 1.0.2
63 # $Format: wi-scan
64 # Latitude Longitude ( SSID ) Type ( BSSID ) Time (GMT) [ SNR Sig Noise ]
65 # $DateGMT: 2004-02-07
66 N 41.1008009 W 8.3893034 ( Porceven ) BBS ( 00:a0:f8:41:91:63 ) 22:32:39 (GMT) [ 21 177 156 ]
67
diff --git a/noncore/net/wellenreiter/gui/main.cpp b/noncore/net/wellenreiter/gui/main.cpp
index be7a528..7dcc583 100644
--- a/noncore/net/wellenreiter/gui/main.cpp
+++ b/noncore/net/wellenreiter/gui/main.cpp
@@ -49,12 +49,13 @@ int main( int argc, char **argv )
49 int result = -1; 49 int result = -1;
50 static int killed = false; 50 static int killed = false;
51 51
52 bool check = true; 52 bool check = true;
53 for ( int i = 1; i < argc; ++i ) 53 for ( int i = 1; i < argc; ++i )
54 { 54 {
55 qDebug( "Wellenreiter::main() parsing argument %d = '%s'", i, argv[i] );
55 if ( !strcmp( "-nocheck", argv[i] ) ) 56 if ( !strcmp( "-nocheck", argv[i] ) )
56 { 57 {
57 qDebug( "-nocheck found" ); 58 qDebug( "-nocheck found" );
58 check = false; 59 check = false;
59 break; 60 break;
60 } 61 }
diff --git a/noncore/net/wellenreiter/gui/mainwindow.cpp b/noncore/net/wellenreiter/gui/mainwindow.cpp
index 6f57a7f..5cc0daf 100644
--- a/noncore/net/wellenreiter/gui/mainwindow.cpp
+++ b/noncore/net/wellenreiter/gui/mainwindow.cpp
@@ -13,13 +13,13 @@
13** 13**
14**********************************************************************/ 14**********************************************************************/
15 15
16#include "configwindow.h" 16#include "configwindow.h"
17#include "gps.h" 17#include "gps.h"
18#include "logwindow.h" 18#include "logwindow.h"
19#include "hexwindow.h" 19#include "packetview.h"
20#include "mainwindow.h" 20#include "mainwindow.h"
21#include "wellenreiter.h" 21#include "wellenreiter.h"
22#include "scanlist.h" 22#include "scanlist.h"
23 23
24#include <qcombobox.h> 24#include <qcombobox.h>
25#include <qdatastream.h> 25#include <qdatastream.h>
@@ -329,12 +329,14 @@ void WellenreiterMainWindow::fileSaveSession()
329 } 329 }
330 } 330 }
331} 331}
332 332
333void WellenreiterMainWindow::fileSaveHex() 333void WellenreiterMainWindow::fileSaveHex()
334{ 334{
335 #warning DOES NOT WORK AT THE MOMENT
336 /*
335 QString fname = getFileName( true ); 337 QString fname = getFileName( true );
336 if ( !fname.isEmpty() ) 338 if ( !fname.isEmpty() )
337 { 339 {
338 QFile f( fname ); 340 QFile f( fname );
339 if ( f.open(IO_WriteOnly) ) 341 if ( f.open(IO_WriteOnly) )
340 { 342 {
@@ -345,12 +347,13 @@ void WellenreiterMainWindow::fileSaveHex()
345 } 347 }
346 else 348 else
347 { 349 {
348 qDebug( "Problem saving hex log to file '%s'", (const char*) fname ); 350 qDebug( "Problem saving hex log to file '%s'", (const char*) fname );
349 } 351 }
350 } 352 }
353 */
351} 354}
352 355
353void WellenreiterMainWindow::fileLoadSession() 356void WellenreiterMainWindow::fileLoadSession()
354{ 357{
355 QString fname = getFileName( false ); 358 QString fname = getFileName( false );
356 if ( !fname.isEmpty() ) 359 if ( !fname.isEmpty() )
diff --git a/noncore/net/wellenreiter/gui/packetview.cpp b/noncore/net/wellenreiter/gui/packetview.cpp
index e986b49..ef5d020 100644
--- a/noncore/net/wellenreiter/gui/packetview.cpp
+++ b/noncore/net/wellenreiter/gui/packetview.cpp
@@ -11,34 +11,58 @@
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14**********************************************************************/ 14**********************************************************************/
15 15
16#include "packetview.h" 16#include "packetview.h"
17#include <qmultilineedit.h> 17
18/* OPIE */
19#include <opie2/opcap.h>
20
21/* QT */
22#include <qtextview.h>
23#include <qspinbox.h>
24#include <qlabel.h>
25#include <qlayout.h>
26#include <qlist.h>
18 27
19PacketView::PacketView( QWidget * parent, const char * name, WFlags f ) 28PacketView::PacketView( QWidget * parent, const char * name, WFlags f )
20 :QVBox( parent, name, f ) 29 :QFrame( parent, name, f )
21{ 30{
22 ledit = new QMultiLineEdit( this ); 31 _number = new QSpinBox( this );
23 ledit->setFont( QFont( "fixed", 10 ) ); 32 _number->setPrefix( "Packet # " );
24 ledit->setReadOnly( true ); 33 _label = new QLabel( this );
34 _label->setText( "eth0 2004/03/08 - 00:00:21" );
35 _list = new QLabel( this );
36 _hex = new QTextView( this );
37
38 QVBoxLayout* vb = new QVBoxLayout( this, 2, 2 );
39 QHBoxLayout* hb = new QHBoxLayout( vb, 2 );
40 hb->addWidget( _label );
41 hb->addWidget( _number );
42 vb->addWidget( _list );
43 vb->addWidget( _hex );
44
45 _packets.setAutoDelete( true );
46
47 _list->setText( "<b>[ 802.11 [ LLC [ IP [ UDP [ DHCP ] ] ] ] ]</b>" );
25}; 48};
26 49
27void PacketView::log( const QString& text ) 50void PacketView::add( OPacket* p )
28{ 51{
29 int col; 52 _packets.append( p );
30 int row;
31 ledit->getCursorPosition( &col, &row );
32 ledit->insertAt( text, col, row );
33}; 53};
34 54
35const QString PacketView::getLog() const 55const QString PacketView::getLog() const
36{ 56{
37 return ledit->text();
38} 57}
39 58
40void PacketView::clear() 59void PacketView::clear()
41{ 60{
42 ledit->clear(); 61 _packets.clear();
62 _number->setMinValue( 0 );
63 _number->setMaxValue( 0 );
64 _label->setText( "---" );
65 _list->setText( " <b>-- no Packet available --</b> " );
66 _hex->setText( " <i>-- no Packet available --</i> " );
43} 67}
44 68
diff --git a/noncore/net/wellenreiter/gui/packetview.h b/noncore/net/wellenreiter/gui/packetview.h
index ee3cf3a..b5f2b26 100644
--- a/noncore/net/wellenreiter/gui/packetview.h
+++ b/noncore/net/wellenreiter/gui/packetview.h
@@ -13,28 +13,37 @@
13** 13**
14**********************************************************************/ 14**********************************************************************/
15 15
16#ifndef PACKETVIEW_H 16#ifndef PACKETVIEW_H
17#define PACKETVIEW_H 17#define PACKETVIEW_H
18 18
19#include <qvbox.h> 19#include <qlist.h>
20#include <qframe.h>
20 21
21class QString; 22class QString;
22class QMultiLineEdit; 23class QSpinBox;
24class QLabel;
25class QTextView;
26class OPacket;
23 27
24class PacketView: public QVBox 28class PacketView: public QFrame
25{ 29{
26 30
27 public: 31 public:
28 PacketView( QWidget * parent = 0, const char * name = "PacketView", WFlags f = 0 ); 32 PacketView( QWidget * parent = 0, const char * name = "PacketView", WFlags f = 0 );
29 33
30 void log( const QString& text ); 34 void add( OPacket* p );
31 const QString getLog() const; 35 const QString getLog() const;
32 void clear(); 36 void clear();
33 37
34 protected: 38 protected:
35 QMultiLineEdit* ledit; 39
40 QSpinBox* _number;
41 QLabel* _label;
42 QLabel* _list;
43 QTextView* _hex;
44 QList<OPacket> _packets;
36 45
37}; 46};
38 47
39#endif 48#endif
40 49
diff --git a/noncore/net/wellenreiter/gui/wellenreiter.cpp b/noncore/net/wellenreiter/gui/wellenreiter.cpp
index 67e3940..ce416e5 100644
--- a/noncore/net/wellenreiter/gui/wellenreiter.cpp
+++ b/noncore/net/wellenreiter/gui/wellenreiter.cpp
@@ -14,13 +14,13 @@
14// Local 14// Local
15 15
16#include "gps.h" 16#include "gps.h"
17#include "wellenreiter.h" 17#include "wellenreiter.h"
18#include "scanlist.h" 18#include "scanlist.h"
19#include "logwindow.h" 19#include "logwindow.h"
20#include "hexwindow.h" 20#include "packetview.h"
21#include "configwindow.h" 21#include "configwindow.h"
22#include "statwindow.h" 22#include "statwindow.h"
23#include "graphwindow.h" 23#include "graphwindow.h"
24#include "protolistview.h" 24#include "protolistview.h"
25 25
26// Opie 26// Opie
@@ -377,13 +377,13 @@ bool Wellenreiter::checkDumpPacket( OPacket* p )
377 return true; 377 return true;
378} 378}
379 379
380 380
381void Wellenreiter::receivePacket( OPacket* p ) 381void Wellenreiter::receivePacket( OPacket* p )
382{ 382{
383 hexWindow()->log( p->dump( 8 ) ); 383 hexWindow()->add( p );
384 384
385 if ( checkDumpPacket( p ) ) 385 if ( checkDumpPacket( p ) )
386 { 386 {
387 pcap->dump( p ); 387 pcap->dump( p );
388 } 388 }
389 389
diff --git a/noncore/net/wellenreiter/gui/wellenreiter.h b/noncore/net/wellenreiter/gui/wellenreiter.h
index 745486f..d02813b 100644
--- a/noncore/net/wellenreiter/gui/wellenreiter.h
+++ b/noncore/net/wellenreiter/gui/wellenreiter.h
@@ -30,28 +30,28 @@ class OWaveLanDataPacket;
30class OEthernetPacket; 30class OEthernetPacket;
31class OARPPacket; 31class OARPPacket;
32class OMacAddress; 32class OMacAddress;
33class OIPPacket; 33class OIPPacket;
34class OPacketCapturer; 34class OPacketCapturer;
35class OWirelessNetworkInterface; 35class OWirelessNetworkInterface;
36class PacketView;
36class WellenreiterConfigWindow; 37class WellenreiterConfigWindow;
37class MLogWindow; 38class MLogWindow;
38class MHexWindow;
39class GPS; 39class GPS;
40 40
41class Wellenreiter : public WellenreiterBase { 41class Wellenreiter : public WellenreiterBase {
42 Q_OBJECT 42 Q_OBJECT
43 43
44 public: 44 public:
45 Wellenreiter( QWidget* parent = 0 ); 45 Wellenreiter( QWidget* parent = 0 );
46 ~Wellenreiter(); 46 ~Wellenreiter();
47 47
48 void setConfigWindow( WellenreiterConfigWindow* cw ); 48 void setConfigWindow( WellenreiterConfigWindow* cw );
49 MScanListView* netView() const { return netview; }; 49 MScanListView* netView() const { return netview; };
50 MLogWindow* logWindow() const { return logwindow; }; 50 MLogWindow* logWindow() const { return logwindow; };
51 MHexWindow* hexWindow() const { return hexwindow; }; 51 PacketView* hexWindow() const { return hexwindow; };
52 bool isDaemonRunning() const { return sniffing; }; 52 bool isDaemonRunning() const { return sniffing; };
53 QString captureFileName() const { return dumpname; }; 53 QString captureFileName() const { return dumpname; };
54 54
55 public: 55 public:
56 bool sniffing; 56 bool sniffing;
57 57
diff --git a/noncore/net/wellenreiter/gui/wellenreiterbase.cpp b/noncore/net/wellenreiter/gui/wellenreiterbase.cpp
index f57dba2..3d0595d 100644
--- a/noncore/net/wellenreiter/gui/wellenreiterbase.cpp
+++ b/noncore/net/wellenreiter/gui/wellenreiterbase.cpp
@@ -16,13 +16,13 @@
16#include "wellenreiterbase.h" 16#include "wellenreiterbase.h"
17 17
18#include <qlabel.h> 18#include <qlabel.h>
19#include <qlayout.h> 19#include <qlayout.h>
20 20
21#include "logwindow.h" 21#include "logwindow.h"
22#include "hexwindow.h" 22#include "packetview.h"
23#include "scanlist.h" 23#include "scanlist.h"
24#include "statwindow.h" 24#include "statwindow.h"
25#include "graphwindow.h" 25#include "graphwindow.h"
26 26
27#ifdef QWS 27#ifdef QWS
28#include <qpe/resource.h> 28#include <qpe/resource.h>
@@ -33,22 +33,22 @@ using namespace Opie;
33#include <qtabwidget.h> 33#include <qtabwidget.h>
34#endif 34#endif
35 35
36 36
37/* 37/*
38 * Constructs a WellenreiterBase which is a child of 'parent', with the 38 * Constructs a WellenreiterBase which is a child of 'parent', with the
39 * name 'name' and widget flags set to 'f' 39 * name 'name' and widget flags set to 'f'
40 */ 40 */
41WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags fl ) 41WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags fl )
42 : QWidget( parent, name, fl ) 42 : QWidget( parent, name, fl )
43{ 43{
44 //ani1 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot0" ) ); 44 //ani1 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot0" ) );
45 //ani2 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot90" ) ); 45 //ani2 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot90" ) );
46 //ani3 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot180" ) ); 46 //ani3 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot180" ) );
47 //ani4 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot270" ) ); 47 //ani4 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot270" ) );
48 48
49 if ( !name ) 49 if ( !name )
50 setName( "WellenreiterBase" ); 50 setName( "WellenreiterBase" );
51 resize( 191, 294 ); 51 resize( 191, 294 );
52#ifdef QWS 52#ifdef QWS
53 setCaption( tr( "Wellenreiter/Opie" ) ); 53 setCaption( tr( "Wellenreiter/Opie" ) );
54#else 54#else
@@ -79,13 +79,13 @@ WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags f
79 //--------- LOG TAB -------------- 79 //--------- LOG TAB --------------
80 80
81 logwindow = new MLogWindow( TabWidget, "Log" ); 81 logwindow = new MLogWindow( TabWidget, "Log" );
82 82
83 //--------- HEX TAB -------------- 83 //--------- HEX TAB --------------
84 84
85 hexwindow = new MHexWindow( TabWidget, "Hex" ); 85 hexwindow = new PacketView( TabWidget, "Hex" );
86 86
87 //--------- STAT TAB -------------- 87 //--------- STAT TAB --------------
88 88
89 statwindow = new MStatWindow( TabWidget, "Stat" ); 89 statwindow = new MStatWindow( TabWidget, "Stat" );
90 90
91 //--------- ABOUT TAB -------------- 91 //--------- ABOUT TAB --------------
@@ -152,24 +152,24 @@ WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags f
152 */ 152 */
153WellenreiterBase::~WellenreiterBase() 153WellenreiterBase::~WellenreiterBase()
154{ 154{
155 // no need to delete child widgets, Qt does it all for us 155 // no need to delete child widgets, Qt does it all for us
156} 156}
157 157
158/* 158/*
159 * Main event handler. Reimplemented to handle application 159 * Main event handler. Reimplemented to handle application
160 * font changes 160 * font changes
161 */ 161 */
162bool WellenreiterBase::event( QEvent* ev ) 162bool WellenreiterBase::event( QEvent* ev )
163{ 163{
164 bool ret = QWidget::event( ev ); 164 bool ret = QWidget::event( ev );
165 if ( ev->type() == QEvent::ApplicationFontChange ) { 165 if ( ev->type() == QEvent::ApplicationFontChange ) {
166 //QFont Log_2_font( Log_2->font() ); 166 //QFont Log_2_font( Log_2->font() );
167 //Log_2_font.setFamily( "adobe-courier" ); 167 //Log_2_font.setFamily( "adobe-courier" );
168 //Log_2_font.setPointSize( 8 ); 168 //Log_2_font.setPointSize( 8 );
169 //Log_2->setFont( Log_2_font ); 169 //Log_2->setFont( Log_2_font );
170 QFont TextLabel1_4_2_font( TextLabel1_4_2->font() ); 170 QFont TextLabel1_4_2_font( TextLabel1_4_2->font() );
171 TextLabel1_4_2_font.setFamily( "adobe-helvetica" ); 171 TextLabel1_4_2_font.setFamily( "adobe-helvetica" );
172 TextLabel1_4_2_font.setPointSize( 10 ); 172 TextLabel1_4_2_font.setPointSize( 10 );
173 TextLabel1_4_2->setFont( TextLabel1_4_2_font ); 173 TextLabel1_4_2->setFont( TextLabel1_4_2_font );
174 } 174 }
175 return ret; 175 return ret;
diff --git a/noncore/net/wellenreiter/gui/wellenreiterbase.h b/noncore/net/wellenreiter/gui/wellenreiterbase.h
index 5e00ddc..126aad2 100644
--- a/noncore/net/wellenreiter/gui/wellenreiterbase.h
+++ b/noncore/net/wellenreiter/gui/wellenreiterbase.h
@@ -23,15 +23,15 @@ class QHBoxLayout;
23class QGridLayout; 23class QGridLayout;
24class QLabel; 24class QLabel;
25class MScanListView; 25class MScanListView;
26class MScanListItem; 26class MScanListItem;
27class QPushButton; 27class QPushButton;
28class MLogWindow; 28class MLogWindow;
29class MHexWindow;
30class MStatWindow; 29class MStatWindow;
31class MGraphWindow; 30class MGraphWindow;
31class PacketView;
32 32
33#ifdef QWS 33#ifdef QWS
34#include <opie2/otabwidget.h> 34#include <opie2/otabwidget.h>
35using namespace Opie; 35using namespace Opie;
36#else 36#else
37class QTabWidget; 37class QTabWidget;
@@ -50,13 +50,13 @@ public:
50#else 50#else
51 QTabWidget* TabWidget; 51 QTabWidget* TabWidget;
52#endif 52#endif
53 QWidget* ap; 53 QWidget* ap;
54 MScanListView* netview; 54 MScanListView* netview;
55 MLogWindow* logwindow; 55 MLogWindow* logwindow;
56 MHexWindow* hexwindow; 56 PacketView* hexwindow;
57 MStatWindow* statwindow; 57 MStatWindow* statwindow;
58 MGraphWindow* graphwindow; 58 MGraphWindow* graphwindow;
59 QWidget* about; 59 QWidget* about;
60 QLabel* PixmapLabel1_3_2; 60 QLabel* PixmapLabel1_3_2;
61 QLabel* TextLabel1_4_2; 61 QLabel* TextLabel1_4_2;
62 62