diff --git a/appliances/ostinato-wireshark.gns3a b/appliances/ostinato-wireshark.gns3a new file mode 100644 index 0000000..351a91f --- /dev/null +++ b/appliances/ostinato-wireshark.gns3a @@ -0,0 +1,20 @@ +{ + "appliance_id": "8377ddaa-ecd1-4cde-a510-3ef2ddc48f11", + "name": "Ostinato Wireshark", + "category": "guest", + "description": "Alpine Linux with Ostinato Network Traffic Generator and Wireshark Network Traffic Analyser pre-installed.", + "vendor_name": "Ostinato/Wireshark", + "vendor_url": "https://ostinato.org/", + "documentation_url": "https://ostinato.org/docs/", + "product_name": "Ostinato Wireshark", + "registry_version": 4, + "status": "stable", + "availability": "free", + "maintainer": "Mark Young", + "maintainer_email": "miyoung999@hotmail.com", + "docker": { + "adapters": 2, + "image": "gns3/ostinato-wireshark:latest", + "console_type": "vnc" + } +} diff --git a/docker/ostinato-wireshark/Dockerfile b/docker/ostinato-wireshark/Dockerfile new file mode 100644 index 0000000..def7ee6 --- /dev/null +++ b/docker/ostinato-wireshark/Dockerfile @@ -0,0 +1,55 @@ +FROM alpine:latest + +LABEL maintainer="Mark Young " + +ENV DISPLAY :99 +ENV RESOLUTION 1920x1080x24 + + +RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories \ + && echo "http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories \ + && echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \ + && apk add --no-cache \ + libprotobuf \ + tshark \ + wireshark \ + ostinato \ + ostinato-drone \ + ostinato-gui \ + xterm wget \ + font-adobe-100dpi \ + mesa-dri-swrast \ + ca-certificates \ + curl \ + openssl \ + sudo \ + xvfb \ + x11vnc \ + xfce4 \ + faenza-icon-theme \ + bash \ + && addgroup gns3 \ + && adduser -h /home/gns3 -s /bin/bash -S -D -G gns3 gns3 \ + && echo -e "gns3\ngns3" | passwd gns3 \ + && addgroup gns3 wireshark \ + && echo 'gns3 ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +USER gns3 +WORKDIR /home/gns3 + +RUN mkdir -p /home/gns3/.vnc && x11vnc -storepasswd gns3 /home/gns3/.vnc/passwd + +RUN mkdir -p /home/gns3/.config/autostart +COPY Ostinato.desktop /home/gns3/.config/autostart +COPY Ostinato.desktop /home/gns3/Desktop/Ostinato.desktop +COPY Wireshark.desktop /home/gns3/Desktop/Wireshark.desktop +RUN sudo chmod 775 /home/gns3/Desktop/Ostinato.desktop +RUN sudo chown gns3:gns3 /home/gns3/Desktop/ +RUN sudo chown gns3:gns3 /home/gns3/Desktop/Ostinato.desktop +RUN sudo chown gns3:gns3 /home/gns3/.config/autostart +RUN sudo chown gns3:gns3 /home/gns3/Desktop/Wireshark.desktop +COPY ostinato.png /usr/share/pixmaps + +COPY entry.sh /entry.sh + +CMD [ "/bin/bash", "/entry.sh" ] diff --git a/docker/ostinato-wireshark/Ostinato.desktop b/docker/ostinato-wireshark/Ostinato.desktop new file mode 100644 index 0000000..608165b --- /dev/null +++ b/docker/ostinato-wireshark/Ostinato.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=0.9.4 +Type=Application +Name=Ostinato +Comment=Network Traffic Generator +Exec=/usr/bin/sudo /usr/bin/ostinato +RunHook=0 +StartUpNotify=false +Terminal=false +Hidden=false +Icon=/usr/share/pixmaps/ostinato.png diff --git a/docker/ostinato-wireshark/README.rst b/docker/ostinato-wireshark/README.rst new file mode 100644 index 0000000..1cadc77 --- /dev/null +++ b/docker/ostinato-wireshark/README.rst @@ -0,0 +1,17 @@ +Docker Ostinato Wireshark for GNS3 +---------------------------------- + +This is a Dockerbuild file to create a an Alpine based container with the following installed: + +Alpine Linux, Xterm, Wireshark and Ostinato + +To set up remote X frame buffer display resolution open Dockerfile and edit `ENV RESOLUTION 1920x1080x24` + +Thanks to Jan Kuri for the Docker container which this is based on (jkuri/alpine-xfce4) + +Building the container +####################### + +.. code:: bash + + docker build -t gns3/ostinato-wireshark . diff --git a/docker/ostinato-wireshark/Wireshark.desktop b/docker/ostinato-wireshark/Wireshark.desktop new file mode 100644 index 0000000..c179cb0 --- /dev/null +++ b/docker/ostinato-wireshark/Wireshark.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Name=Wireshark +Comment=Network Traffic Anaylser +Exec=wireshark %f +StartUpNotify=false +Terminal=false +Hidden=false +path= +Icon=org.wireshark.Wireshark diff --git a/docker/ostinato-wireshark/entry.sh b/docker/ostinato-wireshark/entry.sh new file mode 100644 index 0000000..5602d17 --- /dev/null +++ b/docker/ostinato-wireshark/entry.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +nohup /usr/bin/Xvfb :99 -screen 0 $RESOLUTION -ac +extension GLX +render -noreset > /dev/null 2>&1 & +nohup startxfce4 > /dev/null 2>&1 & +nohup x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :99 -forever -bg -rfbauth /home/alpine/.vnc/passwd -users alpine -rfbport 5900 > /dev/null 2>&1 & +/bin/bash diff --git a/docker/ostinato-wireshark/ostinato.png b/docker/ostinato-wireshark/ostinato.png new file mode 100644 index 0000000..abd6f3c Binary files /dev/null and b/docker/ostinato-wireshark/ostinato.png differ