tcpdump

tcpdump
tcpdump
tcpdump console output
Вывод tcpdump на консоль
Тип

Сниффер

Разработчик

The Tcpdump team

Операционная система

Linux, Solaris, FreeBSD, NetBSD, OpenBSD, Mac OS X, Microsoft Windows

Последняя версия

4.2.1 (4 января 2012)

Лицензия

Лицензия BSD

Сайт

tcpdump.org

tcpdump (от TCP и англ. dump — свалка, сбрасывать) — утилита UNIX (есть клон для Windows), позволяющая перехватывать и анализировать сетевой трафик, проходящий через компьютер, на котором запущена данная программа.

Для выполнения программы требуется наличие прав суперпользователя и прямой доступ к устройству (так, например, запуск из Jail во FreeBSD невозможен).

Основные назначения tcpdump:

  • Отладка сетевых приложений.
  • Отладка сети и сетевой конфигурации в целом.

Описание:

SYN S Флаг, который используется при запросе на соединение.
ACK ack Используется при подтверждении пришедшего пакета.
FIN F Флаг устанавливается при нормальном закрытии соединения.
URGENT urg Этот флаг нужен при передаче экстренных данных - например, при посылке  Ctrl  +  C  в telnet-соединении.
PUSH P Как правило, данный флаг устанавливается при передаче пользовательских данных.
RESET R Немедленный разрыв соединения.
Заполнитель . (точка) В случае, если в пакете отсутствует какой-либо флаг используется данный заполнитель.

Содержание

Ключи

ключ описание
-a Преобразовывает сетевые и широковещательные адреса в доменные имена.
-e Отображает данные канального уровня (MAC-адрес, протокол, длина пакета). Помимо IP-адресов будут отображаться MAC-адреса компьютеров.
-F файл Использовать фильтр, находящийся в файле. Если вы используете этот параметр, фильтр из командной строки будет игнорироваться.
-i Указывает на то, какой сетевой интерфейс будет использоваться для захвата пакетов. По умолчанию — eth0, для выбора всех интерфейсов — any. Если отсутствует локальная сеть, то можно воспользоваться интерфейсом обратной связи lo.
-l Использовать стандартный потоковый вывод tcpdump (stdout), например для записи в файл:
shell# tcpdump -l | tee out.log //отобразит работу tcpdump и сохранит результат в файле out.log
-N Не добавляет доменное расширение к именам узлов. Например tcpdump отобразит 'net' вместо 'net.library.org'
-n Отображает IP-адрес вместо имени хоста.
-nn Отображает номер порта вместо используемого им протокола.
-p Не переводит интерфейс в режим приема всех пакетов (promiscuous mode).
-q Выводит минимум информации. Обычно это имя протокола, откуда и куда шел пакет, порты и количество переданных данных.
-r Этот параметр позволяет tcpdump прочесть трафик из файла, если он был предварительно сохранен параметром -w.
-S Позволяет не обрабатывать абсолютные порядковые номера (initial sequence number — ISN) в относительные.
-s число Количество байтов пакета, которые будет обрабатывать tcpdump. При установке большого числа отображаемых байтов информация может не уместиться на экране и её будет трудно изучать. В зависимости от того, какие цели вы преследуете, и следует выбирать значение этого параметра. По умолчанию tcpdump захватывает первые 68 байт (для SunOS минимум 96 байт), однако если вы хотите увидеть содержимое всего пакета, используйте значение в 1514 байт (максимально допустимый размер кадра в сети Ethernet).
-t Не отображает метку времени в каждой строке.
-T тип Интерпретация пакетов заданного типа. Поддерживаются типы aodv, cnfp, rpc, rtp, rtcp, snmp, tftp, vat, wb.
-tt Отображает неформатированную метку времени в каждой строке.
-tttt Показывает время вместе с датой.
-v Вывод подробной информации (TTL; ID; общая длина заголовка, а также его параметры; производит проверку контрольных сумм IP и ICMP-заголовков)
-vv Вывод ещё более полной информации, в основном касается NFS и SMB.
-vvv Вывод максимально подробной информации.
-w Сохраняет данные tcpdump в двоичном формате. Преимущества использования данного способа по сравнению с обычным перенаправлением в файл является высокая скорость записи и возможность чтения подобных данных другими программами, например snort, но этот файл нельзя прочитать человеку.
-x Делает распечатку пакета в шестнадцатеричной системе, полезно для более детального анализа пакета. Количество отображаемых данных зависит от параметра -s
-xx Тоже, что и предыдущий параметр -x, но включает в себя заголовок канального уровня
-X Выводит пакет в ASCII- и hex-формате. Полезно в случае анализа инцидента связанного со взломом, так как позволяет просмотреть какая текстовая информация передавалась во время соединения.
-XX Тоже, что и предыдущий параметр -X, но включает заголовок канального уровня.
-с число tcpdump завершит работу после получения указанного числа пакетов.

