Wireshark угадает, какие протоколы более высокого уровня используются в пакете, но как я могу заставить tcpdump сделать то же самое (или любой другой инструмент командной строки Linux)?
Например, , на следующем снимке экрана показано, что wirehark обнаруживает "HTTP" в качестве захваченного протокола: http://www.tohir.co.za/wp-content/uploads/2010/09/wireshark_filters.png
Однако в выводе cli tcpdump просто говорится, что это протокол "IP", а это не false, но мне нужен инструмент, который может определить, какой общий протокол более высокого уровня используется.
Основная цель tcpdumps - перехват пакетов. Это нужно делать быстро, так как вы не хотите пропускать пакеты.
Основное назначение Wiresharks - анализ пакетов. Для анализа у вас обычно достаточно времени. Для захвата (в Windows) wirehark использует специальный драйвер, который также просто видит пакеты «IP».
Таким образом, tcpdump и wirehark - это просто разные инструменты для разных задач. Но они прекрасно работают вместе.