-rw-r--r-- | noncore/net/wellenreiter/ChangeLog | 6 | ||||
-rw-r--r-- | noncore/net/wellenreiter/README | 6 | ||||
-rw-r--r-- | noncore/net/wellenreiter/TODO | 11 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/wellenreiterbase.cpp | 26 | ||||
-rw-r--r-- | noncore/net/wellenreiter/opie-wellenreiter.control | 4 |
5 files changed, 31 insertions, 22 deletions
diff --git a/noncore/net/wellenreiter/ChangeLog b/noncore/net/wellenreiter/ChangeLog index b59f9f9..4855e7d 100644 --- a/noncore/net/wellenreiter/ChangeLog +++ b/noncore/net/wellenreiter/ChangeLog @@ -1,86 +1,90 @@ -2004-??-?? Michael Lauer <mickey@Vanille.de> +2004-05-04 Michael Lauer <mickey@Vanille.de> + * Released as Version 1.0.3 + * Removed the dummy capture file which has always been written to if none was chosen. + * Removed the old dumb hex window tab and added a nice PackageViewer tab. + * Added configuration options for the PackageViewer buffer size. * Registered a signal handler. We're now trying to gracefully exit and emergency close capture files. This should allow reproducing failures. * Added sanity check for compile time vs. run time Wireless Extension versions. * Added sanity check isPresent(interface) before starting the engine. * Added a View submenu. Added actions to expand and collapse all items. * Switched to a (hopefully) more reliable method reading from gpsd. * Added parsing of named ProbeRequests. Display only-probed-yet SSIDs in a different network color. * Rewrote the simple actions on new {Network, Client, Station}. Besides playing a sound or blinking a LED, a user customizable script can now be executed, if something has been detected. This opens up many possibilities, i.e. a qcop to qpegps or exec'ing flite (speech). * Added decloaking of cloaked ESSIDs (length != 0, but essid[0] == \0). * Hided the 'Parse' Tab in the configuration window. Not functional now and may come later * Added parsing of control frames. Display stations sending them SSID "<unknown>" for now. * Added command line option "-nocheck" to skip non-root and dhcp tests. * Improved the speed of and user feedback during reading the manufacturer list. * GPS coordinates are now presented in the DMS (as opposed to decimal) format. 2003-12-18 Michael Lauer <mickey@Vanille.de> * Released as Version 1.0.2 (Development Snapshot) * Added automatic uploading of capture files to "The Capture Dump" site at http://www.Vanille.de/projects/capturedump.spy * Initial reading of the manufacturer database happens now in background * Removed deprecated setMonitorMode() API ==> Use setMode( "monitor" ) now. The monitor mode now tries to use the standard IW_MODE_MONITOR first. If that doesn't work, it falls back to using the proprietary iwpriv commands 2003-11-30 Michael Lauer <mickey@Vanille.de> * Released as Version 1.0.1 (Development Snapshot) * Fixed ARP decoding for wired networks. Interestingly, 802.11 encapsulates these in IP packets, while wired ethernet just tags the type_of_protocol. * Added reading GPS data from a gps daemon. * Started preparations for utilizing Wellenreiter II in wired networks. * Implemented persistant configuration interface and retriggerable auto detection. * Added QCOP interface for talking to opie-networksettings. * Added parsing of DHCP packets and detecting DHCP servers. * Overhauled the configuration window and started with the customizable event system. * Added disabling the screensaver. * Added automatic opening and scrolling to the network tree if a new station appears. 2003-05-10 Michael Lauer <mickey@Vanille.de> * Released as Version 1.0 (Stable) * Added restarting the dhcp client if having killed it before. * Decouple dump files from live capture to shift control over 'what' is dumped to applications. 2003-05-05 Michael Lauer <mickey@Vanille.de> * Released as Version 1.0-RC1 (Release Candidate) * Fixed rare segfaults while sniffing and operating the GUI simultaenously. * Parse more data packets and detect more participating stations. * Added live graph window showing the signal strength on all channels. * Added parsing ARP packets and identifying IP addresses of participating stations. * Added parsing with optionally enabled PRISM headers (signal strength). 2003-04-12 Michael Lauer <mickey@Vanille.de> * Released as Version 1.0 (Beta) * GUI enhancements in the Menubar and the Toolbar. * Improved keyboard handling. * Added sanity checks for running Wellenreiter II as non-root or with dhcp clients in the background. * Add writing and replaying of libpcap compatible capture files. 2003-04-08 Michael Lauer <mickey@Vanille.de> * Released as Version 0.2 (Alpha) * Closed memory leak in packet capturer. * Fixed client stations appearing under essid as access points. * Fixed false WEP reporting in some cases. * Started with inspecting data packages. * Add detecting associated client stations in infrastructural networks (if they transmit data). * Worked around buggy hostap drivers writing past fixed-length-structures on arm. * Added dynamic checking of available private ioctls. * Added a saveable hex window for packet dissection. 2003-03-30 Michael Lauer <mickey@Vanille.de> * Released as Version 0.1 (Alpha) 2003-03-25 Michael Lauer <mickey@Vanille.de> * Rewrote Wellenreiter II from scratch - including the sniffing engine. * Beacon inspection works and finds ad-hoc networks and managed networks. diff --git a/noncore/net/wellenreiter/README b/noncore/net/wellenreiter/README index 7607a74..59163b3 100644 --- a/noncore/net/wellenreiter/README +++ b/noncore/net/wellenreiter/README @@ -1,69 +1,69 @@ /************************************************************************ /* W e l l e n r e i t e r I I /* =============================== /* -/* Version: 1.0.2 +/* Version: 1.0.3 /************************************************************************ ---------------------------------------------------- - Release Notes for Wellenreiter II / December 2003 + Release Notes for Wellenreiter II / May 2004 ---------------------------------------------------- ===================== = Supported Devices ===================== - HERMES chipset [ orinoco or hostap ], e.g. Lucent/Agere cards, Compaq, ... - PRISM2+PRISM3 chipset [ orinoco or hostap ], e.g. D-Link, Buffallo, NetGear, ... - SYMBOL/SPECTRUM chipset [ orinoco ], e.g. Symbol Spectrum 24, Socket Lowpower CF, ... - CISCO chipset - WLAN-NG supported chipsets, e.g. D-Link USB cards ===================== = Build ===================== To compile a standalone Wellenreiter II for X11, you need Qt3/X11 and the development packages for Qt3/X11, depending on the distribution e.g. libqt3-devel, libqt3-dev, ... * Set $QTDIR to the appropriate directory (e.g. /usr/lib/qt3) * './build make' * as root, './build install' * Wellenreiter will be installed in /usr/local (sorry, no relocation possible yet) -The current CVS version of Wellenreiter II is _not_ X11 compatible. +NOTE: The current version of Wellenreiter II is _not_ X11 compatible. ===================== = Precompiled Binaries ===================== Precompiled binaries are available for the PDA-Version. Get them from http://vanille.de/feed Sorry, no .rpm oder .deb available at that time. Volunteers? ===================== = Run ===================== * Configure your device by pressing the configure toolbutton (to the right) * Start Sniffing by pressing the execute toolbutton which will be enabled, if your device has been properly configured. ===================== = Credits = ===================== Wellenreiter II is (C) 2002-2004 Michael 'Mickey' Lauer Additional Ideas, the Name, and the Logo by Max Moser <max@remote-exploit.org> Martin J. Muench <mjm@remote-exploit.org> ===================== = Links = ===================== Wellenreiter: http://www.wellenreiter.net Wellenreiter II: http://vanille.de/projects/wellenreiter.html Opie Project: http://opie.handhelds.org OpenZaurus Project: http://openzaurus.org diff --git a/noncore/net/wellenreiter/TODO b/noncore/net/wellenreiter/TODO index f0a193d..a3d0d3d 100644 --- a/noncore/net/wellenreiter/TODO +++ b/noncore/net/wellenreiter/TODO @@ -1,75 +1,72 @@ /************************************************************************ /* W e l l e n r e i t e r I I /* =============================== /* -/* Version: 1.0.2 +/* Version: 1.0.3 /************************************************************************ ---------------------------------------------------- - Ideas as of Wellenreiter II / April 2004 + Ideas as of Wellenreiter II / May 2004 ---------------------------------------------------- -------- BUILD -------- - fix building against X11 again -------- ENGINE -------- - enable multiple packet sources - infrared - bluetooth - usb - define packet structure in a metalanguage and generate the actual parsing code (hmmm) - pester the ethereal folks to settle for an application independant packet dissection framework... (unlikely) -- adaptive hopping scheme ! +- implement the adaptive hopping scheme ! - gather interface capabilities - enable sniffing in wired networks - fix autodetection (the interface name is not selected correctly) - use ethtool IOCTLs (if present) --------- UI --------- - display interface capabilities (or rewrite networksettings?) - distinguish wireless bridges (WDS traffic) -- add configuration for scrollback buffer in hex window and log window - -- revamp hex window, make it more sophisticated than just a QMultiLineEdit - - tree view +- add configuration for scrollback buffer in log window - beep over headphone / customizable - count/display number of wireless networks / APs since last start/stop --------- FILES --------- - 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/wellenreiterbase.cpp b/noncore/net/wellenreiter/gui/wellenreiterbase.cpp index 9bdf3e0..a29d520 100644 --- a/noncore/net/wellenreiter/gui/wellenreiterbase.cpp +++ b/noncore/net/wellenreiter/gui/wellenreiterbase.cpp @@ -1,182 +1,190 @@ /********************************************************************** ** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved. ** ** This file is part of Wellenreiter II. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. ** ** 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 "wellenreiterbase.h" #include <qlabel.h> #include <qlayout.h> #include "logwindow.h" #include "packetview.h" #include "scanlist.h" #include "statwindow.h" #include "graphwindow.h" #ifdef QWS #include <qpe/resource.h> #include <opie2/otabwidget.h> using namespace Opie; #else #include "resource.h" #include <qtabwidget.h> #endif +#define WELLENREITER_VERSION "V1.0.3 (unofficial)" /* * Constructs a WellenreiterBase which is a child of 'parent', with the * name 'name' and widget flags set to 'f' */ using namespace Opie::Ui; using namespace Opie::Ui; using namespace Opie::Ui; 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 setCaption( tr( "Wellenreiter/X11" ) ); #endif WellenreiterBaseLayout = new QVBoxLayout( this ); WellenreiterBaseLayout->setSpacing( 2 ); WellenreiterBaseLayout->setMargin( 0 ); #ifdef QWS TabWidget = new OTabWidget( this, "TabWidget", OTabWidget::Global ); #else TabWidget = new QTabWidget( this, "TabWidget" ); #endif ap = new QWidget( TabWidget, "ap" ); apLayout = new QVBoxLayout( ap ); apLayout->setSpacing( 2 ); apLayout->setMargin( 2 ); //--------- NETVIEW TAB -------------- netview = new MScanListView( ap ); apLayout->addWidget( netview ); //--------- GRAPH TAB -------------- graphwindow = new MGraphWindow( TabWidget, "Graph" ); //--------- LOG TAB -------------- logwindow = new MLogWindow( TabWidget, "Log" ); //--------- HEX TAB -------------- hexwindow = new PacketView( TabWidget, "Hex" ); //--------- STAT TAB -------------- statwindow = new MStatWindow( TabWidget, "Stat" ); //--------- ABOUT TAB -------------- about = new QWidget( TabWidget, "about" ); aboutLayout = new QGridLayout( about ); aboutLayout->setSpacing( 6 ); aboutLayout->setMargin( 11 ); PixmapLabel1_3_2 = new QLabel( about, "PixmapLabel1_3_2" ); PixmapLabel1_3_2->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, PixmapLabel1_3_2->sizePolicy().hasHeightForWidth() ) ); PixmapLabel1_3_2->setFrameShape( QLabel::Panel ); PixmapLabel1_3_2->setFrameShadow( QLabel::Sunken ); PixmapLabel1_3_2->setLineWidth( 2 ); PixmapLabel1_3_2->setMargin( 0 ); PixmapLabel1_3_2->setMidLineWidth( 0 ); - PixmapLabel1_3_2->setPixmap( Resource::loadPixmap( "wellenreiter/logo" ) ); + + QPixmap logo = Resource::loadPixmap( "wellenreiter/logo" ); + QPainter draw( &logo ); + draw.setPen( Qt::black ); + draw.setFont( QFont( "Fixed", 8 ) ); + draw.drawText( 30, 10, WELLENREITER_VERSION ); + + PixmapLabel1_3_2->setPixmap( logo ); PixmapLabel1_3_2->setScaledContents( TRUE ); PixmapLabel1_3_2->setAlignment( int( QLabel::AlignCenter ) ); aboutLayout->addWidget( PixmapLabel1_3_2, 0, 0 ); TextLabel1_4_2 = new QLabel( about, "TextLabel1_4_2" ); 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 ); TextLabel1_4_2->setText( "<p align=center>" "<hr>" "<b>(C) Michael 'Mickey' Lauer</b><br>" "<hr>" "mickey@Vanille.de<br>" "www.Vanille.de/projects/wellenreiter.html<br>" "www.wellenreiter.net" "</p>" ); TextLabel1_4_2->setAlignment( int( QLabel::AlignCenter ) ); aboutLayout->addWidget( TextLabel1_4_2, 1, 0 ); #ifdef QWS TabWidget->addTab( ap, "wellenreiter/networks", tr( "Nets" ) ); TabWidget->addTab( graphwindow, "wellenreiter/graph", tr( "Graph" ) ); TabWidget->addTab( logwindow, "wellenreiter/log", tr( "Log" ) ); TabWidget->addTab( hexwindow, "wellenreiter/hex", tr( "Hex" ) ); TabWidget->addTab( statwindow, "wellenreiter/stat", tr( "Stat" ) ); TabWidget->addTab( about, "wellenreiter/about", tr( "About" ) ); #else TabWidget->addTab( ap, /* "wellenreiter/networks", */ tr( "Networks" ) ); TabWidget->addTab( graphwindow, /* "wellenreiter/graph", */ tr( "Graph" ) ); TabWidget->addTab( logwindow, /* "wellenreiter/log", */ tr( "Log" ) ); TabWidget->addTab( hexwindow, /* "wellenreiter/hex", */ tr( "Hex" ) ); TabWidget->addTab( statwindow, /* "wellenreiter/hex", */ tr( "Stat" ) ); TabWidget->addTab( about, /* "wellenreiter/about", */ tr( "About" ) ); #endif WellenreiterBaseLayout->addWidget( TabWidget ); #ifdef QWS TabWidget->setCurrentTab( tr( "Nets" ) ); #endif } /* * Destroys the object and frees any allocated resources */ 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 ); 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 ); - 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 ); + //QFont Log_2_font( Log_2->font() ); + //Log_2_font.setFamily( "adobe-courier" ); + //Log_2_font.setPointSize( 8 ); + //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/opie-wellenreiter.control b/noncore/net/wellenreiter/opie-wellenreiter.control index 1d8c482..cbc287a 100644 --- a/noncore/net/wellenreiter/opie-wellenreiter.control +++ b/noncore/net/wellenreiter/opie-wellenreiter.control @@ -1,10 +1,10 @@ Package: opie-wellenreiter Files: bin/wellenreiter pics/wellenreiter apps/Applications/wellenreiter.desktop Priority: optional Section: opie/applications Maintainer: Michael 'Mickey' Lauer <mickeyl@handhelds.org> Architecture: arm -Version: 1.0.2-$SUB_VERSION -Depends: libqpe1, libpcap0 (0.7.2), libopiecore2, libopienet2 (>=1.8.3), libopieui2 +Version: 1.0.3 +Depends: libqpe1, libpcap0 (>=0.7.2), libopiecore2, libopienet2, libopieui2 Description: A WaveLAN Network Monitor A WaveLAN Network Monitor/Sniffer for the Opie Environment. |