tcpdump на интерфейсе режима монитора - ничего не записано

Я использовал tcpdump (версия 4.1.1) для попытки захватить беспроводные кадры из интерфейса режима монитора , настроенного airmon -ng . Я говорю «попытка», потому что пока ничего не происходит. Это очень странно:

tcpdump -i mon0

Приведенная выше команда работает нормально. Я вижу все маяки, запросы зондов и все остальные кадры, которые только можно вообразить, на моем экране. Однако, когда я пытаюсь записать вывод в файл захвата, используя

tcpdump -i mon0 -w captures.cap

абсолютно , ничего не захватывается, включая пакеты уровня 3, содержащие фактические данные . Когда я убиваю tcpdump, он дает мне

13507 захваченных пакетов
cap

абсолютно ничего не захватывается, включая пакеты уровня 3, содержащие фактические данные . Когда я убиваю tcpdump, он дает мне

13507 захваченных пакетов
cap

абсолютно ничего не захватывается, включая пакеты уровня 3, содержащие фактические данные . Когда я убиваю tcpdump, он дает мне

13507 захваченных пакетов
13507 packets received by filter
0 пакетов, отброшенных ядром

(13507 - произвольное число в данном случае) и полностью пустой файл захвата.

Однако, когда я выполняю захват с помощью tshark или wirehark на том же интерфейсе, кадры захватываются в файлы без каких-либо

Я бы предпочел использовать tcpdump вместо wirehark, поскольку у него нет накладных расходов графического интерфейса и есть опция "-z", которая позволяет мне взять файл захвата и передать его сценарию оболочки, который копирует его на другой компьютер в моей сети. Подобной функциональности нет у tshark или wirehark, и я бы очень хотел избежать написания программы для проверки существования файла захвата.

Есть ли у меня фундаментальное непонимание того, как работает tcpdump, или есть что-то странное? происходит здесь? Может быть, есть лучший способ сделать то, что я? m или мне придется написать свою собственную программу захвата на основе libpcap?

5
задан Elliptical view 29 December 2018 в 14:09
поделиться