отмена
Отображаются результаты для 
Вместо этого искать 
Вы имели в виду: 

Использование Ethanalyzer на Nexus платформе для анализа трафика

[toc:faq]

Введение:

Ethanalyzer является инструментом анализа протоколов в операционной системе Cisco NX-OS, основанным на открытом исходном коде  Wireshark (ранее Ethereal). Ethanalyzer имеет интерфейс в виде командной строки и позволяет захватывать и анализировать трафик control-plane. Данный документ описывает настройку Ethanalyzer, примеры его применения и использование Ethanalyzer вместе с опцией ACLs "log" для захвата data-plane трафика.

Настройка:

Для настройки Ethanalyzer используются следующие команды и параметры:

Command

Purpose

ethanalyzer local interface

Захватывает пакеты, отправленные или полученные супервизором и предоставляет детальную информацию о протоколах.

ethanalyzer local interface inband

Захватывает пакеты,   отправленные или полученные супервизором и предоставляет детальную информацию   о протоколах на входящем интерфейсе.

ethanalyzer local interface mgmt

Захватывает пакеты,   отправленные или полученные супервизором и предоставляет детальную информацию   о протоколах на интерфейсе управления (management).

ethanalyzer local interface   {inband | mgmt} brief

Захватывает пакеты,   отправленные или полученные супервизором и предоставляет обобщенную   информацию о протоколах.

ethanalyzer local interface   {inband | mgmt} limit-captured-frames

Ограничивает   количество захватываемых пакетов.

ethanalyzer local interface   {inband | mgmt} limit-frame-size

Ограничивает длину захватываемого фрейма.

ethanalyzer local interface   {inband | mgmt} capture-filter

Отфильтровывает тип захватываемых пакетов.

ethanalyzer local interface   {inband | mgmt} display-filter

Отфильтровывает   отображаемые пакеты из захваченных.

ethanalyzer local interface   {inband | mgmt} decode-internal

Декодирует внутренний   заголовок фрейма в Cisco NX-OS.

Примечание Не используйте данную опцию, если вы   планируете после исследовать данные с использованием Wireshark вместо Ethanalyzer.

ethanalyzer local interface   {inband | mgmt} write

Сохраняет захваченные данные в файл.

ethanalyzer local read

Открывает   файл с собранными данными для его исследования.

Фильтрация:


Поддерживаются два типа фильтров:

1.
capture-filter: стандартный синтаксис фильтра tcmdump для захватываемых пакетов:

tcp/udp port <>, src/dst portrange <>, src/dst port <>, src/dst host <>, src/dst net <>, less/greater <>, vlan etc …

2. display-filter:
стандартный синтаксис wireshark для фильтрации отображаемых пакетов:

ip.src==x.x.x.x,  frame.len > x, http.request.uri == http://www.wireshark.org/


Вывод собранной информации:

Данные о собранных пакетах могут быть записаны для упрощения анализа:

Nexus7000# ethanalyzer local read ?
  bootflash:, logflash:, slot0:, usb1:, usb2:, volatile:

1. Сохранение результатов ethanalyzer в файл на bootflash:

Nexus7000# ethanalyzer local interface inband write bootflash:sniff_capture

2. Чтение результатов ethanalyzer из файла на bootflash: (вы можете также добавить символ “|” в конце для фильтрации):

Nexus7000# ethanalyzer local read bootflash:sniff_capture

Ограничения и улучшения при сохранении в файл:

Размер файла установлен в 10485. В результате, даже если у вас есть достаточно места на flash модуле, пакеты перестанут сохраняться при превышении данного размера.

Switch# ethanalyzer local interface inband  capture-filter " ip proto 89" limit-captured-frames 0 write logflash:ospf.pcap
Capturing on inband
81342
2560 packets  dropped

ACL и Ethanalyzer при анализе данных Data Plane:

Ethanalyzer захватывает только трафик на CPU, соответственно кажется неподходящим решением для анализа трафика на data-plane. Однако, данное ограничение можно обойти применением ACL логирования для захвата определенных пакетов с data-plane.

Особенности Nexus 7000 ACL:


  • Nexus 7000 ACL применяются аппаратным движком на скорость соединения;
  • Для классификации доступен достаточно большое количество аппаратных ресурсов - 64K CL TCAM значения;
  • ACL могут использовать классификацию на основе отдельных IP или MAC параметров, включая L4 протокол и номера портов, длину пакета и т.д.

Когда мы используем ACLs с параметром “log”, записи контроля доступа (ACEs) с таким параметром заставляют систему отправлять копию соответствующим им пакетов на CPU супервизора. Главной особенностью здесь является то, что исходный трафик отправляется или отбрасывается в аппаратной части без ухудшения производительности. Обратите внимание, что копии пакетов, отправленные на CPU, подвержены hardware rate limiter’у, который ограничивает входящую нагрузку на CPU.