Примеры

Если tcpdump запустить без параметров, он будет выводить информацию обо всех сетевых пакетах. С помощью параметра -i можно указать сетевой интерфейс, с которого следует принимать данные:

# tcpdump -i eth2

Чтобы узнать получаемые или отправляемые пакеты от определенного хоста, необходимо его имя или IP-адресс указать после ключевого слова host:

# tcpdump host nameofserver

Следующим образом можно узнать о пакетах которыми обмениваются nameofserverA и nameofserverB:

# tcpdump host nameofserverA and nameofserverB

Для отслеживания только исходящих пакетов от какого-либо узла нужно указать следующее:

# tcpdump src host nameofserver

Только входящие пакеты:

# tcpdump dst host nameofserver

Порт отправителя и порт получателя соответственно:

# tcpdump dst port 80
# tcpdump src port 22

Чтобы отслеживать один из протоколов TCP, UDP, ICMP, его название следует указать в команде. Использование операторов and (&&), or (||) и not (!) позволяет задавать фильтры любой сложности.

Пример фильтра, отслеживающего только UDP-пакеты, приходящие из внешней сети:

# tcpdump udp and not src net localnet

Программная реализация

Программа состоит из двух основных частей: части захвата пакетов (обращение к библиотеке, libpcap (Unix) или pcap (Windows)) и части отображения захваченных пакетов (которая на уровне исходного кода является модульной и для поддержки нового протокола достаточно добавить новый модуль).

Часть захвата пакетов (при запуске) передаёт «выражение выбора пакетов» (идущее после всех параметров командной строки) напрямую библиотеке захвата пакетов, которая проверяет выражение на синтаксис, компилирует его (во внутренний формат данных), а затем копирует во внутренний буфер программы сетевые пакеты, проходящие через выбранный интерфейс и удовлетворяющие условиям в выражении.

Часть отображения пакетов выбирает захваченные пакеты по одному из буфера, заполняемого библиотекой, и выводит их (в воспринимаемом человеком виде) на стандартный вывод построчно, в соответствии с заданным (в командной строке) уровнем детальности.

Если задан подробный вывод пакетов, программа проверяет для каждого сетевого пакета, имеется ли у неё модуль расшифровки данных, и, в случае наличия, соответствующей подпрограммой извлекает (и отображает) тип пакета в протоколе или передаваемые в пакете параметры.

Кроссплатформенность

Изначально программа tcpdump была разработана для UNIX-подобных систем, позже — портирована на другие системы.

Для Windows в настоящее время известны:

  • tcpdump для Windows — коммерческая реализация, в виде одного файла tcpdump.exe
  • WinDump — реализация с открытым кодом, требующая установки библиотеки WinPcap (свободное ПО).

См. также

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "tcpdump" в других словарях:

  • Tcpdump — Saltar a navegación, búsqueda tcpdump es un herramienta en línea de comandos cuya utilidad principal es analizar el tráfico que circula por la red. Permite al usuario capturar y mostrar a tiempo real los paquetes transmitidos y recibidos en la… …   Wikipedia Español

  • tcpdump — es un herramienta en línea de comandos cuya utilidad principal es analizar el tráfico que circula por la red. Permite al usuario capturar y mostrar a tiempo real los paquetes transmitidos y recibidos en la red a la cual el ordenador está… …   Wikipedia Español

  • Tcpdump — Вывод tcpdump на консоль Тип Сниффер Разработчик The Tcpdump team ОС …   Википедия

  • Tcpdump — Entwickler Das Tcpdump Team Aktuelle Version 4.1.1 (5. April 2010) Aktuelle Vorabversion 4.2.0 (24. Juli 2011) Betriebssystem Unix Derivate Kategorie …   Deutsch Wikipedia

  • Tcpdump — Résultat de tcpdump en console …   Wikipédia en Français

  • tcpdump — Résultat de tcpdump en console …   Wikipédia en Français

  • TCPDump — es una herramienta de diagnóstico para redes TCP/IP basada en salida textual, que monitoriza los paquetes que entran y salen de una interfaz de red, y los presenta en formato legible, comúnmente denominado sniffer. No es intrínsecamente peligroso …   Wikipedia Español

  • Tcpdump — Infobox Software name = tcpdump caption = tcpdump console output developer = The Tcpdump team latest release version = 3.9.7 latest release date = July 24, 2007 operating system = Linux, Solaris, FreeBSD, NetBSD, OpenBSD, Mac OS X, additional… …   Wikipedia

  • Windump — Tcpdump Entwickler: Das Tcpdump Team Aktuelle Version: 4.0.0 (27. Oktober 2008) Betriebssystem: Unix Derivate Kategorie …   Deutsch Wikipedia

  • pcap — libpcap Developer(s) The Tcpdump team Stable release 1.1.1 / April 7, 2010; 19 months ago (2010 04 07) Operating system Linux, Solaris, FreeBSD, NetB …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»