From 2f56e61cafc52e2b642f907fa8ccd3f43399187c Mon Sep 17 00:00:00 2001 From: grossmj Date: Tue, 24 Jan 2023 14:37:28 +0800 Subject: [PATCH 1/2] New appliance Ostinato - Wireshark --- appliances/ostinato-wireshark.gns3a | 20 +++++++ docker/ostinato-wireshark/Dockerfile | 55 ++++++++++++++++++++ docker/ostinato-wireshark/Ostinato.desktop | 12 +++++ docker/ostinato-wireshark/README.rst | 17 ++++++ docker/ostinato-wireshark/Wireshark.desktop | 12 +++++ docker/ostinato-wireshark/entry.sh | 6 +++ docker/ostinato-wireshark/ostinato.png | Bin 0 -> 43083 bytes 7 files changed, 122 insertions(+) create mode 100644 appliances/ostinato-wireshark.gns3a create mode 100644 docker/ostinato-wireshark/Dockerfile create mode 100644 docker/ostinato-wireshark/Ostinato.desktop create mode 100644 docker/ostinato-wireshark/README.rst create mode 100644 docker/ostinato-wireshark/Wireshark.desktop create mode 100644 docker/ostinato-wireshark/entry.sh create mode 100644 docker/ostinato-wireshark/ostinato.png 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..e4bb7f0 --- /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 0000000000000000000000000000000000000000..abd6f3c6f586bd65ff52b3b7de9c3a8ea28ca90b GIT binary patch literal 43083 zcmX6^byQSe7o8buXol`?P`bO7ZcsoVWPW9s8i@#b|PP@NoXkeXs6`me17|N`-D@E*Z6S^ zjK_Qp$D|EGR_7jB{e=Q@AE(`RfFeH9YeTeD#RjDb4s*>x+?cN>G9dV~3T+6Z4jW5V z2|E&`hJ=Xl^q{8fM2E}IOw-&6;*yAfsu=B?JkMbzBceL@^rU~uB!REzp>z^4)3;)+ z=i(Zs<2X@N)}-<19#OA`IJ$amj%=Urc;U%yo8jr^pK(pr{x;___Ijf{VOeoE%YAn0w^ADU}{+r|h1eddr`fZ!(?@XYdiqSHdPehF7V^ z?H%kBxC(Ufp8%w8oMlRUq}%rZ>9F=oTgL~xYcOGy4E6L38XaioJ|1pu6!*GE@|fR} zg$y2Ddr`*gn_o`KW5_izyGw`r-cYRQ{geNP`xFSH>EYYY_x)Qzd8CiZZ&X6Nm?^dH z&?e5zqEf!gSD-(YJV@<9xPc=1i|OOgE8{5|(;qD^)u6COIO~6Vvg#^VOFNeGw#H3h zfk$B(IbCv~WAOiF*r6PQ=c0g;4Px)q&YI1~u72zfOKbm+3Fx!zf6yA;?ta^4nZRR> z#lqmh-bh3OHfalwxhr8#JJ-lqM7ZgVj(kN6*AaiViw#p}G+!J3ak`Skp{{r{$P;#* zt<{@FNb=MWBQvKcTCe!U!)tvI-?_o1a52Nv&h9QD1tC@0W9p20HVC;l*vtK@+?3!I zmo~)KGvx4TVgK~EL%yvoK!n3DqC4OkPNwnl1nD?$WyMM`7ugB%5-ddi>8o_t6YCgK zt>3G7IVi=WJ9IIgD)!1ElsT^rX90O(#R!z{&CK7l|F1JY%pVIa_rxuP3_#+c{R*~! zwV&=jAG|~{jo@0})9n>rjBqE66dNv)%|sPH#TMDV%k*-U6$l++%yeA9VXF6o+u}uW zKc%U^zA_Sg>v)pQdF7#c6Jz3+f@Rv5&-<3i*MlLsAU(2f0YbEN zs3G+rqC5FT?|agje_|UqWJQjy5kAD!-Vmpp<_z)rY%)Gy6Qy7MlScD3yk1$K0r}V< z%4l9)f5QVxw8Y%ME63T#l7@TJ{uJW?2jW^>OicjLE+)04E;mBf&ky<}md8hi%y3Qd zIfbo4Ke;c;w;5Zm9#3!~h~&%0AhUCA*(EnN`g!lDSXHqSHH$O29nMTVb*-q#W^^YE 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

