Я использую Wireshark. Я перехватывал пакеты с помощью FCS, используя wireshark, и сохранял их в файл pcap на жестком диске. Во время выполнения он может знать, включена FCS или нет. Но я сомневаюсь, что когда я открываю сохраненный файл pcap с помощью wireshark, как он узнает, захвачен ли сохраненный файл с помощью FCS или нет? Как wireshark различает файлы с помощью FCS? Есть ли какая-либо переменная в файле pcap, чтобы знать это?
Как WireShark узнает, что сохраненные файлы Pcap включают FCS или нет?
Ответы (1)
когда я открываю сохраненный файл pcap с помощью wireshark, как он узнает, захвачен ли сохраненный файл с помощью FCS или нет?
Он не знает. Он предполагает на основе:
- какова длина фактического пакета, отправляемого через Ethernet (например, пакеты IPv4 имеют поле «общая длина»);
- длина пакета Ethernet (он может быть длиннее, чем требуется для фактического пакета, поскольку пакеты Ethernet должны иметь длину не менее 64 октетов, включая заголовок Ethernet, полезную нагрузку Ethernet и FCS).
Если пакет Ethernet выглядит на 4 октета длиннее, чем он был бы без FCS, Wireshark предполагает, что эти 4 октета и есть FCS.
Как wireshark различает файлы с помощью FCS?
Некоторые форматы файлов всегда включают FCS, некоторые форматы файлов никогда не включают FCS, а некоторые форматы файлов, такие как pcap, могут включать или не включать FCS. Код, обрабатывающий различные форматы файлов захвата, указывает на это коду в Wireshark, который фактически считывает файлы.
Есть ли какая-либо переменная в файле pcap, чтобы знать это?
К сожалению, нет, поэтому Wireshark приходится догадываться.
В случае 802.11 существуют пакеты управления, мы не можем знать точную длину пакетов, поскольку существуют информационные элементы переменной длины. В таком случае, как Wireshark угадывает FCS?
Это не так.
Для 802.11, как и для Ethernet, некоторые форматы файлов всегда включают FCS, некоторые форматы файлов никогда не включают FCS, а некоторые форматы файлов, такие как pcap, могут включать или не включать FCS. Код, обрабатывающий различные форматы файлов захвата, указывает на это коду в Wireshark, который фактически считывает файлы.
Для форматов файлов, которые могут включать или не включать FCS:
- если в пакетах нет заголовка метаданных radiotap перед заголовком 802.11, Wireshark проверяет предпочтение, которое пользователь должен установить (вы не можете указать это в файле);
- если пакеты есть, имеют заголовок radiotap и включают Flags, Wireshark проверяет флаг «кадр включает FCS» в этом поле.