Команда hardware rate-limit access-list-log позволяет изменить порог данного ограничения (100 pps по умолчанию).

Параметр "log" может быть использован как с permit, так и с deny записями ACL. Системный журнал syslog выводит соответствующие сообщения:

  n7010# 2008 Sep 15 19:21:00 n7010 %$ VDC-1 %$ %ACLLOG-6-ACLLOG_FLOW_INTERVAL: Source IP: 10.1.1.2, Destination IP: 10.1.2.2, Source Port: 1024, Destination Port: 40000, Source Interface: Ethernet1/1, protocol: "TCP"(6),  Hit-count = 6224

Подробный анализ пакетов

1. Задайте запись ACL с логированием, соответствующую интересующему нас трафику

ip access-list acl-cap
  permit tcp 10.1.1.3/32 10.1.2.2/32 eq 5000 log
  permit ip any any

2. Настройте ACL на интерфейсе

interface e1/1
  ip access-group acl-cap in

3. Задайте фильтры захвата и/или вывода ethanalyzer для получения только необходимого трафика

ethanalyzer local interface inband capture-filter “tcp port 5000”

Все пакеты, соответствующие записям ACL с log параметром, будут скопированы на CPU – используйте фильтры захвата/вывода для получения только подмножества интересующего вас трафика.

4. Выведите захваченные данные на устройстве, или скопируйте на PC для анализа в графическом интерфейсе Wireshark

Пример – сокращенное декодирование на устройстве

  n7010# ethanalyzer local interface inband brief capture-filter "tcp port 5000" limit-cap 3
   Capturing on eth0
   2008-09-16 18:36:08.315736     10.1.1.3 -> 10.1.2.2     TCP 5000 > 5000 [ACK] Seq=0 Ack=0 Win=4096 Len=454
   2008-09-16 18:36:08.988747     10.1.1.3 -> 10.1.2.2     TCP [TCP Retransmission] 5000 > 5000 [ACK] Seq=0 Ack=0 Win=4096 Len=454
   2008-09-16 18:36:09.873360     10.1.1.3 -> 10.1.2.2     TCP [TCP Retransmission] 5000 > 5000 [ACK] Seq=0 Ack=0 Win=4096 Len=454
   3 packets captured
   n7010#

Пример – полное декодирование на устройстве

  n7010# ethanalyzer local interface inband capture-filter "tcp port 5000" limit-captured-frames 1 | no-more
   Capturing on eth0
   Frame 1 (508 bytes on wire, 508 bytes captured)
     Arrival Time: Sep 16, 2008 18:33:12.138957000
     [Time delta from previous captured frame: 1221615192.138957000 seconds]
     [Time delta from previous displayed frame: 1221615192.138957000 seconds]
     [Time since reference or first frame: 1221615192.138957000 seconds]
     Frame Number: 1
     Frame Length: 508 bytes
     Capture Length: 508 bytes
     [Protocols in frame: eth:ip:tcp:data]
   Ethernet II, Src: 00:1b:54:c2:40:41 (00:1b:54:c2:40:41), Dst: 00:10:94:00:00:02 (00:10:94:00:00:02)
   <…>
   Internet Protocol, Src: 10.1.1.3 (10.1.1.3), Dst: 10.1.2.2 (10.1.2.2)
     Version: 4
     Header length: 20 bytes
     Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
   <…>
     Source: 10.1.1.3 (10.1.1.3)
     Destination: 10.1.2.2 (10.1.2.2)
   Transmission Control Protocol, Src Port: 5000 (5000), Dst Port: 5000 (5000), Seq: 0, Ack: 0, Len: 454
     Source port: 5000 (5000)
     Destination port: 5000 (5000)
<…>

Пример – сохранение данных в файл

  n7010# ethanalyzer local interface inband capture-filter "tcp port 5000" limit-captured-frames 50 write bootflash:test.cap   //используйте опцию “write” для отправки захваченных фреймов в файл flash file.
Capturing on eth0
   50
   n7010# dir test.cap
       26224     Sep 16 18:40:08 2008  test.cap
   Usage for bootflash://sup-local
    1138716672 bytes used
     671182848 bytes free
    1809899520 bytes total
   n7010# copy bootflash: scp: //скопируйте cap файл с устройства на PC для просмотра в графическом интерфейсе wireshark.
   Enter source filename: test.cap
   Enter vrf (If no input, current vrf 'default' is considered): management
   Enter hostname for the scp server: dove
   Enter username: tstevens
   Password: ***
   test.cap                                  100%   26KB  25.6KB/s   00:00
   n7010#

Примеры фильтров

1. Обобщенные данные при захвате четырех пакетов на интерфейсе управления:

