/Dockerfile6

An experimental project for WFA sniffer manipulation on docker container.

Primary LanguageDockerfileMIT LicenseMIT

Dockerfile6


Description:

In general, WFA sniffer should be installed on individual machine; NIC, Wireshark/tshark dissector, and sniffer-agent are worked tightly on specific Linux.

NIC could be ignored for dissection-only case, then, virtual machine provides isolated environment, Wireshark/tshark and sniffer-agent could be evaluated on the environment.

Compared to virtual machine, docker container provides an environment for application-layer virtualization, such environment is more lightweight, and such environment would be suitable for Wireshark/tshark evaluation too.

This experimental project is created for WFA sniffer evaluation on docker container, especially for Wireshark/tshark. A few WFA sniffer packages will be installed and evaluated on corresponding Linux versions in docker containers; the docker engine is running on a virtual machine. And, Wireshark/tshark in the package shall be manipulated on docker container.

Examples:

Example 1: QoS Management 2021 Update

Mentioned in GSGv10.19.0. Assume WFA sniffer package is stored in ~/Downloads and mapped into /wfa in container.

Step 1-1: Build docker image and run docker container.
docker build -f ubuntu-20-04-amd64.dockerfile -t qm . --build-arg UID=$UID --build-arg USER=$USER --build-arg PASSWORD="demonslayer"
docker run --name qm-inst --privileged=true -v ~/Downloads:/wfa -it -e DISPLAY --net=host -v $XAUTHORITY:/root/.Xauthority qm bash
Step 1-2: Install WFA sniffer package under container.
cd /wfa
tar -xvf Wi-FiTestSuite_Sniffer-QM2021_v10.19.0.tar.gz
cd Wi-FiTestSuite_Sniffer-QM2021_v10.19.0
tar -xvf WTSSniffer.tar.gz
cd WTSSniffer
git clone https://github.com/the-tcpdump-group/libpcap.git
cd libpcap
git checkout libpcap-1.10.1
./configure --enable-remote
make
sudo make install
cd ..
export LD_LIBRARY_PATH=QM/lib
./QM/bin/wireshark

Example 2: CERTIFIED 6 (i.e. HE-R1)

Mentioned in GSGv10.20.0. Assume WFA sniffer package is stored in ~/Downloads and mapped into /wfa in container.

Step 2-1: Build docker image and run docker container.
docker build -f ubuntu-16-04-amd64.dockerfile -t he-r1 . --build-arg UID=$UID --build-arg USER=$USER --build-arg PASSWORD="demonslayer"
docker run --name he-r1-inst --privileged=true -v ~/Downloads:/wfa -it -e DISPLAY --net=host -v $XAUTHORITY:/root/.Xauthority -v /etc/machine-id:/etc/machine-id:ro he-r1 bash

Extra file, i.e. /etc/machine-id, is needed.

Step 2-2: Install WFA sniffer package under container.
cd /wfa
tar -xvf Wi-FiTestSuite_Sniffer_HE-Linux_v10.20.0.tar.gz
cd Wi-FiTestSuite_Sniffer_HE-Linux_v10.20.0
su
./INSTALL
wireshark

Example 3: CERTIFIED ac (i.e. VHT-R2)

Mentioned in GSGv10.20.0. Assume WFA sniffer package is stored in ~/Downloads and mapped into /wfa in container.

Step 3-1: Build docker image and run docker container.
docker build -f ubuntu-14-04-amd64.dockerfile -t vht-r2 . --build-arg UID=$UID --build-arg USER=$USER --build-arg PASSWORD="demonslayer"
docker run --name vht-r2-inst --privileged=true -v ~/Downloads:/wfa -it -e DISPLAY --net=host -v $XAUTHORITY:/root/.Xauthority vht-r2 bash
Step 3-2: Install WFA sniffer package under container.
cd /wfa
tar -xvf Wi-FiTestSuite_Sniffer-VHTR2-Ubuntu_v9.2.8.tar.gz
cd Wi-FiTestSuite_Sniffer-VHTR2-Ubuntu_v9.2.8
su
./INSTALL
apt-get -f install
./INSTALL
wireshark

Extra installation step, i.e. apt-get -f install, is needed.

Conclusion:

Docker container could be used for WFA sniffer evaluation (especially for Wireshark/tshark); however, extra installation steps different from the guide should be considered, sometimes.

Reference:

Install Docker Engine on Ubuntu

Prebuilt Ubuntu 20.04 VMware Image