@@ -214,47 +214,56 @@ def initialize_first_nodes(request_ips):
214
214
215
215
216
216
def initialize_json_first_nodes (
217
- request_ips , annotation_1 , annotation_2 , packet_1_proto , packet_2_proto ):
217
+ request_ips , annotation_1 , annotation_2 , packet_1_proto , packet_2_proto ,
218
+ packet_1_port , packet_2_port ):
218
219
# source_address = get_if_addr(conf.iface) #todo: xhdix
219
220
source_address = SOURCE_IP_ADDRESS
220
221
start_time = int (datetime .utcnow ().timestamp ())
221
222
for request_ip in request_ips :
222
223
measurement_data [0 ].append (
223
224
traceroute_data (
224
225
dst_addr = request_ip , annotation = annotation_1 ,
225
- src_addr = source_address , proto = packet_1_proto , timestamp = start_time
226
+ src_addr = source_address , proto = packet_1_proto , port = packet_1_port ,
227
+ timestamp = start_time
226
228
)
227
229
)
228
230
if have_2_packet :
229
231
measurement_data [1 ].append (
230
232
traceroute_data (
231
233
dst_addr = request_ip , annotation = annotation_2 ,
232
- src_addr = source_address , proto = packet_2_proto , timestamp = start_time
234
+ src_addr = source_address , proto = packet_2_proto , port = packet_2_port ,
235
+ timestamp = start_time
233
236
)
234
237
)
235
238
236
239
237
- def get_proto (request_packets ):
240
+ def get_packets_info (request_packets ):
238
241
packet_1_proto = ""
239
242
packet_2_proto = ""
243
+ packet_1_port = - 1
244
+ packet_2_port = - 1
240
245
if (request_packets [0 ]).haslayer (IP ):
241
246
packet_1_proto = "IP"
242
247
if (request_packets [0 ]).haslayer (TCP ):
243
248
packet_1_proto = "TCP"
249
+ packet_1_port = request_packets [0 ][TCP ].dport
244
250
elif (request_packets [0 ]).haslayer (UDP ):
245
251
packet_1_proto = "UDP"
252
+ packet_1_port = request_packets [0 ][UDP ].dport
246
253
elif (request_packets [0 ]).haslayer (ICMP ):
247
254
packet_1_proto = "ICMP"
248
255
if have_2_packet :
249
256
if (request_packets [1 ]).haslayer (IP ):
250
257
packet_2_proto = "IP"
251
258
if (request_packets [1 ]).haslayer (TCP ):
252
259
packet_2_proto = "TCP"
260
+ packet_2_port = request_packets [1 ][TCP ].dport
253
261
elif (request_packets [1 ]).haslayer (UDP ):
254
262
packet_2_proto = "UDP"
263
+ packet_2_port = request_packets [1 ][UDP ].dport
255
264
elif (request_packets [1 ]).haslayer (ICMP ):
256
265
packet_2_proto = "ICMP"
257
- return packet_1_proto , packet_2_proto
266
+ return packet_1_proto , packet_2_proto , packet_1_port , packet_2_port
258
267
259
268
260
269
def save_measurement_data (
@@ -352,10 +361,11 @@ def trace_route(
352
361
else :
353
362
measurement_name = "tracevis-" + datetime .utcnow ().strftime ("%Y%m%d-%H%M" )
354
363
repeat_all_steps = 0
355
- packet_1_proto , packet_2_proto = get_proto (request_packets )
364
+ packet_1_proto , packet_2_proto , packet_1_port , packet_2_port = get_packets_info (request_packets )
356
365
initialize_json_first_nodes (
357
366
request_ips = request_ips , annotation_1 = annotation_1 , annotation_2 = annotation_2 ,
358
- packet_1_proto = packet_1_proto , packet_2_proto = packet_2_proto
367
+ packet_1_proto = packet_1_proto , packet_2_proto = packet_2_proto ,
368
+ packet_1_port = packet_1_port , packet_2_port = packet_2_port
359
369
)
360
370
print ("- · - · - - · - · - - · - · - - · - · -" )
361
371
while repeat_all_steps < 3 :
0 commit comments