Ключевые слова:cisco, debug, traffic, tcpdump, sniffer, (найти похожие документы)
From: Misha Volodko <pablo@honey.org.ua.>
Date: Mon, 15 Jan 2010 17:02:14 +0000 (UTC)
Subject: Анализ трафика, проходящего через маршрутизатор Cisco
Оригинал: http://techoover.blogspot.com/2008/10/capture-on-cisco-ios-tcpdump-on-cisco.html
Чуть больше года назад, я уже писал о инструментах подобных tcpdump в cisco рутерах и
файрволлах. Напомню вкратце, для PIX/ASA существует удобный инструмент capture с помощью
которого можно захватывать и просматривать трафик, для IOS приходилось довольствоваться
командой дебаг предварительно уточнив её с помощью access-list.
В свежей версии IOS 12.4(20)Т появилась новый и удобный функционал решающий эту
проблему более элегантно. Конечно, версия достаточно новая и мало кто рискнет поставить её
в реальную работу, но рано или поздно функционал появится и в стабильных версиях.
Первым делом необходимо создать буфер в который будут складывается пойманные пакеты. Как
видно из команды ниже буферов может быть много и самых разных.
// buf1 - название буфера
// size и max-size - размер буфера и максимальный размер элемента в буфере, соответственно
// circular или linear - тип буфера, будут ли старые элементы вытеснятся новыми или нет
R2#monitor capture buffer buf1 size 256 max-size 256 circular
Далее создадим "точку ловли" (capture point), которая сообщит рутеру где ожидать трафика и
в каком направлении он будет двигаться.
// ip cef - метод коммутации, мы используем cef
// cappoint - название точки
// далее следует интерфейс на котором слушать и в каком направлении - в обоих
R2#monitor capture point ip cef cappoint fa 0/0 both
После создания, появится следующее сообщение с логах.
Oct 27 15:23:23.859: %BUFCAP-6-CREATE: Capture Point cappoint created.
Следующий шаг - ассоциация созданной точки с буфером, так как и точек и буферов может быть
достаточно большое количество, это просто указывает в какой буфер складывать пакеты.
// синтаксис просто, даже не знаю что писать - всё очевидно
R2#monitor capture point associate cappoint buf1
// Проверить конфигурацю можно следующей командой
R2#show monitor capture point all
Status Information for Capture Point cappoint
IPv4 CEF
Switch Path: IPv4 CEF , Capture Buffer: buf1
Status : Inactive
Configuration:
monitor capture point ip cef cappoint FastEthernet0/0 both
Всё готово для траблшута, осталось только включить. В данный момент статус - Inactive.
// Включаем. В данном случае all, но можно включить и отдельную "точку" по имени
R2#monitor capture point start all
Появится следующее сообщение в логах.
Oct 27 15:25:05.195: %BUFCAP-6-ENABLE: Capture Point cappoint enabled
Проверим статус еще раз, как можно заметить статус изменился на активный
R2#show monitor capture point all
Status Information for Capture Point cappoint
IPv4 CEF
Switch Path: IPv4 CEF , Capture Buffer: buf1
Status : Active
Configuration:
monitor capture point ip cef cappoint FastEthernet0/0 both
Посмотреть что же мы там наловили можно следующей командой
R2#show monitor capture buffer buf1 dump
15:29:24.251 UTC Oct 27 2008 : IPv4 CEF Turbo : Fa0/0 None
67BB35C0: CA000A00 0000C200 08340001 08004500 J.....B..4....E.
67BB35D0: 00640014 0000FE01 946E0A0A 0A020A0A .d....~..n......
67BB35E0: 0A010800 EEC20004 00000000 0000000F ....nB..........
67BB35F0: 8F74ABCD ABCDABCD ABCDABCD ABCDABCD .t+M+M+M+M+M+M+M
67BB3600: ABCDABCD ABCDABCD ABCDABCD ABCDABCD +M+M+M+M+M+M+M+M
67BB3610: ABCDABCD ABCDABCD ABCDABCD ABCDABCD +M+M+M+M+M+M+M+M
67BB3620: ABCDABCD ABCDABCD ABCDABCD ABCDABCD +M+M+M+M+M+M+M+M
67BB3630: ABCD00 +M.
15:29:24.251 UTC Oct 27 2008 : IPv4 LES CEF : Fa0/0 None
67BB35C0: CA000A00 0000C200 08340001 08004500 J.....B..4....E.
67BB35D0: 00640014 0000FE01 946E0A0A 0A020A0A .d....~..n......
67BB35E0: 0A010800 EEC20004 00000000 0000000F ....nB..........
67BB35F0: 8F74ABCD ABCDABCD ABCDABCD ABCDABCD .t+M+M+M+M+M+M+M
67BB3600: ABCDABCD ABCDABCD ABCDABCD ABCDABCD +M+M+M+M+M+M+M+M
67BB3610: ABCDABCD ABCDABCD ABCDABCD ABCDABCD +M+M+M+M+M+M+M+M
67BB3620: ABCDABCD ABCDABCD ABCDABCD ABCDABCD +M+M+M+M+M+M+M+M
67BB3630: ABCD00 +M.
Не слишком понятно, правда? А ведь это был обычный ping, ничего более. Для упрощения
анализа полученные данные можно экспортировать в формат pcap и анализировать на PC в
любимом инструменте, например wireshark.
//экспорт буфера, вариантов много - tftp, ftp, scp и другие Xtp :)
R2#monitor capture buffer buf1 export (куда)
Но всё таки чего-то не хватает, зачем например собирать данные со всего интерфейса если
интересует всего один IP и более того, только один протокол? Конечно решение есть. При
создании буфера можно указать фильтр для отбора пакетов из потока. Делается это с помощью
access-list.
R2#monitor capture buffer buf1 filter access-list (номер, имя)