-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 @@ -55,6 +55,13 @@ ENGINE - write kismet-like .network format and format to be importable into AutoRoute - implement beacon stripping (the first beacon is enough to detect a 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 @@ -49,12 +49,13 @@ int main( int argc, char **argv ) int result = -1; static int killed = false; bool check = true; for ( int i = 1; i < argc; ++i ) { + qDebug( "Wellenreiter::main() parsing argument %d = '%s'", i, argv[i] ); if ( !strcmp( "-nocheck", argv[i] ) ) { qDebug( "-nocheck found" ); check = false; break; } 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 @@ ** **********************************************************************/ #include "configwindow.h" #include "gps.h" #include "logwindow.h" -#include "hexwindow.h" +#include "packetview.h" #include "mainwindow.h" #include "wellenreiter.h" #include "scanlist.h" #include <qcombobox.h> #include <qdatastream.h> @@ -329,12 +329,14 @@ void WellenreiterMainWindow::fileSaveSession() } } } void WellenreiterMainWindow::fileSaveHex() { + #warning DOES NOT WORK AT THE MOMENT + /* QString fname = getFileName( true ); if ( !fname.isEmpty() ) { QFile f( fname ); if ( f.open(IO_WriteOnly) ) { @@ -345,12 +347,13 @@ void WellenreiterMainWindow::fileSaveHex() } else { qDebug( "Problem saving hex log to file '%s'", (const char*) fname ); } } + */ } void WellenreiterMainWindow::fileLoadSession() { QString fname = getFileName( false ); 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 @@ ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** **********************************************************************/ #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 @@ -13,28 +13,37 @@ ** **********************************************************************/ #ifndef PACKETVIEW_H #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 { public: 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; }; #endif 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 @@ // Local #include "gps.h" #include "wellenreiter.h" #include "scanlist.h" #include "logwindow.h" -#include "hexwindow.h" +#include "packetview.h" #include "configwindow.h" #include "statwindow.h" #include "graphwindow.h" #include "protolistview.h" // Opie @@ -377,13 +377,13 @@ bool Wellenreiter::checkDumpPacket( OPacket* p ) return true; } void Wellenreiter::receivePacket( OPacket* p ) { - hexWindow()->log( p->dump( 8 ) ); + hexWindow()->add( p ); if ( checkDumpPacket( p ) ) { pcap->dump( 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 @@ -30,28 +30,28 @@ class OWaveLanDataPacket; class OEthernetPacket; class OARPPacket; class OMacAddress; class OIPPacket; class OPacketCapturer; class OWirelessNetworkInterface; +class PacketView; class WellenreiterConfigWindow; class MLogWindow; -class MHexWindow; class GPS; class Wellenreiter : public WellenreiterBase { Q_OBJECT public: Wellenreiter( QWidget* parent = 0 ); ~Wellenreiter(); void setConfigWindow( WellenreiterConfigWindow* cw ); 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; }; public: bool sniffing; 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 @@ #include "wellenreiterbase.h" #include <qlabel.h> #include <qlayout.h> #include "logwindow.h" -#include "hexwindow.h" +#include "packetview.h" #include "scanlist.h" #include "statwindow.h" #include "graphwindow.h" #ifdef QWS #include <qpe/resource.h> @@ -33,22 +33,22 @@ using namespace Opie; #include <qtabwidget.h> #endif /* * 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 ) : QWidget( parent, name, fl ) { //ani1 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot0" ) ); //ani2 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot90" ) ); //ani3 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot180" ) ); //ani4 = new QPixmap( Resource::loadPixmap( "wellenreiter/networks_rot270" ) ); - + if ( !name ) setName( "WellenreiterBase" ); resize( 191, 294 ); #ifdef QWS setCaption( tr( "Wellenreiter/Opie" ) ); #else @@ -79,13 +79,13 @@ WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags f //--------- LOG TAB -------------- logwindow = new MLogWindow( TabWidget, "Log" ); //--------- HEX TAB -------------- - hexwindow = new MHexWindow( TabWidget, "Hex" ); + hexwindow = new PacketView( TabWidget, "Hex" ); //--------- STAT TAB -------------- statwindow = new MStatWindow( TabWidget, "Stat" ); //--------- ABOUT TAB -------------- @@ -152,24 +152,24 @@ WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags f */ WellenreiterBase::~WellenreiterBase() { // no need to delete child widgets, Qt does it all for us } -/* +/* * Main event handler. Reimplemented to handle application * font changes */ 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" ); TextLabel1_4_2_font.setPointSize( 10 ); TextLabel1_4_2->setFont( TextLabel1_4_2_font ); } 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; class QGridLayout; class QLabel; class MScanListView; class MScanListItem; class QPushButton; class MLogWindow; -class MHexWindow; class MStatWindow; class MGraphWindow; +class PacketView; #ifdef QWS #include <opie2/otabwidget.h> using namespace Opie; #else class QTabWidget; @@ -50,13 +50,13 @@ public: #else QTabWidget* TabWidget; #endif QWidget* ap; MScanListView* netview; MLogWindow* logwindow; - MHexWindow* hexwindow; + PacketView* hexwindow; MStatWindow* statwindow; MGraphWindow* graphwindow; QWidget* about; QLabel* PixmapLabel1_3_2; QLabel* TextLabel1_4_2; |