Initial setup
This commit is contained in:
commit
65ffd4fd25
6 changed files with 216 additions and 0 deletions
97
Dockerfile
Normal file
97
Dockerfile
Normal file
|
@ -0,0 +1,97 @@
|
|||
FROM ubuntu:22.04
|
||||
|
||||
ARG MAX_THREADS=1
|
||||
ARG WS_VER=3.4.0
|
||||
ARG MI_BRANCH=ubuntu22-py310
|
||||
ARG WIRESHARK_URL=http://www.mobileinsight.net/wireshark-${WS_VER}-rbc-dissector.tar.xz
|
||||
ADD 00-cpp_compat.patch /build/00-cpp_compat.patch
|
||||
|
||||
# Run apt update
|
||||
RUN set -ex; \
|
||||
export DEBIAN_FRONTEND=noninteractive; \
|
||||
apt-get update; \
|
||||
apt-get upgrade -y; \
|
||||
apt-get install -y \
|
||||
git \
|
||||
python3 \
|
||||
python3-pip \
|
||||
python3-wxgtk4.0 \
|
||||
python3-matplotlib \
|
||||
cmake \
|
||||
pkg-config \
|
||||
wget \
|
||||
libglib2.0-dev \
|
||||
bison \
|
||||
flex \
|
||||
libpcap-dev \
|
||||
libgcrypt-dev \
|
||||
qtbase5-dev \
|
||||
qtchooser \
|
||||
qt5-qmake \
|
||||
qtbase5-dev-tools \
|
||||
qttools5-dev \
|
||||
qtmultimedia5-dev \
|
||||
libqt5svg5-dev \
|
||||
libc-ares-dev \
|
||||
libsdl2-mixer-2.0-0 \
|
||||
libsdl2-image-2.0-0 \
|
||||
libsdl2-2.0-0;
|
||||
|
||||
# Download resources
|
||||
RUN set -ex; \
|
||||
mkdir -p /build; \
|
||||
cd /build; \
|
||||
wget "$WIRESHARK_URL" -nv -O "wireshark-$WS_VER.tar.xz"; \
|
||||
tar -xf "wireshark-$WS_VER.tar.xz"; \
|
||||
git clone "https://github.com/mobile-insight/mobileinsight-core.git"; \
|
||||
git -C mobileinsight-core checkout "$MI_BRANCH";
|
||||
|
||||
# Compile and install wireshark
|
||||
RUN set -ex; \
|
||||
cd "/build/wireshark-$WS_VER"; \
|
||||
patch epan/epan.h < /build/00-cpp_compat.patch; \
|
||||
cmake -DBUILD_wireshark=OFF .; \
|
||||
make -j "$MAX_THREADS"; \
|
||||
make install; \
|
||||
ldconfig;
|
||||
|
||||
# Compile and install Wireshark dissector
|
||||
Run set -ex; \
|
||||
cd /build/mobileinsight-core/ws_dissector; \
|
||||
g++ ws_dissector.cpp packet-aww.cpp -o ws_dissector \
|
||||
$(pkg-config --libs --cflags glib-2.0) \
|
||||
-I"/build/wireshark-$WS_VER" \
|
||||
-L"/usr/local/lib" \
|
||||
-lwireshark \
|
||||
-lwsutil \
|
||||
-lwiretap; \
|
||||
strip ws_dissector; \
|
||||
install -Dm 755 ws_dissector /usr/local/bin/ws_dissector;
|
||||
|
||||
# Compile and install MobileInsight
|
||||
Run set -ex; \
|
||||
cd /build/mobileinsight-core; \
|
||||
pip3 install pyserial; \
|
||||
python3 setup.py install;
|
||||
|
||||
# Install MobileInsight GUI
|
||||
Run set -ex; \
|
||||
cd /build/mobileinsight-core; \
|
||||
mkdir -p /usr/local/share/mobileinsight; \
|
||||
cp -r gui/* /usr/local/share/mobileinsight;\
|
||||
ln -s /usr/local/share/mobileinsight/mi-gui /usr/local/bin/mi-gui;
|
||||
|
||||
# Install examples
|
||||
Run set -ex; \
|
||||
cd /build/mobileinsight-core; \
|
||||
cp -r examples /opt/mobileinsight-examples;
|
||||
|
||||
# Link python3 to python
|
||||
Run set -ex; \
|
||||
cd /usr/bin; \
|
||||
ln -s python3 python;
|
||||
|
||||
# Cleanup
|
||||
Run set -ex; \
|
||||
apt-get autoclean -y; \
|
||||
rm -rf /build;
|
Loading…
Add table
Add a link
Reference in a new issue