11set -o errexit
22set -o pipefail
33
4- tshark \
4+ # Wireshark's Debian build silently disables -X lua_script: when running as root,
5+ # so all tshark calls below run as the unprivileged 'tester' user via runuser.
6+ # Give that user write access to the working directory for json output files.
7+ chown -R tester:tester .
8+
9+ port=$( runuser -u tester -- tshark -r " omi-data-packets/B3/BinaryEntryPoint.v8.1/EstablishMessage.pcap" -c 1 -T fields -e udp.dstport 2> /dev/null | tr -d ' [:space:]' )
10+
11+ runuser -u tester -- tshark \
512 -r " omi-data-packets/B3/BinaryEntryPoint.v8.1/EstablishMessage.pcap" \
613 -X " lua_script:B3/B3_B3Derivatives_BinaryEntryPoint_Sbe_v8_1_Dissector.lua" \
14+ -d " udp.port==$port ,b3.b3derivatives.binaryentrypoint.sbe.v8.1.lua" \
715 -T json \
816 > B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.EstablishMessage.json 2> B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.EstablishMessage.json.stderr \
917 || { echo " --- tshark FAILED (EstablishMessage) ---" ; cat B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.EstablishMessage.json.stderr; exit 1; }
1018if [ -s B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.EstablishMessage.json.stderr ]; then echo " --- tshark stderr (EstablishMessage) ---" ; cat B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.EstablishMessage.json.stderr; fi
1119echo " --- tshark diagnostic (EstablishMessage) ---"
12- tshark -v | head -n 1
1320echo " json bytes: $( wc -c < B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.EstablishMessage.json) "
1421echo " frame count: $( grep -c ' \"_index\"' B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.EstablishMessage.json || true) "
15- echo " layer keys (frame 0):"
22+ echo " frame.protocols: $( grep -oE ' \"frame.protocols\": \"[^\"]+\"' B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.EstablishMessage.json | head -n 1) "
23+ echo " layer keys:"
1624grep -oE ' "[a-z0-9_.]+":' B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.EstablishMessage.json | sort -u | head -n 40
17- echo " json head:"
18- head -c 1500 B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.EstablishMessage.json; echo
1925
2026grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.sessionid" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.EstablishMessage.json
2127grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.sessionverid" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.EstablishMessage.json
@@ -25,21 +31,22 @@ grep "b3.b3derivatives.binaryentrypoint.sbe.v8.1.nextseqno" B3.B3Derivatives.Bin
2531grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.cancelondisconnecttype" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.EstablishMessage.json
2632grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.offset33padding1" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.EstablishMessage.json
2733grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.codtimeoutwindow" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.EstablishMessage.json
28- tshark \
34+ port=$( runuser -u tester -- tshark -r " omi-data-packets/B3/BinaryEntryPoint.v8.1/ExecutionReportNewMessage.pcap" -c 1 -T fields -e udp.dstport 2> /dev/null | tr -d ' [:space:]' )
35+
36+ runuser -u tester -- tshark \
2937 -r " omi-data-packets/B3/BinaryEntryPoint.v8.1/ExecutionReportNewMessage.pcap" \
3038 -X " lua_script:B3/B3_B3Derivatives_BinaryEntryPoint_Sbe_v8_1_Dissector.lua" \
39+ -d " udp.port==$port ,b3.b3derivatives.binaryentrypoint.sbe.v8.1.lua" \
3140 -T json \
3241 > B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportNewMessage.json 2> B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportNewMessage.json.stderr \
3342 || { echo " --- tshark FAILED (ExecutionReportNewMessage) ---" ; cat B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportNewMessage.json.stderr; exit 1; }
3443if [ -s B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportNewMessage.json.stderr ]; then echo " --- tshark stderr (ExecutionReportNewMessage) ---" ; cat B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportNewMessage.json.stderr; fi
3544echo " --- tshark diagnostic (ExecutionReportNewMessage) ---"
36- tshark -v | head -n 1
3745echo " json bytes: $( wc -c < B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportNewMessage.json) "
3846echo " frame count: $( grep -c ' \"_index\"' B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportNewMessage.json || true) "
39- echo " layer keys (frame 0):"
47+ echo " frame.protocols: $( grep -oE ' \"frame.protocols\": \"[^\"]+\"' B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportNewMessage.json | head -n 1) "
48+ echo " layer keys:"
4049grep -oE ' "[a-z0-9_.]+":' B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportNewMessage.json | sort -u | head -n 40
41- echo " json head:"
42- head -c 1500 B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportNewMessage.json; echo
4350
4451grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.side" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportNewMessage.json
4552grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.ordstatus" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportNewMessage.json
@@ -72,21 +79,22 @@ grep "b3.b3derivatives.binaryentrypoint.sbe.v8.1.crossprioritization" B3.B3Deriv
7279grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.mmprotectionresetbooleanoptional" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportNewMessage.json
7380grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.offset165padding3" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportNewMessage.json
7481grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.strategyid" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportNewMessage.json
75- tshark \
82+ port=$( runuser -u tester -- tshark -r " omi-data-packets/B3/BinaryEntryPoint.v8.1/ExecutionReportTradeMessage.pcap" -c 1 -T fields -e udp.dstport 2> /dev/null | tr -d ' [:space:]' )
83+
84+ runuser -u tester -- tshark \
7685 -r " omi-data-packets/B3/BinaryEntryPoint.v8.1/ExecutionReportTradeMessage.pcap" \
7786 -X " lua_script:B3/B3_B3Derivatives_BinaryEntryPoint_Sbe_v8_1_Dissector.lua" \
87+ -d " udp.port==$port ,b3.b3derivatives.binaryentrypoint.sbe.v8.1.lua" \
7888 -T json \
7989 > B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportTradeMessage.json 2> B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportTradeMessage.json.stderr \
8090 || { echo " --- tshark FAILED (ExecutionReportTradeMessage) ---" ; cat B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportTradeMessage.json.stderr; exit 1; }
8191if [ -s B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportTradeMessage.json.stderr ]; then echo " --- tshark stderr (ExecutionReportTradeMessage) ---" ; cat B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportTradeMessage.json.stderr; fi
8292echo " --- tshark diagnostic (ExecutionReportTradeMessage) ---"
83- tshark -v | head -n 1
8493echo " json bytes: $( wc -c < B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportTradeMessage.json) "
8594echo " frame count: $( grep -c ' \"_index\"' B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportTradeMessage.json || true) "
86- echo " layer keys (frame 0):"
95+ echo " frame.protocols: $( grep -oE ' \"frame.protocols\": \"[^\"]+\"' B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportTradeMessage.json | head -n 1) "
96+ echo " layer keys:"
8797grep -oE ' "[a-z0-9_.]+":' B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportTradeMessage.json | sort -u | head -n 40
88- echo " json head:"
89- head -c 1500 B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportTradeMessage.json; echo
9098
9199grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.side" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportTradeMessage.json
92100grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.ordstatus" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportTradeMessage.json
@@ -122,42 +130,44 @@ grep "b3.b3derivatives.binaryentrypoint.sbe.v8.1.crosstype" B3.B3Derivatives.Bin
122130grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.crossprioritization" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportTradeMessage.json
123131grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.offset159padding1" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportTradeMessage.json
124132grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.strategyid" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.ExecutionReportTradeMessage.json
125- tshark \
133+ port=$( runuser -u tester -- tshark -r " omi-data-packets/B3/BinaryEntryPoint.v8.1/NegotiateMessage.pcap" -c 1 -T fields -e udp.dstport 2> /dev/null | tr -d ' [:space:]' )
134+
135+ runuser -u tester -- tshark \
126136 -r " omi-data-packets/B3/BinaryEntryPoint.v8.1/NegotiateMessage.pcap" \
127137 -X " lua_script:B3/B3_B3Derivatives_BinaryEntryPoint_Sbe_v8_1_Dissector.lua" \
138+ -d " udp.port==$port ,b3.b3derivatives.binaryentrypoint.sbe.v8.1.lua" \
128139 -T json \
129140 > B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.NegotiateMessage.json 2> B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.NegotiateMessage.json.stderr \
130141 || { echo " --- tshark FAILED (NegotiateMessage) ---" ; cat B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.NegotiateMessage.json.stderr; exit 1; }
131142if [ -s B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.NegotiateMessage.json.stderr ]; then echo " --- tshark stderr (NegotiateMessage) ---" ; cat B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.NegotiateMessage.json.stderr; fi
132143echo " --- tshark diagnostic (NegotiateMessage) ---"
133- tshark -v | head -n 1
134144echo " json bytes: $( wc -c < B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.NegotiateMessage.json) "
135145echo " frame count: $( grep -c ' \"_index\"' B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.NegotiateMessage.json || true) "
136- echo " layer keys (frame 0):"
146+ echo " frame.protocols: $( grep -oE ' \"frame.protocols\": \"[^\"]+\"' B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.NegotiateMessage.json | head -n 1) "
147+ echo " layer keys:"
137148grep -oE ' "[a-z0-9_.]+":' B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.NegotiateMessage.json | sort -u | head -n 40
138- echo " json head:"
139- head -c 1500 B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.NegotiateMessage.json; echo
140149
141150grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.sessionid" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.NegotiateMessage.json
142151grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.sessionverid" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.NegotiateMessage.json
143152grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.timestamp" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.NegotiateMessage.json
144153grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.enteringfirm" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.NegotiateMessage.json
145154grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.onbehalffirm" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.NegotiateMessage.json
146- tshark \
155+ port=$( runuser -u tester -- tshark -r " omi-data-packets/B3/BinaryEntryPoint.v8.1/SimpleModifyOrderMessage.pcap" -c 1 -T fields -e udp.dstport 2> /dev/null | tr -d ' [:space:]' )
156+
157+ runuser -u tester -- tshark \
147158 -r " omi-data-packets/B3/BinaryEntryPoint.v8.1/SimpleModifyOrderMessage.pcap" \
148159 -X " lua_script:B3/B3_B3Derivatives_BinaryEntryPoint_Sbe_v8_1_Dissector.lua" \
160+ -d " udp.port==$port ,b3.b3derivatives.binaryentrypoint.sbe.v8.1.lua" \
149161 -T json \
150162 > B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleModifyOrderMessage.json 2> B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleModifyOrderMessage.json.stderr \
151163 || { echo " --- tshark FAILED (SimpleModifyOrderMessage) ---" ; cat B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleModifyOrderMessage.json.stderr; exit 1; }
152164if [ -s B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleModifyOrderMessage.json.stderr ]; then echo " --- tshark stderr (SimpleModifyOrderMessage) ---" ; cat B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleModifyOrderMessage.json.stderr; fi
153165echo " --- tshark diagnostic (SimpleModifyOrderMessage) ---"
154- tshark -v | head -n 1
155166echo " json bytes: $( wc -c < B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleModifyOrderMessage.json) "
156167echo " frame count: $( grep -c ' \"_index\"' B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleModifyOrderMessage.json || true) "
157- echo " layer keys (frame 0):"
168+ echo " frame.protocols: $( grep -oE ' \"frame.protocols\": \"[^\"]+\"' B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleModifyOrderMessage.json | head -n 1) "
169+ echo " layer keys:"
158170grep -oE ' "[a-z0-9_.]+":' B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleModifyOrderMessage.json | sort -u | head -n 40
159- echo " json head:"
160- head -c 1500 B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleModifyOrderMessage.json; echo
161171
162172grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.ordtagid" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleModifyOrderMessage.json
163173grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.mmprotectionresetboolean" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleModifyOrderMessage.json
@@ -175,21 +185,22 @@ grep "b3.b3derivatives.binaryentrypoint.sbe.v8.1.orderqty" B3.B3Derivatives.Bina
175185grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.priceoptional" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleModifyOrderMessage.json
176186grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.orderidoptional" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleModifyOrderMessage.json
177187grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.origclordid" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleModifyOrderMessage.json
178- tshark \
188+ port=$( runuser -u tester -- tshark -r " omi-data-packets/B3/BinaryEntryPoint.v8.1/SimpleNewOrderMessage.pcap" -c 1 -T fields -e udp.dstport 2> /dev/null | tr -d ' [:space:]' )
189+
190+ runuser -u tester -- tshark \
179191 -r " omi-data-packets/B3/BinaryEntryPoint.v8.1/SimpleNewOrderMessage.pcap" \
180192 -X " lua_script:B3/B3_B3Derivatives_BinaryEntryPoint_Sbe_v8_1_Dissector.lua" \
193+ -d " udp.port==$port ,b3.b3derivatives.binaryentrypoint.sbe.v8.1.lua" \
181194 -T json \
182195 > B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleNewOrderMessage.json 2> B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleNewOrderMessage.json.stderr \
183196 || { echo " --- tshark FAILED (SimpleNewOrderMessage) ---" ; cat B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleNewOrderMessage.json.stderr; exit 1; }
184197if [ -s B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleNewOrderMessage.json.stderr ]; then echo " --- tshark stderr (SimpleNewOrderMessage) ---" ; cat B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleNewOrderMessage.json.stderr; fi
185198echo " --- tshark diagnostic (SimpleNewOrderMessage) ---"
186- tshark -v | head -n 1
187199echo " json bytes: $( wc -c < B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleNewOrderMessage.json) "
188200echo " frame count: $( grep -c ' \"_index\"' B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleNewOrderMessage.json || true) "
189- echo " layer keys (frame 0):"
201+ echo " frame.protocols: $( grep -oE ' \"frame.protocols\": \"[^\"]+\"' B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleNewOrderMessage.json | head -n 1) "
202+ echo " layer keys:"
190203grep -oE ' "[a-z0-9_.]+":' B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleNewOrderMessage.json | sort -u | head -n 40
191- echo " json head:"
192- head -c 1500 B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleNewOrderMessage.json; echo
193204
194205grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.ordtagid" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleNewOrderMessage.json
195206grep " b3.b3derivatives.binaryentrypoint.sbe.v8.1.mmprotectionresetboolean" B3.B3Derivatives.BinaryEntryPoint.Sbe.v8.1.SimpleNewOrderMessage.json
0 commit comments