Чуть больше года назад, я уже писал о инструментах подобных 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 (номер, имя)
Со временем обрывки знаний и умений становится все труднее удержать в голове. Они расползаются по уголкам памяти заполняя все свободное место. Извлекать необходимое на свет становится все сложнее. Этот блог - рабочая записная книжка.
Subscribe to:
Post Comments (Atom)
4 comments:
начиная с версии 12.4(20)T1 появилась фича Embedded Packet Capture
доступна для рутеров начиная с 871 по 7301 во всех имджах
Это оно и есть.
не плохо, попробуем при случае.
Супер статья! Подписался на RSS, буду следить =)
Post a Comment