Показать страницуИстория страницыСсылки сюдаCopy this pageExport to MarkdownODT преобразованиеНаверх Вы загрузили старую версию документа! Сохранив её, вы создадите новую текущую версию с этим содержимым. Медиафайлы{{tag>shell networks networking network utils}} ====== tcpdump ====== ==== Параметры ==== * host * src * dst * net * port, portrange 21-23 * icmp * ip, ip6 ==== Ключи ==== * -i - Прослушиваемый интерфейс * port 9000, port 80 * -A - выводить все пакеты в формате ASCII; * -c - закрыть программу после перехвата n-ого количества пакетов; * -C - при записи пакетов в файл, проверять размер файла, и если он больше заданного - создать новый файл; * -D - вывести список доступных сетевых интерфейсов; * -e - выводить информацию уровня соединения для каждого пакета, это может быть полезно, например, для отображения MAC адреса; * -f - выводить доменное имя для ip адресов; * -F - читать пакеты из файла, а не интерфейса; * -G - создавать новый файл лога через указанный промежуток времени; * -H - обнаруживать заголовки 802.11s; * -i - имя интерфейса для перехвата пакетов. Вы можете захватывать пакеты со всех интерфейсов, для этого укажите any; * -I - переключить интерфейс в режим монитора для захвата всех проходящих пакетов; * -j - установить формат Timestamp для записи пакетов; * -J - посмотреть доступные Timestamp; * -K - не проверять контрольные суммы пакетов; * -l - добавить поддержку прокрутки к выводу; * -L - вывести поддерживаемые протоколы подключения для интерфейса; * -n - не отображать доменные имена; * -r - прочитать пакеты из файла, созданного с помощью -w; * -v, -vv, -vvv - более подробный вывод; * -q - выводить минимум информации; * -w - записать вывод в файл; * -Z - пользователь, от имени которого будут создаваться файлы. ===== Примеры ===== === Анализ DNS трафика === <code bash> $ tcpdump -i eth0 -s0 -w resolv.pcap port 53 </code> === Анализ трафика HTTP сервера === <code bash> $ tcpdump -An tcp port 80 </code> === Анализ PHP-FPM на 9000 порту === <code bash> $ tcpdump -nAs 20000 -i lo tcp port 9000 </code> === Анализирует траффик удаленно через SSH с помощью Wireshark === <code bash>$ ssh root@HOST tcpdump -U -s0 -w - 'not port 22' | wireshark -k -i -</code> === UDP трафик с и на IP xxx.xxx.xxx.251 destined for port 5060: === <code bash>$ tcpdump -nnvvS udp and host xxx.xxx.xxx.251 and dst port 5060</code> === Записать в файл mbill251 весь трафик с хоста xxx.xxx.xxx.251 за исключением трафика ssh === <code bash>$ tcpdump -n -i eth0 host xxx.xxx.xxx.251 -vvv and not port 22 -w /home/mbill251</code> === Прослушать порт 5060 с ip xxx.xxx.xxx.251 === <code bash> $ tcpdump -i eth0 -n -s 0 port 5060 and host xxx.xxx.xxx.251 -vvv -w /usr/local/tcpdumplog/log $ tcpdump -i eth0 -n -s 0 port 1720 and host xxx.xxx.xxx.251 -vvv -w /usr/local/tcpdumplog </code> === H.323 сигналинг ловим с двух IP. В таком виде с двух IP отказалось снимать, может быть OR нужно было поставить. === <code bash>$ tcpdump -i eth0 -n -s 0 port 1720 and host xxx.xxx.164.1 and host xxx.xxx.107.1 -vvv -w /usr/local/tcpdumplog/logfile</code> === перечислить доступные интерфейсы (которые можно прослушивать при помощи опции -i) === <code bash>$ tcpdump -D</code> === посмотреть трафик одного хоста: === <code bash>$ tcpdump host 1.2.3.4</code> === посмотреть трафик на порте: === <code bash>$ tcpdump src port 80</code> === посмотреть IP трафик на хост: === <code bash>$ tcpdump ip host 1.2.3.4</code> === посмотреть ARP трафик на хост: === <code bash>$ tcpdump arp host 1.2.3.4</code> === посмотреть RARP трафик на хост: === <code bash>$ tcpdump rarp host 1.2.3.4</code> === посмотреть трафик, кроме хоста unixserver: === <code bash>$ tcpdump not host unixserver</code> ==== посмотреть трафик на server1 и server2 ==== <code bash>$ tcpdump host server1 or host server2</code> === посмотреть содержимое пакетов на интерфейсе tun0 на хост ya.ru === <code bash>$ tcpdump -X -i tun0 host ya.ru</code> === подсмотреть номера и пароли к icq === <code bash>$ tcpdump -X -i fxp1 port aol</code> === посмотреть содержимое пакетов на интерфейсе tun0 на хост ya.ru === посмотреть содержимое пакетов на интерфейсе tun0 на хост ya.ru, при этом прочитать из каждого пакета по 1500 байт и не преобразовывать IP в имя хоста tcpdump -X -s 1500 -n -i tun0 host ya.ru ===== Анализ ===== * tcpdump -n -i eth0 -l | tee resolv.pcap * затем Wireshark ===== Ссылки ===== * http://www.lexpr.ru/tcpdump * http://storm.in.ua/a2/analiz-setevogo-trafika-s-pomoschyu-Tcpdump.html * http://www.inattack.ru/article/analiz-trafika-pri-pomoschi-tcpdump-chas/266.html#.UIpnsYKCgUA * СохранитьПросмотрРазличияОтменить Сводка изменений Примечание: редактируя эту страницу, вы соглашаетесь на использование своего вклада на условиях следующей лицензии: CC0 1.0 Universal