вторник, 2 июля 2013 г.

tcpdump

tcpdump

Туториал: http://danielmiessler.com/study/tcpdump/


ключ описание
-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 завершит работу после получения указанного числа пакетов.

-E
Расшифровать IPsec трафик с помощью указанного ключа

Задает использование алгоритма и секрета spi@ipaddr для расшифровки пакетов IPsec ESP, направленных по адресу ipaddr и содержащих and в поле Security Parameter Index значение
spi. Комбинация spi и адреса может быть повторена с использованием в качестве разделителя запятой или новой строки. Отметим, что установка секрета для пакетов IPv4 ESP в
настоящее время поддерживается.
В качестве алгоритмов могут использоваться des-cbc, 3des-cbc, blowfish-cbc, rc3-cbc, cast128-cbc или none. По умолчанию применяется алгоритм des-cbc. Возможность дешифровки
пакетов обеспечивается только в тех случаях, когда при компиляции tcpdump были включены опции поддержки криптографии.
Параметр secret содержит ASCII-текст секретного ключа ESP. Если секрет начинается с символов 0x, будет считываться шестнадцатеричное значение. Опция предполагает использование
ESP в соответствии с RFC 2406, а не RFC 1827. Эта опция поддерживается только для отладки и использовать ее с реальными секретными ключами не следует, поскольку введенный в
командной строке ключ IPsec доступен другим пользователям системы4.
Кроме явного указания параметров в командной строке их можно задать в файле опций, который tcpdump будет читать при получении первого пакета ESP.

Примеры:

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

# tcpdump udp and not src net localnet

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

# tcpdump dst port 80
# tcpdump src port 22
 
Только исходящие пакеты на хост:
 
# tcpdump dst host nameofserver  
 
Для отслеживания только исходящих пакетов от какого-либо узла нужно указать следующее:
 
# tcpdump src host nameofserver 

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

 tcpdump -c 10 port 22

11:16:00.653037 IP server.domain.com.ssh > ppp-static8-32.proc22.ru.25971: P 232:412(180) ack 1 win 12298

11:16:00.653037 - Время с точностью до миллионной доли секунды

IP server.domain.com.ssh > ppp-static8-32.proc22.ru.25971 - Адрес и порт отправки и назначения

P 232:412(180) - 180 кол-во байт. P - флаг пакета

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

Selective Acknowledgment Permitted (SackOK)

Формат TCP пакета:

data-seqno - описывает данные, содержащиеся в пакете, в формате first:last, где first и  last номера последовательностей (sequence number) первого и последнего байта передаваемых данных nbytes.

Sequence number - идентифицирует байт в потоке данных от отправляющего TCP к принимающему TCP. Если мы представим поток байтов, текущий в одном направлении между двумя приложениями, TCP нумерует каждый байт номером последовательности. Номер последовательности представляет собой 32-битное беззнаковое число, которое переходит через 0, по достижению значения 232 - 1.

ack - следующий номер последовательности

window - размер окна

options - доп сведения, напр максимальный размер сегмента <mss 1460>

length - длина пакета


tcpdump -s 1514 -w test.dmp -i eth0

Комментариев нет:

Отправить комментарий