summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2003-04-10 17:26:35 (UTC)
committer mickeyl <mickeyl>2003-04-10 17:26:35 (UTC)
commit61eb255cc85160f7bb35602bbc10771be4da8708 (patch) (side-by-side diff)
treeb66826f283d0ba41d3e27a44b8a0d63a7abc1238
parent1064aea74c5dd7b3d4f87e483bd85f3fac0cf03c (diff)
downloadopie-61eb255cc85160f7bb35602bbc10771be4da8708.zip
opie-61eb255cc85160f7bb35602bbc10771be4da8708.tar.gz
opie-61eb255cc85160f7bb35602bbc10771be4da8708.tar.bz2
New Feature: Write a capture file for later dissection with tcpdump-compatible tools!
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/configbase.ui512
-rw-r--r--noncore/net/wellenreiter/gui/configwindow.cpp16
-rw-r--r--noncore/net/wellenreiter/gui/configwindow.h1
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.cpp17
4 files changed, 331 insertions, 215 deletions
diff --git a/noncore/net/wellenreiter/gui/configbase.ui b/noncore/net/wellenreiter/gui/configbase.ui
index 3ece270..ba4de32 100644
--- a/noncore/net/wellenreiter/gui/configbase.ui
+++ b/noncore/net/wellenreiter/gui/configbase.ui
@@ -12,6 +12,6 @@
<x>0</x>
<y>0</y>
- <width>220</width>
- <height>306</height>
+ <width>236</width>
+ <height>342</height>
</rect>
</property>
@@ -26,14 +26,14 @@
<name>layoutSpacing</name>
</property>
- <vbox>
+ <grid>
<property stdset="1">
<name>margin</name>
- <number>3</number>
+ <number>6</number>
</property>
<property stdset="1">
<name>spacing</name>
- <number>1</number>
+ <number>5</number>
</property>
- <widget>
+ <widget row="0" column="0" rowspan="1" colspan="3" >
<class>QLayoutWidget</class>
<property stdset="1">
@@ -84,12 +84,198 @@
</hbox>
</widget>
- <widget>
- <class>QLayoutWidget</class>
+ <widget row="1" column="0" rowspan="1" colspan="2" >
+ <class>QComboBox</class>
<property stdset="1">
<name>name</name>
- <cstring>Layout7</cstring>
+ <cstring>interfaceName</cstring>
+ </property>
+ <property stdset="1">
+ <name>enabled</name>
+ <bool>true</bool>
</property>
<property>
- <name>layoutSpacing</name>
+ <name>whatsThis</name>
+ <string>Choose the interface used for sniffing.</string>
+ </property>
+ </widget>
+ <widget row="2" column="0" rowspan="1" colspan="2" >
+ <class>QComboBox</class>
+ <item>
+ <property>
+ <name>text</name>
+ <string>&lt;select&gt;</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>cisco</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>wlan-ng</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>hostap</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>orinoco</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>&lt;manual&gt;</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>&lt;file&gt;</string>
+ </property>
+ </item>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>deviceType</cstring>
+ </property>
+ <property stdset="1">
+ <name>enabled</name>
+ <bool>true</bool>
+ </property>
+ <property>
+ <name>whatsThis</name>
+ <string>Choose the type of driver used for sniffing.</string>
+ </property>
+ </widget>
+ <widget row="3" column="0" rowspan="1" colspan="2" >
+ <class>QSpinBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>hopInterval</cstring>
+ </property>
+ <property stdset="1">
+ <name>enabled</name>
+ <bool>true</bool>
+ </property>
+ <property stdset="1">
+ <name>suffix</name>
+ <string> ms</string>
+ </property>
+ <property stdset="1">
+ <name>maxValue</name>
+ <number>2000</number>
+ </property>
+ <property stdset="1">
+ <name>minValue</name>
+ <number>100</number>
+ </property>
+ <property stdset="1">
+ <name>lineStep</name>
+ <number>100</number>
+ </property>
+ <property>
+ <name>whatsThis</name>
+ <string>Choose the channel hop interval.</string>
+ </property>
+ </widget>
+ <widget row="3" column="2" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel3_3</cstring>
+ </property>
+ <property stdset="1">
+ <name>enabled</name>
+ <bool>true</bool>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Hop Interval</string>
+ </property>
+ </widget>
+ <widget row="2" column="2" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel2_3</cstring>
+ </property>
+ <property stdset="1">
+ <name>enabled</name>
+ <bool>true</bool>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Device Type</string>
+ </property>
+ </widget>
+ <widget row="1" column="2" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel1_2</cstring>
+ </property>
+ <property stdset="1">
+ <name>enabled</name>
+ <bool>true</bool>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Interface Name</string>
+ </property>
+ </widget>
+ <widget row="5" column="0" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel1_5</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Fake MAC:</string>
+ </property>
+ </widget>
+ <widget row="5" column="1" rowspan="1" colspan="2" >
+ <class>QLineEdit</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>MAC</cstring>
+ </property>
+ <property stdset="1">
+ <name>enabled</name>
+ <bool>false</bool>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>44:44:44:44:44:44</string>
+ </property>
+ </widget>
+ <widget row="4" column="0" rowspan="1" colspan="3" >
+ <class>QCheckBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>activeScanning</cstring>
+ </property>
+ <property stdset="1">
+ <name>enabled</name>
+ <bool>false</bool>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Active Scanning (caution!)</string>
+ </property>
+ </widget>
+ <widget row="10" column="0" rowspan="1" colspan="3" >
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout5</cstring>
</property>
<grid>
@@ -100,34 +286,15 @@
<property stdset="1">
<name>spacing</name>
- <number>2</number>
+ <number>6</number>
</property>
- <widget row="0" column="0" >
- <class>QComboBox</class>
- <property stdset="1">
- <name>name</name>
- <cstring>interfaceName</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>true</bool>
- </property>
- <property>
- <name>whatsThis</name>
- <string>Choose the interface used for sniffing.</string>
- </property>
- </widget>
- <widget row="4" column="0" rowspan="1" colspan="2" >
- <class>QCheckBox</class>
+ <widget row="0" column="1" >
+ <class>QLabel</class>
<property stdset="1">
<name>name</name>
- <cstring>activeScanning</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
+ <cstring>TextLabel1</cstring>
</property>
<property stdset="1">
<name>text</name>
- <string>Active Scanning (caution!)</string>
+ <string>sound on new net</string>
</property>
</widget>
@@ -137,5 +304,5 @@
<property>
<name>text</name>
- <string>&lt;select&gt;</string>
+ <string>Ignore</string>
</property>
</item>
@@ -143,5 +310,5 @@
<property>
<name>text</name>
- <string>cisco</string>
+ <string>Touch</string>
</property>
</item>
@@ -149,5 +316,5 @@
<property>
<name>text</name>
- <string>wlan-ng</string>
+ <string>Key</string>
</property>
</item>
@@ -155,11 +322,18 @@
<property>
<name>text</name>
- <string>hostap</string>
+ <string>Alarm</string>
</property>
</item>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>beaconSound</cstring>
+ </property>
+ </widget>
+ <widget row="0" column="0" >
+ <class>QComboBox</class>
<item>
<property>
<name>text</name>
- <string>orinoco</string>
+ <string>Ignore</string>
</property>
</item>
@@ -167,5 +341,5 @@
<property>
<name>text</name>
- <string>&lt;manual&gt;</string>
+ <string>Touch</string>
</property>
</item>
@@ -173,86 +347,51 @@
<property>
<name>text</name>
- <string>&lt;file&gt;</string>
+ <string>Key</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>Alarm</string>
</property>
</item>
<property stdset="1">
<name>name</name>
- <cstring>deviceType</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>true</bool>
- </property>
- <property>
- <name>whatsThis</name>
- <string>Choose the type of driver used for sniffing.</string>
- </property>
- </widget>
- <widget row="3" column="0" rowspan="1" colspan="2" >
- <class>QCheckBox</class>
- <property stdset="1">
- <name>name</name>
- <cstring>additionalInfo</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Gather Additional Info</string>
- </property>
- </widget>
- <widget row="2" column="0" >
- <class>QSpinBox</class>
- <property stdset="1">
- <name>name</name>
- <cstring>hopInterval</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>true</bool>
- </property>
- <property stdset="1">
- <name>suffix</name>
- <string> ms</string>
- </property>
- <property stdset="1">
- <name>maxValue</name>
- <number>2000</number>
- </property>
- <property stdset="1">
- <name>minValue</name>
- <number>100</number>
- </property>
- <property stdset="1">
- <name>lineStep</name>
- <number>100</number>
- </property>
- <property>
- <name>whatsThis</name>
- <string>Choose the channel hop interval.</string>
+ <cstring>netSound</cstring>
</property>
</widget>
- <widget row="2" column="1" >
+ <widget row="1" column="1" >
<class>QLabel</class>
<property stdset="1">
<name>name</name>
- <cstring>TextLabel3_3</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>true</bool>
+ <cstring>TextLabel1_3</cstring>
</property>
<property stdset="1">
<name>text</name>
- <string>Hop Interval</string>
+ <string>sound on beacon</string>
</property>
</widget>
- <widget row="1" column="1" >
- <class>QLabel</class>
+ </grid>
+ </widget>
+ <widget row="8" column="0" rowspan="1" colspan="3" >
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout7</cstring>
+ </property>
+ <hbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget>
+ <class>QCheckBox</class>
<property stdset="1">
<name>name</name>
- <cstring>TextLabel2_3</cstring>
+ <cstring>writeCaptureFile</cstring>
</property>
<property stdset="1">
@@ -262,25 +401,25 @@
<property stdset="1">
<name>text</name>
- <string>Device Type</string>
+ <string>Write Capture File</string>
</property>
</widget>
- <widget row="0" column="1" >
- <class>QLabel</class>
+ <widget>
+ <class>QToolButton</class>
<property stdset="1">
<name>name</name>
- <cstring>TextLabel1_2</cstring>
+ <cstring>getCaptureFileName</cstring>
</property>
<property stdset="1">
<name>enabled</name>
- <bool>true</bool>
+ <bool>false</bool>
</property>
<property stdset="1">
<name>text</name>
- <string>Interface Name</string>
+ <string>...</string>
</property>
</widget>
- </grid>
+ </hbox>
</widget>
- <widget>
+ <widget row="7" column="0" rowspan="1" colspan="3" >
<class>QLayoutWidget</class>
<property stdset="1">
@@ -331,41 +470,32 @@
</hbox>
</widget>
- <widget>
- <class>QCheckBox</class>
- <property stdset="1">
+ <spacer row="6" column="2" >
+ <property>
<name>name</name>
- <cstring>groupNetworks</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
+ <cstring>Spacer1</cstring>
</property>
<property stdset="1">
- <name>text</name>
- <string>Group Detected Networks</string>
+ <name>orientation</name>
+ <enum>Vertical</enum>
</property>
- </widget>
- <widget>
- <class>QCheckBox</class>
<property stdset="1">
- <name>name</name>
- <cstring>enableActivity</cstring>
+ <name>sizeType</name>
+ <enum>Expanding</enum>
</property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Enable Activity Display</string>
+ <property>
+ <name>sizeHint</name>
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
</property>
- </widget>
- <widget>
+ </spacer>
+ <widget row="9" column="0" rowspan="1" colspan="3" >
<class>QLayoutWidget</class>
<property stdset="1">
<name>name</name>
- <cstring>Layout5</cstring>
+ <cstring>Layout7</cstring>
</property>
- <grid>
+ <hbox>
<property stdset="1">
<name>margin</name>
@@ -376,91 +506,49 @@
<number>6</number>
</property>
- <widget row="0" column="1" >
+ <widget>
<class>QLabel</class>
<property stdset="1">
<name>name</name>
- <cstring>TextLabel1</cstring>
+ <cstring>TextLabel1_4</cstring>
</property>
<property stdset="1">
<name>text</name>
- <string>sound on new net</string>
- </property>
- </widget>
- <widget row="1" column="0" >
- <class>QComboBox</class>
- <item>
- <property>
- <name>text</name>
- <string>Ignore</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Touch</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Key</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Alarm</string>
- </property>
- </item>
- <property stdset="1">
- <name>name</name>
- <cstring>beaconSound</cstring>
- </property>
- </widget>
- <widget row="0" column="0" >
- <class>QComboBox</class>
- <item>
- <property>
- <name>text</name>
- <string>Ignore</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Touch</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Key</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Alarm</string>
- </property>
- </item>
- <property stdset="1">
- <name>name</name>
- <cstring>netSound</cstring>
+ <string>CaptureFile:</string>
</property>
</widget>
- <widget row="1" column="1" >
- <class>QLabel</class>
+ <widget>
+ <class>QLineEdit</class>
<property stdset="1">
<name>name</name>
- <cstring>TextLabel1_3</cstring>
+ <cstring>captureFileName</cstring>
</property>
<property stdset="1">
- <name>text</name>
- <string>sound on beacon</string>
+ <name>enabled</name>
+ <bool>false</bool>
</property>
</widget>
- </grid>
+ </hbox>
</widget>
- </vbox>
+ </grid>
</widget>
+<connections>
+ <connection>
+ <sender>writeCaptureFile</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>getCaptureFileName</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>activeScanning</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>MAC</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>writeCaptureFile</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>captureFileName</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+</connections>
</UI>
diff --git a/noncore/net/wellenreiter/gui/configwindow.cpp b/noncore/net/wellenreiter/gui/configwindow.cpp
index 4aca526..716618e 100644
--- a/noncore/net/wellenreiter/gui/configwindow.cpp
+++ b/noncore/net/wellenreiter/gui/configwindow.cpp
@@ -22,7 +22,9 @@
#include <qcombobox.h>
#include <qfile.h>
+#include <qlineedit.h>
#include <qlayout.h>
#include <qmap.h>
#include <qpushbutton.h>
+#include <qtoolbutton.h>
#include <qspinbox.h>
#include <qtextstream.h>
@@ -86,4 +88,5 @@ WellenreiterConfigWindow::WellenreiterConfigWindow( QWidget * parent, const char
connect( deviceType, SIGNAL( activated(int) ), this, SLOT( changedDeviceType(int) ) );
+ connect( getCaptureFileName, SIGNAL( clicked() ), this, SLOT( getCaptureFileNameClicked() ) );
};
@@ -113,5 +116,5 @@ void WellenreiterConfigWindow::changedDeviceType(int t)
if ( t != DEVTYPE_FILE ) return;
QString name = ( (WellenreiterMainWindow*) qApp->mainWidget() )->getFileName(false);
- if ( !name.isNull() && QFile::exists( name ) )
+ if ( !name.isEmpty() && QFile::exists( name ) )
{
interfaceName->insertItem( name );
@@ -125,2 +128,13 @@ void WellenreiterConfigWindow::changedDeviceType(int t)
}
+
+void WellenreiterConfigWindow::getCaptureFileNameClicked()
+{
+ QString name = ( (WellenreiterMainWindow*) qApp->mainWidget() )->getFileName(true);
+ qDebug( "name = %s", (const char*) name );
+ if ( !name.isEmpty() )
+ {
+ captureFileName->setText( name );
+ }
+}
+
diff --git a/noncore/net/wellenreiter/gui/configwindow.h b/noncore/net/wellenreiter/gui/configwindow.h
index 7df1a80..c7c70a6 100644
--- a/noncore/net/wellenreiter/gui/configwindow.h
+++ b/noncore/net/wellenreiter/gui/configwindow.h
@@ -46,4 +46,5 @@ class WellenreiterConfigWindow : public WellenreiterConfigBase
public slots:
void changedDeviceType(int);
+ void getCaptureFileNameClicked();
protected:
diff --git a/noncore/net/wellenreiter/gui/wellenreiter.cpp b/noncore/net/wellenreiter/gui/wellenreiter.cpp
index 5c10c3b..be2a86e 100644
--- a/noncore/net/wellenreiter/gui/wellenreiter.cpp
+++ b/noncore/net/wellenreiter/gui/wellenreiter.cpp
@@ -31,7 +31,9 @@ using namespace Opie;
// Qt
+#include <qcheckbox.h>
+#include <qcombobox.h>
#include <qpushbutton.h>
+#include <qlineedit.h>
#include <qmessagebox.h>
-#include <qcombobox.h>
#include <qspinbox.h>
#include <qtoolbutton.h>
@@ -321,7 +323,18 @@ void Wellenreiter::startClicked()
// open pcap and start sniffing
if ( cardtype != DEVTYPE_FILE )
- pcap->open( interface );
+ {
+ if ( configwindow->writeCaptureFile->isEnabled() )
+ {
+ pcap->open( interface, configwindow->captureFileName->text() );
+ }
+ else
+ {
+ pcap->open( interface );
+ }
+ }
else
+ {
pcap->open( QFile( interface ) );
+ }
if ( !pcap->isOpen() )