Я читаю PCAP с tshark. В документации указано, что пакеты относятся к определенной дате (12 января).
При использовании Wireshark (используется на двух разных компьютерах) данные tshark и tcpdump относятся к 1 декабря, но того же года, поэтому мне кажется, что существует проблема с форматом данных (гггг/мм/дд и гггг/дд/мм) .
Возможно ли, что настройки моего компьютера испортили временную метку, отображаемую после прочтения pcap, или может быть проблема с документацией?
@SteffenUllrich, я использую формат дд/мм/гггг. У меня вопрос: может ли информация pcap о временной метке быть неверно истолкована из-за настроек моего компьютера? Я не знаю, как хранится эта информация.
В pcap нет ничего, что можно было бы неправильно истолковать. Он просто дает количество секунд и микросекунд с момента 70/1/1 для каждого пакета. Ни часового пояса, ни локали. Это исключительно проблема с отображением.
@SteffenUllrich, ок, временная метка pcap — это собственный магазин, соответствующий эпохе Unix. tshark показывает временную метку, равную 1 декабря, в то время как в документации указывается 12 января в качестве даты временной метки, поскольку временная метка PCAP отображается как эпоха unix, Wireshark не может неправильно интерпретировать временную метку из-за настроек компьютера (зона, локаль и т. д.). Я прав?
Зона и локаль влияют на отображение времени, но это не «неправильная интерпретация», а ожидаемый результат. Если это не то, что вам нужно, вам необходимо соответствующим образом настроить параметры системы или приложения.
поэтому временная метка pcap является собственным хранилищем эпохи Unix
Да. См. спецификацию pcap.
tshark показывает временную метку, равную 1 декабря, в то время как в документации указывается 12 января в качестве даты временной метки, поскольку временная метка PCAP отображается как эпоха unix, Wireshark не может неправильно интерпретировать временную метку из-за настроек компьютера (зона, локаль и т. д.).
Настройка часового пояса может влиять на отображение метки времени, но это очень странная настройка, которая может быть даже невозможна! - не должно иметь разницы в 43 дня.
Настройка локали не повлияет на то, как tcpdump, Wireshark или TShark отображают дату; они всегда отображают даты года/месяца/дня в формате ГГГГ-ММ-ДД, а не в формате ММ ДД ГГГГ или ММ-ДД-ГГГГ или ММ/ДД/ГГГГ или ДД ММ ГГГГ или ДД-ММ-ГГГГ или ДД/ММ/ГГГГ.
Вы можете попробовать запустить tcpdump с опцией -tt
, выбрать «Просмотр» > «Формат отображения времени» > «Секунды с 1970-01-01» в Wireshark или запустить TShark с -t e
. Это приведет к тому, что дата будет отображаться в секундах с начала эпохи UN*X. Попробуйте преобразовать это в дату и время; если в результате будут получены даты 1 декабря, а не 12 января, это означает, что даты в файле не 12 января.
Формат отображения даты является настройкой локали для ОС или учетной записи и не имеет ничего общего с тем, что находится внутри файла pcap, а также с документацией. Поэтому проверьте настройки локали. Детали зависят от ОС, здесь ничего не известно, что вы используете.