-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #36 from yestinj/develop
Develop
- Loading branch information
Showing
64 changed files
with
11,953 additions
and
12,138 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,10 @@ | ||
*.DS_Store | ||
src/.obj/ | ||
src/.ui/ | ||
src/Makefile | ||
src/inetvis | ||
src/inetvis.pro.user | ||
.moc/ | ||
qrc_icons.cpp | ||
recorded/* | ||
src/recorded/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,56 +4,88 @@ Source repository for the Internet Visualizer (inetvis) tool. | |
|
||
This project is based off of the original work by JP van Riel and Barry Irwin of Rhodes University. Their original work can be found here: www.cs.ru.ac.za/research/g02v2468/inetvis.html | ||
|
||
# Running InetVis | ||
# Notes | ||
|
||
This project was originally written in Qt3 and compiled to 32-bit code, it has since been ported to Qt5, | ||
and been updated to compile a 64-bit binary. | ||
|
||
The instructions below have all been tested on the current version of Ubuntu, 17.04 64-bit. | ||
|
||
At this time InetVis only works under 32-bit flavours of Ubuntu and requires a few older libraries to be installed for correct operation. | ||
# Installing InetVis (from release archive) | ||
|
||
In order to get InetVis running in your own VM please consider the following guidelines: | ||
A compiled version of InetVis is available under the releases section of https://github.com/yestinj/inetvis. | ||
|
||
In order to install and run the software please do the following: | ||
|
||
1. Download the latest release archive from the releases page. | ||
2. Extract the archive which will be called something like `inetvis-2.0.0.tgz` | ||
3. Change into the extracted directory, something like `inetvis-2.0.0` | ||
4. Run the `install_inetvis.sh` shell script to install the software. | ||
1. This script will: install the software to `/opt/inetvis-<version>` | ||
2. Create a symlink directory `/opt/inetvis` for convenience | ||
3. Copy across the relevant files to the new directory under `/opt`. | ||
4. Place an icon file in `/usr/share/icons/hicolor/48x48/apps/` | ||
5. Place a `desktop` file in `/usr/share/applications`, allowing inetvis to be found in the menu on Ubuntu systems. | ||
6. Create a symlink at `/usr/local/bin/inetvis` pointing to the main binary. | ||
7. Set the `cap_net_raw`, and `cap_net_admin=eip` capabilities on the inetvis binary allowing for monitoring packets on local host without running as root. | ||
5. If the script completes successfully inetvis should now be in your path, and also be in the menu system of your distribution. | ||
|
||
# Running InetVis | ||
|
||
1. Install your choice of 32-bit Linux in a VM (Tested with Ubuntu 14.04.5 LTS 32-bit desktop edition) | ||
* You may choose to install the i386 architecture under your current 64-bit distrubition, however this has not been tested. | ||
2. Be sure to update your system fully after installation | ||
* `sudo apt-get update` and `sudo apt-get upgrade`, finally `sudo apt-get dist-upgrade` | ||
3. Install all of the basic requirements as mentioned in the manual (doc/inetvisdoc.html) | ||
* `sudo apt-get install build-essential g++ libc6 libstdc++6 libc6-dev make libpcap-dev libgl1-mesa-dev libqt4-dev libqt4-dev qt4-dev-tools libqt4-qt3support` | ||
* Note: Some of the above dependencies are only required for building and not running, but I haven't sorted out which is which yet. To be safe rather install them all. | ||
4. Install the older 'missing' libraries which aren't there by default | ||
1. `sudo apt-get install libpq5` - libpg.so.5 | ||
2. libmysqlclient_r.so.15 | ||
1. The version we need is no longer in the Ubuntu repos, and needs to be downloaded and installed manually. | ||
2. `sudo apt-get install mysql-common` | ||
3. `wget -O libmysqlclient15off_5.1.30really5.0.75-0ubuntu10.5_i386.deb http://automation.binarysage.net/\?dl_id\=6` | ||
4. `dpkg -i libmysqlclient15off_5.1.30really5.0.75-0ubuntu10.5_i386.deb` | ||
3. `sudo apt-get install libsqlite0` - libsqlite.so.0 | ||
5. That should be it! | ||
To run InetVis do the following: | ||
|
||
To run InetVis either download the latest binary from the Releases page, or clone the source code and run the `inetvis` binary from the root of the repository. | ||
1. Download the latest InetVis release archive from the releases page. | ||
* Alternatively clone the repository, and follow the build procedure above | ||
2. Install the requirements (if necessary): | ||
* `sudo apt-get install build-essential g++ libc6 libstdc++6 libc6-dev make libpcap-dev libgl1-mesa-dev libqt4-dev libqt4-dev qt4-dev-tools` | ||
* Note: These are also the build requirements, installing them may not be necessary for simply running the application. | ||
|
||
`./inetvis` | ||
If you installed InetVis as per the instructions, you should simply be able | ||
to run the `inetvis` command from your command line or menu system. | ||
|
||
If you would like to monitor your own host for network events, instead of replaying capture files, please ensure that you use `sudo`: | ||
If you have built the binary yourself, please run it using manually using `./inetvis` from the src directory. | ||
|
||
`sudo ./inetvis` | ||
You will need to run your built binary as root should you wish to monitor local host. | ||
|
||
Have fun! :-) | ||
|
||
# Uninstalling InetVis | ||
|
||
A convenience script is included in the release archive, namely `uninstall_inetvis.sh`, which can be used to completely remove inetvis from your system at any time. | ||
|
||
# Building InetVis | ||
|
||
Building InetVis is relatively straight forward but comes with the same caveats as running it. Currently only 32-bit flavours of Linux, Ubuntu, are supported. | ||
In order to build InetVis in your own VM please consider the following guidelines: | ||
|
||
Building InetVis is relatively straight forward. Begin by installing the following dependencies: | ||
|
||
1. Update your system: | ||
* `sudo apt-get update` and `sudo apt-get upgrade`, finally `sudo apt-get dist-upgrade` | ||
2. Install the following dependencies: | ||
* `sudo apt-get install build-essential g++ libc6 libstdc++6 libc6-dev make libpcap-dev libgl1-mesa-dev libqt4-dev libqt4-dev qt4-dev-tools` | ||
|
||
Before getting started please follow all of the instructions in **Running InetVis** to ensure that you have all of the relevant dependencies installed. | ||
Once the dependencies are installed, clone this repository if you haven't already. | ||
|
||
Next you either need to set the environment variable `QT_SELECT=qt4`, wherever you prefe, or you need to run the `qmake` command below with the `-qt=qt4` option. This ensures that the project is built using Qt4, and not Qt5 which will likely be the default. | ||
1. Clone the github repo into the `inetvis` directory: | ||
* git clone [email protected]:yestinj/inetvis.git | ||
2. Change into the `inetvis` directory, and then change to `src`. | ||
3. Checkout whichever branch you want to build, i.e. master or develop. | ||
* `git checkout develop` | ||
|
||
Once your system is up and running do the following to build InetVis: | ||
Finally, build the `inetvis` binary: | ||
|
||
1. `cd src` | ||
2. `qmake` | ||
3. `make` | ||
1. `qmake` | ||
2. `make` | ||
|
||
This should result in a new `inetvis` binary being generated within the source directory. | ||
|
||
# Development | ||
|
||
# Notes | ||
Development is currently done using Qt Creator. | ||
|
||
QT Creator allows for simple editing of source code, as well as graphical form editing, and can be | ||
installed in Debian flavours of Linux by installing the `qtcreator` package. | ||
|
||
# Versioning | ||
|
||
This software will make use of Semantic Versioning 2.0.0 (http://semver.org/) once reaching the v1.0.0 release phase. | ||
This software uses Semantic Versioning 2.0.0 (http://semver.org/) as of release v2.0.0. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,49 +1,51 @@ | ||
<!DOCTYPE UI><UI version="3.3" stdsetdef="1"> | ||
<class>AboutDialog</class> | ||
<widget class="QDialog"> | ||
<property name="name"> | ||
<cstring>AboutDialog</cstring> | ||
</property> | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<ui version="4.0" stdsetdef="1"> | ||
<author></author> | ||
<comment></comment> | ||
<exportmacro></exportmacro> | ||
<class>AboutDialog</class> | ||
<widget class="QDialog" name="AboutDialog"> | ||
<property name="geometry"> | ||
<rect> | ||
<x>0</x> | ||
<y>0</y> | ||
<width>526</width> | ||
<height>335</height> | ||
</rect> | ||
<rect> | ||
<x>0</x> | ||
<y>0</y> | ||
<width>526</width> | ||
<height>335</height> | ||
</rect> | ||
</property> | ||
<property name="caption"> | ||
<string>About InetVis</string> | ||
<property name="windowTitle"> | ||
<string>About InetVis</string> | ||
</property> | ||
<vbox> | ||
<property name="name"> | ||
<cstring>unnamed</cstring> | ||
</property> | ||
<widget class="QTextBrowser"> | ||
<property name="name"> | ||
<cstring>textBrowser1</cstring> | ||
</property> | ||
<property name="text"> | ||
<string><h2>InetVis - <b>I</b>nter<b>net</b> <b>Vis</b>ualization</h2> | ||
<p><i>Version</i>: 0.9.5-qt4<br><small><i>Release date</i>: 2007/11/21</small><br></p> | ||
<layout class="QVBoxLayout"> | ||
<item> | ||
<widget class="QTextBrowser" name="textBrowser1"> | ||
<property name="text"> | ||
<string><h2>InetVis - <b>I</b>nter<b>net</b> <b>Vis</b>ualization</h2> | ||
<p><i>Version</i>: 2.0.1<br><small><i>Release date</i>: 2017/06/12</small><br></p> | ||
<h3>About</h3> | ||
<p>Computer Science Honours Project - 2005<br> | ||
Computer Science Masters Project - 2006/7</p> | ||
<p><i>Author</i>: Jean-Pierre van Riel<br> | ||
Computer Science Masters Project - 2006/7<br> | ||
Computer Science Masters Project - 2017</p> | ||
<p><i>Original Author</i>: Jean-Pierre van Riel (2005 - 2007)<br> | ||
<i>Current Author</i>: Yestin Johnson (2017)<br> | ||
<i>Supervisor</i>: Barry Irwin<br> | ||
<i>Institute</i>: Rhodes University, Grahamstown, 6140, Eastern Cape, South Africa<br> | ||
<i>website: </i><u>http://research.ict.ru.ac.za/G02V2468/</u><br> | ||
<i>email </i><u>[email protected]</u></p> | ||
<h3>Aknowledgment</h3> | ||
<p>Based on the "The Spinning Cube of Potential Doom", by Stephen Lau:<br> | ||
<i>Website: </i><u>http://research.ict.ru.ac.za/G02V2468/</u><br> | ||
<i>Github: </i><u>https://github.com/yestinj/inetvis</u><br> | ||
|
||
<i>Email </i><u>[email protected]</u><br> | ||
<i>Email </i><u>[email protected]</u></p> | ||
<h3>Acknowledgment</h3> | ||
|
||
<p>Based on the "The Spinning Cube of Potential Doom", by Stephen Lau:<br> | ||
<u>www.nersc.gov/security/TheSpinningCube.html</u></p><p>Special thanks to Barry Irwin (project supervisor), and Shaun Bangay (Graphics honours course lecture of 2005). Their instruction and input has made this project possible.</p> | ||
<br> | ||
<br> | ||
<hr> | ||
<h3>GPL License, Version 2</h3> | ||
|
||
<p>InetVis - Internet Visualisation for network traffic analysis.<br> | ||
Copyright (C) 2005 - 2007, Jean-Pierre van Riel</p> | ||
Copyright (C) 2005 - 2017, Jean-Pierre van Riel</p> | ||
|
||
<p>This program is free software; you can redistribute it and/or modify it | ||
under the terms of the GNU General Public License as published by the Free | ||
|
@@ -111,8 +113,8 @@ met:</p> | |
the names of its contributors may be used to endorse or promote products | ||
derived from this software without specific prior written permission.</li> | ||
</ol> | ||
<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS | ||
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS | ||
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | ||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||
|
@@ -143,9 +145,9 @@ met:</p> | |
notice, this list of conditions and the following disclaimer in the | ||
documentation and/or other materials provided with the distribution.</li> | ||
<li>All advertising materials mentioning features or use of this software | ||
must display the following acknowledgement: "This product includes | ||
must display the following acknowledgement: "This product includes | ||
software developed by the University of California, Berkeley and its | ||
contributors."</li> | ||
contributors."</li> | ||
<li>Neither the name of the University nor the names of its contributors | ||
may be used to endorse or promote products derived from this software | ||
without specific prior written permission.</li> | ||
|
@@ -191,9 +193,9 @@ this list of conditions and the following disclaimer.</li> | |
this list of conditions and the following disclaimer in the documentation | ||
and/or other materials provided with the distribution.</li> | ||
<li>All advertising materials mentioning features or use of this software must | ||
display the following acknowledgement: "This product includes software | ||
display the following acknowledgement: "This product includes software | ||
developed by the Kungliga Tekniska Hogskolan and its | ||
contributors."</li> | ||
contributors."</li> | ||
<li>Neither the name of the University nor the names of its contributors may | ||
be used to endorse or promote products derived from this software without | ||
specific prior written permission.</li> | ||
|
@@ -223,8 +225,8 @@ this list of conditions and the following disclaimer.</li> | |
this list of conditions and the following disclaimer in the documentation | ||
and/or other materials provided with the distribution.</li> | ||
<li>All advertising materials mentioning features or use of this software must | ||
display the following acknowledgement: "This product includes software | ||
developed by Yen Yen Lim and North Dakota State University"</li> | ||
display the following acknowledgement: "This product includes software | ||
developed by Yen Yen Lim and North Dakota State University"</li> | ||
<li>The name of the author may not be used to endorse or promote products | ||
derived from this software without specific prior written permission.</li> | ||
</ol> | ||
|
@@ -248,7 +250,7 @@ notice and this permission notice appear in all copies, and that the name of | |
Digital Equipment Corporation not be used in advertising or publicity | ||
pertaining to distribution of the document or software without specific, | ||
written prior permission.</p> | ||
<p>THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL | ||
<p>THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL | ||
WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF | ||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION | ||
BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY | ||
|
@@ -312,7 +314,7 @@ list of conditions and the following disclaimer.</li> | |
this list of conditions and the following disclaimer in the documentation | ||
and/or other materials provided with the distribution.</li> | ||
</ol> | ||
<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTOR "AS IS" | ||
<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTOR "AS IS" | ||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE | ||
|
@@ -334,11 +336,12 @@ distribution of the program without specific prior permission, and notice be | |
given in supporting documentation that copying and distribution is by | ||
permission of Carnegie Mellon and Stanford University. Carnegie Mellon makes | ||
no representations about the suitability of this software for any purpose. It | ||
is provided "as is" without express or implied warranty.</p></string> | ||
</property> | ||
is provided "as is" without express or implied warranty.</p></string> | ||
</property> | ||
</widget> | ||
</vbox> | ||
</widget> | ||
<pixmapinproject/> | ||
<layoutdefaults spacing="6" margin="11"/> | ||
</UI> | ||
</item> | ||
</layout> | ||
</widget> | ||
<layoutdefault spacing="6" margin="11"/> | ||
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction> | ||
</ui> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
#include "aboutdialogwidget.h" | ||
|
||
AboutDialogWidget::AboutDialogWidget(QWidget *parent) : QDialog(parent) { | ||
setupUi(this); | ||
} |
Oops, something went wrong.