Tcpdump


Назначение

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 операция перенаправления вывода в текстовый файл с перезаписыванием его содержимого (>) использует «нестандартную» буферизацию, вследствие чего в итоговом файле данные, выводимые первыми, могут оказаться в конце. По этой причиние следует использовать операцию перенаправления с дозаписыванием в конец файла (>>). Минус этого варианта в том, что если вы хотите получить новый отчет, нужно каждый раз проверять, что файла, в который вы перенаправляете вывод, не существует, или же он пуст.