Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In the reminder of this page we provide the details on:

  1. WiFiMon Test Server (WTS) installation: installing a web server, the testtools used by WiFiMon and the images that are used for monitoring
  2. The JavaScript code that is required to be embedded in the frequently visited websites.

This guide presents the commands required to install the WTS in a Debian-based distribution (Debian, Ubuntu, etc.). Other distributions may also be considered by adjusting the included commands appropriately.

Anchor
WTS
WTS
1. WiFiMon Test Server (WTS) Installation

In the following, we detail the steps that are required to install the WiFiMon Test Server (WTS). Our installation was tested in Ubuntu 20.04 LTS. Notably, WiFiMon currently uses the Apache2 web server. However, readers could adjust the following setup to their preferred web server.

First, Apache2 web server and PHP 7.4 should be installed using the following commands:

Code Block
sudo apt-get update
sudo apt-get install -y apache2
sudo apt-get install -y php php-common 
sudo apt-get install -y libapache2-mod-php7.4
sudo /etc/init.d/apache2 restart

...

A single modification is required in file "wifimon/js/nettest/nettest-swfobject.js". The variable "NetTest.FlashPath" should be configured to match the FQDN of the WiFiMon Test Server, i.e. WTS_FQDN.

Anchor
website
website
2. Embed Scripts in your Website

The following paragraphs show the lines that should be included in the HTML code of the frequently-visited websites for each testtool. The FQDN of the WiFiMon Test Server (WTS) is denoted as WTS_FQDN, the FQDN of the WiFiMon Analysis Server (WAS) is denoted as WAS_FQDN and the name of the utilized testtool should be included in the testtool attribute.

Example pages for each testtool are available in the "measurements" folder of the "testtools" directory in the WiFiMon code repository (https://bitbucket.software.geant.org/projects/WFMON/repos/agent/browse/testtools).

2.1. NetTest

NetTest measurements require embedding the following lines of code in your website:

...

  • agentIP (required): Replace "WAS_FQDN" with the IP address (or domain name) of the WiFiMon Analysis Server.

  • Replace "WTS_FQDN" with the IP address (or domain name) of the WiFiMon Test Server.

  • imagesLocation (required): Public link to the folder where the images are downloaded to perform the NetTest measurements.

  • testtool (required): With this attribute, you specify a name for the testtool. WiFiMon Analysis Server relies on the value of this attribute to visualize measurements. The following assumptions are made: (i) for websites visited by WiFiMon Software Probes the value of the testtool attribute should be specified as "NetTest", while (ii) for websites visited by WiFiMon Hardware Probes the testtool attribute should be specified as "NetTest-x" where x is the number assigned to a particular WiFiMon Hardware Probe. Note that you must use separate websites for WiFiMon Software Probes and WiFiMon Hardware Probes.

  • cookieTimeInMinutes (optional): Duration time (in minutes) to set the cookie in order to prevent repeated measurements and overload the WiFiMon Analysis Server. If empty, "1.5" is assumed, i.e. 90 seconds.

  • If your website already included the jquery.min.js, you have to delete the first line.

  • If the above scripts will be embedded to HTTP websites, the attribute hostingWebsite should have the value "http" instead of "https". The value "https" is used for scripts that will be embedded in HTTPS websites.

  • If the WiFiMon Analysis Server is configured to use the WiFiMon Non-Secure Processor, the attribute agentPort should have the value "9000" instead of "8443". The value "8443" is used if the WiFiMon Analysis Server is configured to use the WiFiMon Secure Processor.

NOTE: Except for the 4th bullet, the rest of the bullets apply for both subsections 2.2 and 2.3. Thus, they will not be included in the following subsections.

2.2. boomerang

Triggering boomerang measurements requires embedding the following lines of code in your website:

...

  • testtool (required): With this attribute, you specify a name for the testtool. WiFiMon Analysis Server relies on the value of this attribute to visualize measurements. The following assumptions are made: (i) for websites visited by WiFiMon Software Probes the value of the testtool attribute should be specified as "boomerang", while (ii) for websites visited by WiFiMon Hardware Probes the testtool attribute should be specified as "boomerang-x" where x is the number assigned to a particular WiFiMon Hardware Probe. Note that you must use separate websites for WiFiMon Software Probes and WiFiMon Hardware Probes.

2.3. Speedtest/HTML5

Speedtest requires two steps.

...

Code Block
languagexml
titlespeedworker.html
<!DOCTYPE html>
<html>
<head>
<title>Speed worker</title>
	<script type="text/javascript" src="jquery-3.5.1.min.js"></script>
	<script type="text/javascript" src="https://www.google.com/jsapi"></script>
	<script type="text/javascript" id="settings" hostingWebsite="https" agentIp="fl-5-205.unil.cloud.switch.chWAS_FQDN" agentPort="8443" testtool="speedtest" cookieTimeInMinutes="0.01"
		 src="speedworker-post.js"></script>
</head>
</html>
  • testtool (required): With this attribute, you specify a name for the testtool. WiFiMon Analysis Server relies on the value of this attribute to visualize measurements. The following assumptions are made: (i) for websites visited by WiFiMon Software Probes the value of the testtool attribute should be specified as "speedtest", while (ii) for websites visited by WiFiMon Hardware Probes the testtool attribute should be specified as "speedtest-x" where x is the number assigned to a particular WiFiMon Hardware Probe. Note that you must use separate websites for WiFiMon Software Probes and WiFiMon Hardware Probes.

3. Combining Measurements in the Same Page

Including all three types of testtools (NetTest, boomerang, speedtest/HTML) in the same frequently-visited website your measurements requires injecting the following HTML lines in the "head" section of the website that is monitored by WiFiMon:

Code Block
languagexml
<iframe src="https://WTS_FQDN/wifimon/measurements/nettest.html" style="visibility: hidden;"></iframe> 
<iframe src="https://WTS_FQDN/wifimon/measurements/boomerang.html" style="visibility: hidden;"></iframe>
<iframe src="https://WTS_FQDN/wifimon/js/speedtest/speedworker.html" style="visibility: hidden;"></iframe> 

...