Jump to content
Калькуляторы

Фильтрация вывода команды Cisco

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

dial-peer voice 100 voip
 description #TEST#
 destination-pattern .T
 session target ipv4:1.1.1.1

Причем необходимо найти только те диал-пиры, у которых в session target указан один конкретный ip-адрес. Я никак не могу разобраться, какое регулярное выражение для этого составить и вообще возможно ли это. Этот поиск нужно выполнить на куче железок с разными версиями IOS, в том числе древними, так что IOS shell не получится активировать на всем оборудовании. Прошу вашей помощи!

Edited by Marker

Share this post


Link to post
Share on other sites

Забрать конфиги каким-нить снмп, а там уже grep/awk/sed/etc.

Share this post


Link to post
Share on other sites

ну вообщем да - используй символ | и дальше нужный параметр, например i - include, ex - exclude, s - section. только проверь перед этим, есть ли vrf на циске - sh vrf

Share this post


Link to post
Share on other sites

На IOS XR с парсингом все гораздо лучше, если у вас xr, то как минимум четверть правил регялрки работают.

Share this post


Link to post
Share on other sites

dial peer на XR ? )))

в общем тут только

show run | inc dial-peer|ipv4:1.1.1.1

 

правда это будет или. 

но структура вывода будет такая.

строчка по диалпир

если будет матч, то вторая с session, если не будет матча то следом будет след диал пир..

Share this post


Link to post
Share on other sites

 Там у incl кучка ключей есть, полезных, в т.ч. и выводить несколько строк соседних.

Share this post


Link to post
Share on other sites

 Где-то так,  C1700 Software (C1700-SY7-M), Version 12.3(9b)

 

Вывод  sho runn | begin Ethernet

interface FastEthernet0/0
 description "Internal network"
 bandwidth 100000
 ip address 10.10.10.49 255.255.255.240 secondary
 ip address 10.10.14.1 255.255.255.252 secondary
 ip address 10.10.14.9 255.255.255.252 secondary
 ip address 10.10.14.13 255.255.255.252 secondary
 ip address 10.10.10.229 255.255.255.252 secondary
 ip address 10.10.10.233 255.255.255.252 secondary
 ip address 10.10.10.225 255.255.255.252 secondary
 ip address 10.10.10.1 255.255.255.224 secondary

 no ip proxy-arp
 ip accounting output-packets
 no ip mroute-cache
 speed auto
 full-duplex
 arp timeout 1200
 no cdp enable
 hold-queue 600 in
 hold-queue 200 out
!

 

 Ну и все остальные эзерненты.

Share this post


Link to post
Share on other sites

 Вдогон - от иоса вроде не зависит, просто надо помнить что кроме incl есть еще и begin(и еще кое-что). Конфиг и логи кисок структурированы сурово, посему даже без ios sh с его грепом можно выгрести нужное достаточно просто. А иос - да вроде любой с 12й версии должон.

Share this post


Link to post
Share on other sites

Чо бегин ему даст? Если он хочет получить строчку с диалпиром, где есть сессия с определённым ипом.

Share this post


Link to post
Share on other sites
4 часа назад, YuryD сказал:

 Вдогон - от иоса вроде не зависит

Ну, скажем, | section появилась относительно недавно.

 

Так что только получать конфиг на tftp и парсить на сервере.

Share this post


Link to post
Share on other sites
26 минут назад, zhenya` сказал:

Чо бегин ему даст? Если он хочет получить строчку с диалпиром, где есть сессия с определённым ипом.

 Ему даст секцию конфига пиров. Чтобы знать, где искать. Дальше конечно - весь конфиг и анализ на столе.

Share this post


Link to post
Share on other sites
В 12/10/2017 в 01:27, kapydan сказал:

ну вообщем да - используй символ | и дальше нужный параметр, например i - include, ex - exclude, s - section. только проверь перед этим, есть ли vrf на циске - sh vrf

Какая нахрне разница, есть ли врф или нет?

Share this post


Link to post
Share on other sites
9 часов назад, myst сказал:

Какая нахрне разница, есть ли врф или нет?

Ну так, на всякий случай. Мало ли есть. Тогда, значит, перед нами крутая циска. Я бы потом проверил, есть ли на ней BFD, а вы?

Share this post


Link to post
Share on other sites
В 10.12.2017 в 17:20, zhenya` сказал:

Чо бегин ему даст? Если он хочет получить строчку с диалпиром, где есть сессия с определённым ипом.

sho runn | begin session target ipv4:1.1.1.1 и получить все секции конфига полностью, где это попадется.

Share this post


Link to post
Share on other sites
35 минут назад, YuryD сказал:

begin session target ipv4:1.1.1.1

А разве так у него просто не вывалится весь конфиг после session target ipv4:1.1.1.1 ?

Я уже написал как надо. У меня просто кошки голосовой нет, чтоб проверить. А автор что-то ничего не отвечает :)

 

Share this post


Link to post
Share on other sites
52 минуты назад, Butch3r сказал:

А разве так у него просто не вывалится весь конфиг после session target ipv4:1.1.1.1 ?

Я уже написал как надо. У меня просто кошки голосовой нет, чтоб проверить. А автор что-то ничего не отвечает :)

 

 Потерялся автор :) А весь конфиг - отчего ? Нет совпадений внутри секции конфига - не будет и вывода секции ? И да, неохота голосовую со склада доставать. Про диалпиров - у меня их немного было....

Ну потестил конфиг с бегин на предмет next-hop  - на 7206 выдало все секции конфига с ним, заодно и зависимые тоже, зачем попал туда радиус  и прочие ntp... В общем - begin в | реально мне помогает, секцию нарыть, а то полисимапов много....

Share this post


Link to post
Share on other sites

Бегин от первого вхождения до самого конца даёт конфиг.

 

  begin     Begin with the line that matches
 

а вот к примеру inc с or

show running-config | include (^interface Gigabit|^.ip address)
interface GigabitEthernet0/0
interface GigabitEthernet0/0.10
 ip address 192.168.10.1 255.255.254.0
interface GigabitEthernet0/0.20
 ip address 192.168.20.1 255.255.254.0
interface GigabitEthernet0/0.60
 ip address 192.168.60.1 255.255.255.0
interface GigabitEthernet0/0.100
 ip address 192.168.100.1 255.255.255.0
interface GigabitEthernet0/0.600
 ip address 192.168.200.1 255.255.255.0
interface GigabitEthernet0/0.999
 ip address 192.168.61.1 255.255.255.128
interface GigabitEthernet0/0.1000
 ip address 192.168.61.129 255.255.255.128
interface GigabitEthernet0/1
interface GigabitEthernet0/1.101
 ip address 1.2.3.4 255.255.255.0
interface GigabitEthernet0/1.102
 

 

Share this post


Link to post
Share on other sites
17 часов назад, vurd сказал:

Ну так, на всякий случай. Мало ли есть. Тогда, значит, перед нами крутая циска. Я бы потом проверил, есть ли на ней BFD, а вы?

А причем тут крутизна циски если топик про фильтрацию и все выводится по sh run?

Share this post


Link to post
Share on other sites
В 12/7/2017 в 12:54, Marker сказал:

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


dial-peer voice 100 voip
 description #TEST#
 destination-pattern .T
 session target ipv4:1.1.1.1

Причем необходимо найти только те диал-пиры, у которых в session target указан один конкретный ip-адрес. Я никак не могу разобраться, какое регулярное выражение для этого составить и вообще возможно ли это. Этот поиск нужно выполнить на куче железок с разными версиями IOS, в том числе древними, так что IOS shell не получится активировать на всем оборудовании. Прошу вашей помощи!

Как уже продемонстрировали выше:

 

show run | sect ^dial-peer voice .* voip|^ descr|^ destination T\.|^ session target ipv4:1.1.1.1

выведутся все диалпиры, но session target будет показан только у тех, где совпадает. не идеально, но так искать удобнее

 

Share this post


Link to post
Share on other sites
В 11.12.2017 в 03:47, myst сказал:

Какая нахрне разница, есть ли врф или нет?

проблем с пониманием что там есть и чего нет будет проще.

 

В 11.12.2017 в 13:27, vurd сказал:

Тогда, значит, перед нами крутая циска.

да можно и на неособо крутой железке, типа 2921, vrf настроить - все ж от целей зависит.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this