c zK-;y9Zv_Idg)RfCy)kG&+;IxU!D(x=McR6u-J4GU+fKp+z-0t(Ws7&*WuesDhj4db zcxECyUP6b~_gORJ+^S$YYHqu21TZ_W3Xoq1;D~~z53d~iN#>ZBzbvEz(}1vJ0f|7S zBh5=gXy>LlLMj$p*=`D;3hky$G5|0G2&~}0c0k}~Y-6O#<8aFT8-o(4w%l;VK}Vcn zU;Q^z2*8@Q(gv=+jDPAegm7D)9YB7KZCMDtW;(*21)~BhUd^`*ip0uM1;v=JAv7AE z|GoBt=p(>UlZXN62?QQy0|X{elY9Ge5(8j3rn!tpgm=cwbXS4uaD>z4{=iOzK20o6 zF2@dFvq1BjfpAd4)BsW=Tf%l%KT6ud|NKAQ`24S=1mRt*HGujjDFWc40G%wvsx^2K zn;Pn>sIz28U&^7$be>6g* zj9AYf0Ic#gS*OrE!|?p?K{(I;{J(6H=KmQuz}dDjz;zZeKtIB4{O9w1Y|s|ul*(RW zx3rV1JrDp2GRF7l4`>EzLpVC8S$8ox0F}nA8z{<_`xwYRLJM!)4Q>HS0>8s_z^qaL zc+>8llfZhD-2s$}uv(~u-k7`oh_4$CS5SG{cYK-JN#GJAchZe;F;}N;jegw%oQ!b7 z1cku4&wz`~0lddxpdiaofYYA%HNu_-{E$-G0~ml#;kDhcWZi9FP#y*Dn56LEI2UlW zO))S5TxnSgxIQ2Tn2#_ulnzsY@D=Xk3vN6x6nTKfFy9XVGNWM&lgR-*7bvo+%Byn= z;sBh+o$&L&72%LTgFVWav{puQU<13a1K44bpZ{(W@J%eqPYd`wW-|j-uK7h41jGO* z8-;4!2p92Jov$g@);$ro>1n!#?Dd(7utuo9++=kCsa}9Gf+hq%T%ZVGl)VhjfA#hs z3^@NEGwxea$;3%mHvm0D<#G@K=yKq_wlTm}mbHMt2fVCj5N3u3YZVBqb04cAR8me0 z(FR#NWZ*&Hd~gO~Q|2eP1Gp1m!1sAqAxvj}0WbhZD=Pf_Z$#K3K(k?lpBVT5g$daB zp8p3<;sW5fV&D(4>PWdM;7GaCB1P@i-Jh25-#auf7w5l@0IGNnOHSbRmJj)~ zfMVc0Bf*ApgeqQSUwulfZKvFx_V(Tngu%KDhD=Q6GT(q}!w9!5O|JqQ=@M%F#+ zqk$t&>kzihp-~o>0~qB;f$~^g2!AS2{eO4k^Z%-V^Z!bV^t1=z&-Um4;z>;a%3d8H zl}Ve%0Idi=^T{%t9)s|gR!R%Pd>%j$Hjn54!X_P5G8Jby>GI_O6p`y2fkoWH6agKj zqVPRXg)r#D*-rv*yV9;E$!W!y=@W+M|Jlm{{y#1T_&?hiU}2$}W+EI7{3DWbUuLlBPX``ExPjbh0u+k_aP)Cz_?BIj!p>uPb^t1H|F%)!-WR~x zPXebHG?=CTt-sly|4UhUIXeH{7@(2)wlTnc7Qt2>!n!`0o1@g%XNV^}h0+xsj=bGI zVzmGipb25$;F?n6?C%2IR?l!~$`mzS;!n(y3*)%uepv4pcTohPouSQtarawGKS9PjU-~LpD zl>+ep-&!0+ZT9-V>S(-TISl_ZVt^y;M$fzGdUhO zC=sE7H*8~oMQmcsyi(MQ-}!EahYe$ZUX+kQHpaP(9|XdVy$HAFAO>65%n`tE14+Q@>fR=Q34l|U9575CZ}rXp&#@>-Peo|A z!@JdwE@PGD`22TcfT=z}ec(DGaBGd1!d}xe({zMFO@tiU5f08`t133Y*8yg^aXSNU=m1DWIP2>aM*rWK_FaEfFV0WP{4;mdrKw*(*oykt0SawftNzIS%6#m-anr2iY` z{6A$m>i-MX2>PCV46vBZEII?~5mxss=_G*5Ehs^M&5{prQAqYUkaZeR91b9CwsQ}{ zU-DW2RAalt@g7AWd&y_7JZ2UC_u6;=tFL*NmKEUqPm2O>vvUEdu6~;s;CH@tg-wkx z-7;GB)SyHbF+f@15GwT@|0TOrqmT~3IctMPWR)=^ryYvN4&7y$zwG}VrW)x=)*^h>6Eb%2qCVpt7YQ{=08cL``hQj~;BQ#df)}v5 z@z4;5k^ZL73;CsCU11<_K8zWUVZ)HC?nXE$G7?Z&2auY>999{BJg*D@Q{LWykNUH@ zfH2k#B!D;5j*;+Bbu^a4C@_14I{nki zfyaWqINWhoNWh>^dxuk^>o@f5M`gJs4-Qq4A3*p=Bo|OP2cX!ihlKXX=kxqe0-vy+ zA;vQU;e~NmmIOxG*P{1d?X;Wh?=cCiwF1=tJ%PYlUa>C+zRL__y|FaFTqJAwXpNw>0V`I&O z?f1tBaM22A{%#ELeY;vfO5e{s4VaFwsz(!|&3K1t2+h2cRT}Wm&@`Z$X3dqia{+~N z0FLTGcVLmMl#Z+_DfZVi&oKLMLfFzn`Pu0i@$YKzBL7;?{&T2`T`Nra&l3r_0c({Y zrORdx&h#Msf`lg$aJu1H(dA1OF}>yy_6~&|YpK(WbepYI7zf~tTqzIe{&UK)xfDSU zx2UffDL<)w@tEhq@HVX$tv~8Gy4~Kzjj;TT|A<@*_mVY-0c?c<(mmXO+^0@Q|msf533VR8taAR5ZKl+d|U- zp@x~7e`xwm`F8*b;8orA7OluOQQ`kRhOuEI!nz*B_Akg#Q<=;O6hf0NdF@fl54m7mF5Q^^@OY@fh<} z^rEjAW{m>~|H+CJw2VEBfX6|EZF$WI5X`3oP*?MWk@+_wteTaslI=RiqR;azPw?*r zgev3OzuFOhw!gy!uz-#g7XBLt1^z2a8t|GGQA54<6USxOHn?#GO^Dr?Ll1zd+eqqM zokI5-qyqVK0O~q!bLG9lM{GZo$MD}&v$q*xlW|?13E)H4(zGS>LuJ<}^0A}9J}WT% zH_icc@gWf?)N`#0g6dqo%royh*KqT+AZ(UJi*N#X-Yri`X#HIHi`ETH7Tf_OfKkpv zXfR+;3fW%v!x7-HIQ$=<2F&sxWf_&D#G*q`of3n*?coAUbI59@Aa=u!Jxulngqa~E z8qt;ZHiS*MOMhP?j}E{w{x>WKRKGeXY)Aha5hkV^Gc9l(KlOY8?K1CIO;S zsuBBVdZ}gj)`xJ|m_ShR0>5E2I7FQ{r)8Z}--s~HP;Rn8JAos3O8<7!{qNj60OxOi z$}Mb+P;S^4r_4XUoqyjpL~p!GcB<`nh86Z-&P;?yqTJ&Ma9kYz`xAp_8M9x;n9{Kk z>H(*YDG564_7-C#;My$H09D5@(XDgLt4l`$5Ad0L)rp)sfTVjz3%P+UwZk+U&8F_- zu{@eT{KkUDHMV4@%JExR5r5U*i8SDJ6nJn2C;x_~0eeNO27JPItiV83rn=C>1zcws zO;pl~@KjbVAgMVB<_ZTTwClUvk}G(_z4qr2rh4SCHVz=+-bsR&xR5VukZ&ZsO-|s#I@P6syQv+i$9z z+HHXTl+iVg`l~AcM_HEsx)FA=N2{Ii|DZVh4|f2qQEVy!Jc`g9puanw*Vlz`%Qz(9 zQ+6=KySowg$wD$T#SYvRVK88Rz<4K6OP~JvMo#5ogc1)`UgZFmxmTDZsZD-tPsC?D z#Wn2f!d$(&{mJZVh7dNl8~d2G`M+)q-3@8!_2iiJ;rIIA*;J6ac`Iu6f3pZBarhse z25b}M2|Gg2Hb_7XP2;AxCxADMqls*^{L;U134d@4eq!OmTHO1s@)fGy+BcvYWtjOq z!1Wx?25I-y95CR^E4=PSID(Jz8vHM2d&8u!-)%`sW|;rk2(v8iQ>8-BMcteW=#IJn zreNToiJ%q;aG|A7Z=iHsaOkufw;6+hS7%9iQQv)S8u3RgVu2~l^aZhM5x&DBhFQuo zma&L8c!md=%PpMEK5UWZ=2{q_$s!7oH1y(Ptq+(l^H;F1DfqX2hW@Pj@4s5^lybVp z9Tryb-_CLPZ_Wy==lj9)Y=h8ig=B=e2ceb? z*ockTh>cm(<81F?fL5kio%)Ux)*wO;4`mqx**`1OW^na((^C_5m4CO~C2BAHE81O- z0Dp*Ny_xit|Bl%xqa1Fy(b^DZWmykMr2_NV1fkWK9T4sUYM7=!HB6y`Qe$|}-)Z(D z)NB31{Eho?(z7N5=3fc@W2Cy3@%|H`*DBr_L^v*5Ym)+aJ|Ca|QKEqJq96fk(&E>w zG~FE+F!rqY#MqT|BkVj*ZX_xI%O6NyOaw^#{v?-eA*2EPCvrYSqg@w z#{tiCpmi;N;y-oT_;=&6JfHpQyWU~7&=D)Coc-i9!&m=#2||w{uQ4V0wX0|6h`|~L zE{IS6=rO<-SQ54B@PgqGX=U|0A}y5dAtRjiI6b^KS@!R;PbA!Z-OKn)#0aPf{Hh|FS^>c8Z2DC4i^W z%-RMHyeDnTI0T~_qgg~lsF|m^Fb%cgmT(K-)R91I!1(Qn{Z!DQ&2BSp2v8=NSmb{x zKR1MTdk}U^<0YuK@fU;vt7q7SuoCm5-E9I`#LDscpKTQI+i08s2QD(}?n{-8%C!D} zx(k?#Fw>wyu3)FDa&|VVZMTS9*~x|8sqKbvP?EL?;z7$X3m0G9C^ zOV*z<|N1D3f2r{QsM!2-0|wUde3X)4YRa3P3#g&X?G#LbdKVj>KQ%OK-N9te48RFw zU*vq5`I$eJRt8=1j~{R~^WEo}Z{v5K;-3r+SYbXdWSIZQ9Bj$@b1F!$ zW@G+W#mxWQApxsJ0|V9edC(dQP@_3cWhBD|oM*TRm0>=RV~{M>r9azk*{NiZcBWC8 zby`qL6}7Z7nAVN3BmdxkZYN=aLafx2A2Nn;_(nwxlB1AUp_RXFp%5Mj_D!fDQMy6Sfyb4z)41m~5b=l<%KHjT6Y9D{+B zif}d&dju1}v&O2nnc9IX@jOl+y^RY{=JntNRm;;)<)ysNWeC-tPM{=kvv0~SoWxDs z$D0giXd@*l>{8!<0m6U*_^Qm`NxRhV-eM)UmU`oBMJ@a}9`h%$`A<|m;CjujisS-b zqQ*jeOVUn{dozsgG{ZzdZOZ#5Fo;f_(0+aTegk=mf;=n+flIq#Ul4jQn^8kvf4-GsV;a9Qw? zadAVU=!`z|Jta8V5czL&bAKmIdm{qwU&1VeU$Hnl^S_6(82g`SFz_oZ&c+2S;&6l^ zt8VZz1`&2Ovtv3tLxB^+xQW6gB69FlG`wOHf+ zRrDd8#%OlI|1(UF!~cA^fQ|Ga5pjEsayml4#b9x#y`(Io2ksJtPJv&vaVc#^Gdi^Pf+54F2WI1#A=Dn$#=46rt9t zOTeihT;Udb)j-K<2AzT`g7_WFCd36SKMo)Pyv276rMi0&X6SmoV*H(eFw?SgQaOto zvoZfs;3K{en}0rCz;4msnEIvJ5o*MZbRZnVLe~Y%F{T&|Asmnm#I&3{0F}Q#N1x%K zj(&uVc+-6oFS04ZfMu6NpNk-5W&X=pCpQ0l!-0oHFITJ0_6!}CV-5j z1*73brgfrIOqOd0pkCv>#$1gdggyAcEeYKkA@f&2;by#&4ML(`<+nwsi0v}p#Gn(h zVXUZda~Fg`OIb{HK3(G`f6p<^aP#%LWYt`Pa+BWyC@Z?cP{O5*SqO)-SU>+ooPtne zN%gK~Ap2KA_ypZymbmB=9!jZhMBf$A=ZCH3xWaR(k z6cC*34nX1lry_J2%psgc55gIY>N|gqZzJ>@jR#MEgAEAhMMslUFL1Zm{0r#vA5XGkXO+{m0MH=_)nx^ zDvAwyTXvC{dU-#I3x9>C2cMpe3rNpB`yy?lzp_;GKu$yGG?4IA&BnWHRzY$Fb^z+$ zAEnh0i&2p6T>aZ`a~MLimF}aH`Oo6n?4G_d|Gi`LFE~9|loDqaEG>#<{)_s91IFbF#Yh$>jhPXMZUdq~RzgvC?G#e4x+%UQ6Sz zp&wxv-pm$vQLLjM#pYj(ynutUbpc7>Jq|(WG#Ukx{%NNkVGo`I)CdYQN{b3hPhw%@ ztvQ(-Kti+jc0uSeBJB>OarN$E%}BG7)HD7QOS4V4RPAxwxbRo3E?|!|FCBSH>Q0WRcI;J&o&YjQfR$^8-i*JN=3%Ds)~hMfU}Bxx%B2s`o?@Fu@Dju|qw57j%k zBYVJg1Q=$s*!+vt1(b=fW410poxxAA2Eu?Py+mlE8DTT#0dKQ|ajvSi^&eOe0S}lQ z4nUdS3+#z7-H5fy#3H{b*e-m8@d+|p0CD#$)6V{8(znGmsxd`865fN2` z(od=d92ZG%w@lMgPGli!9Foz~i@`s^<^esUM{ zF?03F-(vmros{b1>_h(~Bfu@x#O6PlqJU~{$c7)7+P)*2-#1`AkFQF@Pk-bEox{#F z#H?!(HsdbMl}k=i2cV39v3`ENMii?lv?6TGgFM4N`u9q#&;EXd4(`sy*{`%lE)t1J zzmv%Yl!=INUiLd6p~*eFA~abx3@KgU9<3uZhac)KZc6idFn@hRYO8P7(*;TW@fDq<`^(ylw*F5vxu+CVWm z0Otx{)LDO@p+a8?We6K_0NX^OW2dSwC+laGb(iHZ@E+^MoWIG;3{W!SuV?Q9)TuVg zbynLt^F(h%sN<`&gbeJ;q_K1}1)+wE`M@U96coVYJ?if+|0Z`3V8=wlsS|F<7| z-p&k!jd>_HXMd7W;1POb;BR>V1Y4MsJs{|8tG778DzF`&fc$o3r1E6@M86 zf6H4D_@Sc8H+5umE5pDFZe0P!#$Vo64wst^t!b=H2s4VtajPG>~pkMdDU z0&8)*?$Sx-#{55G%NY1u-q3(j5!T}kU?f*D;(Rw5sL$J$ub@X0iniuTT^|7d;h+=a z08(J&GM?a%8nWx5Esw_EqQCV*KFZbEuQLBfnI%Gb4E!yRXh18slbR!ygRJ*)_S872QbKk9^}Y=Rs>GNS-F%yV4L?rzUsH&gOx z{B_#+_u>fyl9W~GpWvr)=D#AK0o$`MH!i?AdlqpGt7{%wW!_9dsG!Z&AFT1MJ8T(g zI&gB_0P#^i4i6Ih^|U4`B}Mgl?!Rdo8+BkB;on|7Ot(9ih08|HQH3l?tQ~fp@hOn9!R?Oh5vNMKuWP@+Kn;8=sa* zMi}M;9_LQ3<}fzTVA}UkmuJ&gv4$Y5$8~&?OXFAXf0P4KDPp`tJzX-HYbVg7 zfw6`>=EnYzq0q~w?98t?hZ~s99PZ{m9^hdf;SnC;As*m9?qUwJxq)*yf?e2*RmRNX z?W2+EJfi%LV{39x{%c+1&(T~(74SU6SL4usMNI{|xFt6Pq0Gwohg`u|T%JH#fn7jU zqito7ep;x_E6A7bx;k{VV{2~AwedT#-=C?D&;Av=DsXu2Qh{_Qu#g+sNms0U3S>el zWrA87Xr+rmh8Uoa9=hqIgAO|Aq?;c47-Wb+x@e`5TB<28*fp0>MX%;N?9QET&Y#TP zOBw+_V22p>U%^uWN<>(br(7&Jr`-6ZJir02ymfN~s_Vpwplu}Ab5u_`M z+&jaqY#hU*+B4_S_#J0|16^^aU+e-@$6ytw=Qa*VIe{e4bB-3om`)$l3Z4=a>!*}y z^l9Co&vU+>w3K7xS7-lcG3*zwv5?>vyqvqz;Mf+~_qj#OV+if^P?L8!t+-9Unr>G$ z=;zE~p-0za&PslFv1-iqkJoreu#P|LI3StJU6*tPvR>k1w$R(Wi*9O)Bq=DQ=})E0 z9rm#Wm++F?DZt;Mz9rH_glE1LNJ4mFj0Cn}^$n~eu zN#^F;(*LkZ87sWi;Y~q-XLvET_Mtf z5~`Ta05kMIugU2=po@GHaPBLAG72o_5asA&*e_mTalnSU(_{oDVm~^Y{4<{7Vzx_@ z5AA1q0q8dQG5jgi(XBasg0LBX;h{9sPfWzaPU?4fJwx%?A20K|Kqbep1Q?yDeVK9t z!#vL|9HZNb6n&_lrsV`7D5aWuy0vVV;zjJiRXoE|50}V9fPQbWOMLdn%f2qK64y>t zGT^oKKjI<&$={g2lb6Gfh(EOulFGja0UCY))-oD4^7lkRkS>U5-ONVJ?#v-R36nwuoLGq zm)FuB;sgc!V*~&DSS!Z-;}sngEES=S-?Aj_M43=GkW7nS7xN^uIfLzWUqNbg*dUD- z(&7_m@TF8zLmkuUWXL7)IG@cqoNKwC_tGBRgr51Cf&V+~t)jX3?2lKrpy0|}rMFgs z314H4WQ31+j63)nd$GA&IIEk`HsVa$a2e%PQq44Ksi%oHdUfAG^_ZXk8sFnYZsZ7jr9j@E|X+h~aSnNnXv~`AT&W^VmEN z{Npuom4P~rTf%NWzcc?dD#uH(QzUK5xMv~UuO3*`h7z{3bL zBUS^ZA#9jdgU===DVWKRH~zOdl$to}k5|5&zyN3QX(60I0+@?15U~nSh0x4f8ZR^d z6x`JP!~XaAHPhp)KVJEE0{xt+`&UNtQ5{G*fZ0eIv(8pZyawTUC_aOZV*KxMEG@C| z$1DG^pmG93oS~c7^W+4wcL22r&rN0r;Gq5UIWji>cop6WbaJd7(>FTNWTD)o01eEa zoDLxAGBIA}5E^3Rk5{ocf$1E`(=IHPoLC3&FhXZU5U>VeeRsC-q%wY|+W0VgYQQfx z{&*FU6R2P(?sPdjqZ4HZ@E%?IERQl+Q~2@3wl+)zzi(7~zw6jaKlRx7<5hgXpa^U6 z7Z$i~ATcrauq#4CBnQxkaOvbp08;1vd;C!`{9@yeSFt()Eiz3fhwwleWR=Wy3~(jF zKqMAmC&E*Zzp_O(rte(jz3ij8{V~ZWUPbN(%A76A*EwBNhgA@p%$);x9ibrt3NRhv zM_G>x&jZxwBv7w$I^S@gY)tQs*Ca~_YS@}9`8c<3APJm;xSfIKpCN=hiue3aH~j@% z&JNVZL4Uj^e=IPQ-T5~krIAD_kxs07@PkUam>Bnn1b^}$c%hBB7 z&cYz$Bs5F|mhuaPS=1Pe`tC&dd+{0mQXb)CHlsc^{dlc7ZotiI>0@WkV4mBbYwZF~ z(ZZXR0inO@8~C^F7v$3HlVgyNQC{Lwe!`Gr?s32$uN4g&C{O#RA$H|F7TLQ1xK)o9 z8(;=gsnnys%a}q9?RpT$mi#yW=AR_V=on7qF#qH4?8ldwk`9)}rXQ~r(-D+r!~>^e zDL|goB)RjM=AQT6^wCRanrh$Ge3mccch35;b&e0Ym$Ud0D^rni@1?Qn$18RNC6rPr z!k0+eTdK0Ocesf|_(n$XzY)LTE?s?0Or*h&>XSY>=EC0PPR?dO)}e8X(~Av1Uhx_m z4Tx|J*tZcS-I3ahd7cNjhkJO4SJQxnWOgR*d=jp)5BqQ#hIyX{xR_t_eO7m9JZ`8T z8-Bdvom|FA{FE(Ng}O`=cg#LE{CLI7BnG&a zEC!J!UAfLIg}IYsSb9rX#D~1Xqs-=CoXd$E#Lj$^FES$q=Vb)>vDwEfUJ+t|FOw)Z zTPFcL$M@KpZ?OSi=L_`F%rvU}Xt~*x2J0uZeX5p0000 Date: Tue, 24 Jan 2023 14:56:00 +0800 Subject: [PATCH 2/2] Remove space --- docker/ostinato-wireshark/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/ostinato-wireshark/Dockerfile b/docker/ostinato-wireshark/Dockerfile index e4bb7f0..def7ee6 100644 --- a/docker/ostinato-wireshark/Dockerfile +++ b/docker/ostinato-wireshark/Dockerfile @@ -29,7 +29,7 @@ RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositori faenza-icon-theme \ bash \ && addgroup gns3 \ - && adduser -h /home/gns3 -s /bin/bash -S -D -G gns3 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