Я использовал 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?