-rw-r--r-- | noncore/net/wellenreiter/TODO | 7 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/main.cpp | 1 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/mainwindow.cpp | 5 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/packetview.cpp | 48 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/packetview.h | 19 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/wellenreiter.cpp | 4 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/wellenreiter.h | 4 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/wellenreiterbase.cpp | 14 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/wellenreiterbase.h | 4 |
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 @@ -59,2 +59,9 @@ ENGINE new network - further beacons just blow up the capture file) +- write wi-scan format like that: + # $Creator: Wellenreiter II Version 1.0.2 + # $Format: wi-scan + # Latitude Longitude ( SSID ) Type ( BSSID ) Time (GMT) [ SNR Sig Noise ] + # $DateGMT: 2004-02-07 + N 41.1008009 W 8.3893034 ( Porceven ) BBS ( 00:a0:f8:41:91:63 ) 22:32:39 (GMT) [ 21 177 156 ] + 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 @@ -53,4 +53,5 @@ int main( int argc, char **argv ) for ( int i = 1; i < argc; ++i ) { + qDebug( "Wellenreiter::main() parsing argument %d = '%s'", i, argv[i] ); if ( !strcmp( "-nocheck", argv[i] ) ) { 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 @@ -17,5 +17,5 @@ #include "gps.h" #include "logwindow.h" -#include "hexwindow.h" +#include "packetview.h" #include "mainwindow.h" #include "wellenreiter.h" @@ -333,4 +333,6 @@ void WellenreiterMainWindow::fileSaveSession() void WellenreiterMainWindow::fileSaveHex() { + #warning DOES NOT WORK AT THE MOMENT + /* QString fname = getFileName( true ); if ( !fname.isEmpty() ) @@ -349,4 +351,5 @@ void WellenreiterMainWindow::fileSaveHex() } } + */ } 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 @@ -15,30 +15,54 @@ #include "packetview.h" -#include <qmultilineedit.h> + +/* OPIE */ +#include <opie2/opcap.h> + +/* QT */ +#include <qtextview.h> +#include <qspinbox.h> +#include <qlabel.h> +#include <qlayout.h> +#include <qlist.h> PacketView::PacketView( QWidget * parent, const char * name, WFlags f ) - :QVBox( parent, name, f ) + :QFrame( parent, name, f ) { - ledit = new QMultiLineEdit( this ); - ledit->setFont( QFont( "fixed", 10 ) ); - ledit->setReadOnly( true ); + _number = new QSpinBox( this ); + _number->setPrefix( "Packet # " ); + _label = new QLabel( this ); + _label->setText( "eth0 2004/03/08 - 00:00:21" ); + _list = new QLabel( this ); + _hex = new QTextView( this ); + + QVBoxLayout* vb = new QVBoxLayout( this, 2, 2 ); + QHBoxLayout* hb = new QHBoxLayout( vb, 2 ); + hb->addWidget( _label ); + hb->addWidget( _number ); + vb->addWidget( _list ); + vb->addWidget( _hex ); + + _packets.setAutoDelete( true ); + + _list->setText( "<b>[ 802.11 [ LLC [ IP [ UDP [ DHCP ] ] ] ] ]</b>" ); }; -void PacketView::log( const QString& text ) +void PacketView::add( OPacket* p ) { - int col; - int row; - ledit->getCursorPosition( &col, &row ); - ledit->insertAt( text, col, row ); + _packets.append( p ); }; const QString PacketView::getLog() const { - return ledit->text(); } void PacketView::clear() { - ledit->clear(); + _packets.clear(); + _number->setMinValue( 0 ); + _number->setMaxValue( 0 ); + _label->setText( "---" ); + _list->setText( " <b>-- no Packet available --</b> " ); + _hex->setText( " <i>-- no Packet available --</i> " ); } 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 @@ -17,10 +17,14 @@ #define PACKETVIEW_H -#include <qvbox.h> +#include <qlist.h> +#include <qframe.h> class QString; -class QMultiLineEdit; +class QSpinBox; +class QLabel; +class QTextView; +class OPacket; -class PacketView: public QVBox +class PacketView: public QFrame { @@ -28,10 +32,15 @@ class PacketView: public QVBox PacketView( QWidget * parent = 0, const char * name = "PacketView", WFlags f = 0 ); - void log( const QString& text ); + void add( OPacket* p ); const QString getLog() const; void clear(); protected: - QMultiLineEdit* ledit; + + QSpinBox* _number; + QLabel* _label; + QLabel* _list; + QTextView* _hex; + QList<OPacket> _packets; }; 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 @@ -18,5 +18,5 @@ #include "scanlist.h" #include "logwindow.h" -#include "hexwindow.h" +#include "packetview.h" #include "configwindow.h" #include "statwindow.h" @@ -381,5 +381,5 @@ bool Wellenreiter::checkDumpPacket( OPacket* p ) void Wellenreiter::receivePacket( OPacket* p ) { - hexWindow()->log( p->dump( 8 ) ); + hexWindow()->add( p ); if ( checkDumpPacket( p ) ) 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 @@ -34,7 +34,7 @@ class OIPPacket; class OPacketCapturer; class OWirelessNetworkInterface; +class PacketView; class WellenreiterConfigWindow; class MLogWindow; -class MHexWindow; class GPS; @@ -49,5 +49,5 @@ class Wellenreiter : public WellenreiterBase { MScanListView* netView() const { return netview; }; MLogWindow* logWindow() const { return logwindow; }; - MHexWindow* hexWindow() const { return hexwindow; }; + PacketView* hexWindow() const { return hexwindow; }; bool isDaemonRunning() const { return sniffing; }; QString captureFileName() const { return dumpname; }; 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 @@ -20,5 +20,5 @@ #include "logwindow.h" -#include "hexwindow.h" +#include "packetview.h" #include "scanlist.h" #include "statwindow.h" @@ -37,5 +37,5 @@ using namespace Opie; /* * Constructs a WellenreiterBase which is a child of 'parent', with the - * name 'name' and widget flags set to 'f' + * name 'name' and widget flags set to 'f' */ WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags fl ) @@ -46,5 +46,5 @@ WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags f //ani3 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot180" ) ); //ani4 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot270" ) ); - + if ( !name ) setName( "WellenreiterBase" ); @@ -83,5 +83,5 @@ WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags f //--------- HEX TAB -------------- - hexwindow = new MHexWindow( TabWidget, "Hex" ); + hexwindow = new PacketView( TabWidget, "Hex" ); //--------- STAT TAB -------------- @@ -156,5 +156,5 @@ WellenreiterBase::~WellenreiterBase() } -/* +/* * Main event handler. Reimplemented to handle application * font changes @@ -162,10 +162,10 @@ WellenreiterBase::~WellenreiterBase() bool WellenreiterBase::event( QEvent* ev ) { - bool ret = QWidget::event( ev ); + bool ret = QWidget::event( ev ); if ( ev->type() == QEvent::ApplicationFontChange ) { //QFont Log_2_font( Log_2->font() ); //Log_2_font.setFamily( "adobe-courier" ); //Log_2_font.setPointSize( 8 ); - //Log_2->setFont( Log_2_font ); + //Log_2->setFont( Log_2_font ); QFont TextLabel1_4_2_font( TextLabel1_4_2->font() ); TextLabel1_4_2_font.setFamily( "adobe-helvetica" ); 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 @@ -27,7 +27,7 @@ class MScanListItem; class QPushButton; class MLogWindow; -class MHexWindow; class MStatWindow; class MGraphWindow; +class PacketView; #ifdef QWS @@ -54,5 +54,5 @@ public: MScanListView* netview; MLogWindow* logwindow; - MHexWindow* hexwindow; + PacketView* hexwindow; MStatWindow* statwindow; MGraphWindow* graphwindow; |