Рассчитать задержку между отправленными и полученными пакетами с помощью iperf3 и tcpdump?

Я написал код bash для запуска iperf3 и захвата пакетов. Затем я извлек время кадра из файла .pcap с помощью tshark. Время указано в следующем формате: 27 января 2020 г., 13:22:12,683438000 CET.

Теперь я хочу рассчитать разницу во времени между отправленными и полученными пакетами, но я не знаю, как вычесть время в этом формате. Какой тип переменной я должен использовать, чтобы я мог выполнить вычитание.

Я также использовал библиотеку datetime, но не получил результатов.


person Nehal    schedule 27.01.2020    source источник


Ответы (1)


проверьте, могут ли строки ниже помочь вам

from datetime import datetime
from pytz import timezone

CET = timezone('CET')

send_time = datetime.strptime('11:18:57.925 Wed Jan 5 2019', '%H:%M:%S.%f %a %b %d %Y')
print(send_time.astimezone(CET))
difference_from_now = send_time.astimezone(CET) - datetime.now().astimezone(CET)
print(difference_from_now)

received_time = datetime.strptime('08:18:57.925 Mon Jan 20 2020', '%H:%M:%S.%f %a %b %d %Y')
print(received_time.astimezone(CET))

difference_send_received = send_time.astimezone(CET) - received_time.astimezone(CET)

print(difference_send_received)
person Hietsh Kumar    schedule 27.01.2020
comment
Я хочу, чтобы время было в формате 27 января 2020 г. 13:22:12,683438000 CET, который имеет 9 цифр после запятой в секундах. Как я могу это сделать? - person Nehal; 28.01.2020
comment
@Nehal, ваш вопрос о том, как получить разницу, надеюсь, мой код ответит на него, для разных, и разница не может быть именем зоны, она всегда будет в днях, минутах, секундах, годах и т. д., в форматировании могут помочь следующие ссылки .. . pytz.sourceforge.net и docs.python.org/3/library/datetime.html - person Hietsh Kumar; 01.02.2020