Tcpdump представляет собой утилиту командной строки для наблюдения за передаваемыми и получаемыми через определенный интерфейс TCP/IP пакетами.
Tcpdump не является стандартной утилитой Windows. Изначально UNIX приложение, со временем он был портирован и под Windows. Проект, в рамках которого осуществляется портирование, известен как WinDump.
Для использовния Tcpdump следует сначала загрузить и установить библиотеку WinPcap. После этого по тому же адресу нужно загрузить исполняемый файл Tcpdump, который называется WinDump.exe.
Tcpdump запускается командой следующего вида:
windump.exe -x -s N_байт фильтр
Все дополнительные параметры являются необязательными.
При запуске без параметров Tcpdump выводит краткую информационную строку для каждого TCP/IP пакета, проходящего через основной сетевой интерфейс компьютера, на котором он выполняется.
Если указана опция -x, помимо краткой информационной строки, выводится заголовок и часть данных каждого пакета в виде октетов.
Опция -s, при включенной опции -x, позволяет указывать, сколько именно байт данных от начала пакета следует выводить.
Установка фильтра позволяет ограничить наблюдаемый трафик. Например, можно использовать фильтр:
host имя_узла
В этом случае будет выводиться информация только о тех пакетах, которые адресованы указанному узлу или получены от него.
Стандартное поведение Tcpdump предполагает вывод всех данных на экран, что неудобно при больших объемах информации. Иногда его вывод целесообразно перенаправлять в текстовый файл. Например, так:
tcpdump -x -s 1024 host www.demos.ru >> dump.txt
К сожалению, в Windows операция перенаправления вывода в текстовый файл с перезаписыванием его содержимого (>) использует «нестандартную» буферизацию, вследствие чего в итоговом файле данные, выводимые первыми, могут оказаться в конце. По этой причиние следует использовать операцию перенаправления с дозаписыванием в конец файла (>>). Минус этого варианта в том, что если вы хотите получить новый отчет, нужно каждый раз проверять, что файла, в который вы перенаправляете вывод, не существует, или же он пуст.