Site Tools


tcpdump
  • -D Список интерфейсов
  • -n Не преобразовывать ip и порт в имя.
  • -s размер пакета. По умолчанию только 96 байт. Если задать -s0 то размер будет не ограничен (Следует использовать для сниффинга данных)
  • -i[any] Указываем интерфейс для работы
  • -w Запись вывода в файл
  • -q Более сокращенный вывод чем по умолчанию
  • -v[v[v]] Более подробный вывод (до 3х -vvv)
  • -A Выводить содержимое пакета в текст (ASCII)
  • -x[x] Вывод в 16 ричном значение (со второй x выводит и пакеты канального уровня(arp))
  • -X[X] Вывод в 16 ричном и текстовомя (ASCII) значение (со второй X выводит и пакеты канального уровня(arp))
  • -t[t[t[t]]]] одна t, не выводит даты 2) время выводится в секундах от начала UNIX эры, 3) выводится информация о том, сколько прошло микросекунд после предыдущей строки, 4) обычный формат (год-месяц-число час:мин:сек.микросек)
  • -с колличество пакетов после которого програма завершает работу
  • -p Выключить promiscous mode который позволяет слушать пакеты не адресованные этой карте.
  • -nn не резолвить ip и порт

Типы:

  • host, net, port, portrange

Направление

  • src, dst, src or dst, src and dst

Протокол

  • tcp, udp, ip, icmp, icmp6, ether, wlan, ip6, arp, и другие

Примитивы

  • and, or, not
Слушаем все на 80 порту
tcpdump tcp port 80
Слушаем входящее к нам на 80-ый порт
tcpdump dst host 192.168.0.101 and dst port 80

127.0.0.0 или localhost могут не подойти, так как нужно прописавать то, что указано в IP загаловках.

Слушаем входящее к нам на 80-ый и 21 порт
tcpdump dst host 192.168.0.101 and \( dst port 80 or dst port 21 \)
Слушаем 25 порт от ip 78.108.86.237
tcpdump -A src host 78.108.86.237 and dst port 25
Читаем содержание пакетов
tcpdump -X port 21

Примеры

Получаем список топ отправителей пакетов в нашей сети.

tcpdump -tnn -c 20000 | awk -F "." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -n | awk ' $1 > 100 '

Или

tcpdump -nnqt -c20000 | awk '{print $2 " > " $4}' | sort | uniq -c | sort -n

Запись мызыки из потока

tcpdump -w - src myMusicHost.ru > test.mp3 
mplayer test.mp3

Подключемся по SSH и запускаем tcpdump на удаленном хосте а анализируем на локальном wireshark

ssh root@HOST tcpdump -iany -U -s0 -w - 'not port 22' | wireshark -k -i -

UDP flood

tcpdump -i eth1 -nn -c 1000 'udp'

Без 22 и арпов

tcpdump -n  not port 22 and not arp

Остальное

less xxx
Истина, если размер пакета меньше xxx
greater
Истина, если размер пакета больше xxx
ip broadcast
Истина, если пакет отправлен на широковещательный IP адрес
ether multicast
Истина, если пакет направлен на мультикастный канальный адрес. Ключевое слово ether можно опустить. Данный примитив эквивалентен ether[0] & 1 != 0.
ip multicast
Истина, если пакет направлен на мультикастный IPv4 адрес

Discussion

Constantin Conovaloff, 2014/10/02 02:54
broadcast or multicast

tcpdump -nn -A “broadcast or multicast”

Constantin Conovaloff, 2015/02/15 23:44
1. To monitor HTTP traffic including request and response headers and message body:

tcpdump -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'

2. To monitor HTTP traffic including request and response headers and message body from a particular source:

tcpdump -A -s 0 'src example.com and tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'

3. To monitor HTTP traffic including request and response headers and message body from local host to local host:

tcpdump -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' -i lo

4. To only include HTTP requests, modify “tcp port 80” to “tcp dst port 80” in above commands

5. Capture TCP packets from local host to local host

tcpdump -i lo
You could leave a comment if you were logged in.
tcpdump.txt · Last modified: 2013/12/16 19:25 by conovaloff

Page Tools