Я запускаю Iperf через Wi-Fi, отправляя пакеты udp от клиента на сервер, и я перехватываю трафик с помощью Wireshark. Общее количество дейтаграмм, захваченных в Wireshark, меньше, чем отправлено с помощью Iperf. На основе порядкового номера должно быть возможно выяснить, какие кадры отсутствуют. Есть ли у Wireshark какой-нибудь маркер, который мог бы помочь мне найти пробелы, или есть какой-то другой способ его найти?
1 ответ
Я не использую версию Wireshark с поддержкой iperf , но я сделал то же самое с пакетами esp , которые могут оказаться полезными и которые я буду использовать для иллюстрации ниже. Вы, очевидно , нужно изменить команду tshark
ниже , чтобы удовлетворить ваши потребности Iperf. Я полагаю, что фильтр, вероятно, просто нужно изменить с -Y "esp"
на -Y "iperf2_udp"
а поле для печати, скорее всего, просто нужно изменить с -e esp.sequence"
на -e iperf2.udp.sequence"
, но у меня нет способа проверить и проверить это в данный момент, поэтому я оставляю это как упражнение для читателя.
В любом случае, есть 3 основных шага:
Используя
tshark
, сгенерируйте список всех порядковых номеров для соответствующего потока и сохраните его в файле .csv. В моем случае:tshark -r capture.pcap -Y "esp and ip.src eq 192.168.1.100" -T fields -e frame.number -e esp.sequence -E separator=, > esp_seq.csv
Импортируйте файл .csv в Excel (или ваше любимое программное обеспечение для работы с электронными таблицами) и добавьте столбец заголовка, чтобы он выглядел лучше, и вы знали, какой столбец какой. Это должно выглядеть примерно так:
A B C
1 Frame Seq#
2 2 7753
3 4 7754
4 6 7756
5 8 7757
В ячейку C3 добавьте формулу, чтобы указать, есть ли пробел, и затем примените эту формулу ко всем другим ячейкам в столбце C (кроме C2), перетащив маркер заполнения, например,
=IF(B3-B2=1,"","Missing")
Тебе следует увидеть:
A B C
1 Frame Seq#
2 2 7753
3 4 7754
4 6 7756 Missing
5 8 7757
Кредит: Кончик Excel пришли сюда, но с небольшим изменением , чтобы избежать "пропавших без вести" , появляющаяся в последней строке столбца C.