switch(config)# ethanalyzer local interface mgmt brief limit-captured-frames 4
Capturing on eth1

2008-02-18 13:21:21.841182 172.28.230.2 -> 224.0.0.2 HSRP Hello (state Standy)

2008-02-18 13:21:21.842190 10.86.249.17 -> 172.28.231.193 TCP 4261 > telnet [AC] Seq=0 Ack=0 Win=64475 Len=0

2008-02-18 13:21:21.843039 172.28.231.193 -> 10.86.249.17 TELNET Telnet Data ..

2008-02-18 13:21:21.850463 00:13:5f:1c:ee:80 -> ab:00:00:02:00:00 0x6002 DEC DN

Remote Console

4 packets captured


2.Полные данные при захвате одного
HSRP пакета:

switch(config)# ethanalyzer local interface mgmt capture-filter "udp port 1985"
limit-captured-frames 1

Capturing on eth1

Frame 1 (62 bytes on wire, 62 bytes captured)

Arrival Time: Feb 18, 2008 13:29:19.961280000

[Time delta from previous captured frame: 1203341359.961280000 seconds]

[Time delta from previous displayed frame: 1203341359.961280000 seconds]

[Time since reference or first frame: 1203341359.961280000 seconds]

Frame Number: 1

Frame Length: 62 bytes

Capture Length: 62 bytes

[Frame is marked: False]

[Protocols in frame: eth:ip:udp:hsrp]

Ethernet II, Src: 00:00:0c:07:ac:01 (00:00:0c:07:ac:01), Dst: 01:00:5e:00:00:02

(01:00:5e:00:00:02)

Destination: 01:00:5e:00:00:02 (01:00:5e:00:00:02)

Address: 01:00:5e:00:00:02 (01:00:5e:00:00:02)

.... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)

.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)

Source: 00:00:0c:07:ac:01 (00:00:0c:07:ac:01)

Address: 00:00:0c:07:ac:01 (00:00:0c:07:ac:01)

.... ...0 .... .... .... .... = IG bit: Individual address (unicast)

.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)

Type: IP (0x0800)

Internet Protocol, Src: 172.28.230.3 (172.28.230.3), Dst: 224.0.0.2 (224.0.0.2)

Version: 4

Header length: 20 bytes

Differentiated Services Field: 0xc0 (DSCP 0x30: Class Selector 6; ECN: 0x00)

1100 00.. = Differentiated Services Codepoint: Class Selector 6 (0x30)

.... ..0. = ECN-Capable Transport (ECT): 0

.... ...0 = ECN-CE: 0

Total Length: 48

Identification: 0x0000 (0)

Flags: 0x00

0... = Reserved bit: Not set

.0.. = Don't fragment: Not set

..0. = More fragments: Not set

Fragment offset: 0

Time to live: 1

Protocol: UDP (0x11)

Header checksum: 0x46db [correct]

[Good: True]

[Bad : False]

Source: 172.28.230.3 (172.28.230.3)

Destination: 224.0.0.2 (224.0.0.2)

User Datagram Protocol, Src Port: 1985 (1985), Dst Port: 1985 (1985)

Source port: 1985 (1985)

Destination port: 1985 (1985)

Length: 28

Checksum: 0x8ab9 [correct]

[Good Checksum: True]

[Bad Checksum: False]

Cisco Hot Standby Router Protocol

Version: 0

Op Code: Hello (0)

State: Active (16)

Hellotime: Default (3)

Holdtime: Default (10)

Priority: 105

Group: 1

Reserved: 0Authentication Data: Default (cisco)

Virtual IP Address: 172.28.230.1 (172.28.230.1)

1 packets captured


3. Этот пример использует фильтр вывода для отображения только тех
HSRP пакетов, которые имеют активный HSRP статус:

switch(config)# ethanalyzer local interface mgmt brief display-filter "hsrp.state==Active" limit-captured-frames 2
Capturing on eth1

2008-02-18 14:35:41.443118 172.28.230.3 -> 224.0.0.2 HSRP Hello (state Active)

2008-02-18 14:35:44.326892 172.28.230.3 -> 224.0.0.2 HSRP Hello (state Active)

2 packets captured

4. Другие варианты часто встречающихся фильтров при анализе трафика control-plane на Nexus:

ethanalyzer local interface mgmt capture-filter “dst host 172.16.185.1”
ethanalyzer local interface inband capture-filter “stp”
ethanalyzer local interface inband decode-internal capture-filter “stp”
ethanalyzer local interface inband capture-filter “stp” limit-frame-size 64
ethanalyzer local interface inband capture-filter “icmp and host 10.10.10.1” limit-captured-frames 1000 write bootflash:icmp

1020
Просмотры
0
Полезный материал
0
Комментарии