Get to know the Cisco IOS show interfaces command

If you don't know what's really going on with the interfaces on your Cisco routers, then you likely don't know which changes you need to make. In this edition of Cisco Routers and Switches, David Davis introduces you to the <i>show interfaces</i> command and its many options, which you can use to find the information you need to know about your interfaces.

In a recent article, I listed five Cisco IOS Interface Configuration Mode commands I thought everyone should know. As usual, I asked readers to chime in with their suggestions in the article's discussion.

TechRepublic member Pwright commented on the importance of the show interfaces command and recommended that I write an article expounding on this command. Pwright made a good point: If you don't know what's really going on with the interfaces, you probably don't really know which changes you need to make. So, let's take a closer look at the show interfaces command.

The purpose of the show interfaces command is rather self-explanatory—it displays the interfaces and their status. Here's the information you can get about an interface from this command:

  • Interface type
  • Status
  • Speed and duplex
  • Encapsulation
  • Errors on the interface
  • The last time the interface bounced
  • The last time the error counters reset
  • Utilization
  • IP address, subnet mask, and MAC address

In my opinion, here are the five most important uses for the show interfaces command:

  • Determine if the interface is up and if the protocol is up.
  • Ascertain if the interface has errors on it, especially CRC errors.
  • Find out the speed and duplex of the interface (if it's Ethernet).
  • Learn the current utilization and utilization over the last five minutes.
  • Determine the last time an interface bounced.

Listing A offers sample output of the show interfaces command, displaying four different types of interfaces: Gigabit Ethernet, Loopback, Tunnel, and Serial. Notice how each type of interface has different types of output.

From this output, you can see that the show interfaces command generates a lot of valuable information. However, when you have 25 interfaces or more on a router, the output begins to get cumbersome. Let's look at how you can limit this output to get the information you need the most.

Know your options

The show interfaces command boasts a number of options that allow you to limit the output information. You can specify the type of interface as well as the interface number:

show interfaces {type of interface} {interface number}

Using these options, you can view output for a single interface. Here's an example:

Router# show interfaces ethernet 0/0
Ethernet0/0 is administratively down, line protocol is down 
  Hardware is AmdP2, address is 0003.e39b.9220 (bia 0003.e39b.9220)
  Internet address is 1.1.1.1/8
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec, 
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 4d06h, output never, output hang never
  Last clearing of "show interface" counters never
  Queueing strategy: fifo
  Output queue 0/40, 0 drops; input queue 0/75, 0 drops
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     19 packets input, 2330 bytes, 0 no buffer
     Received 19 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 input packets with dribble condition detected
     0 packets output, 0 bytes, 0 underruns
     0 output errors, 0 collisions, 0 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out
Router#

You can also view of a summary of the output from the show interfaces command. Using this option, you can get a summary of all interfaces and statistics about each one.

For example, say you're looking for an interface that's exceeding a 512-Kbps receive rate or perhaps you want to find any interfaces that are dropping packets from their input queue. Either way, this option can help you find that information much quicker. Here's an example:

Router# show interfaces summary 

 *: interface is up
 IHQ: pkts in input hold queue     IQD: pkts dropped from input queue
 OHQ: pkts in output hold queue    OQD: pkts dropped from output queue
 RXBS: rx rate (bits/sec)          RXPS: rx rate (pkts/sec)
 TXBS: tx rate (bits/sec)          TXPS: tx rate (pkts/sec)
 TRTL: throttle count

  Interface          IHQ   IQD  OHQ   OQD  RXBS RXPS  TXBS TXPS  TRTL 
----------------------------------------------------------------------
  Ethernet0/0           0     0    0     0     0    0     0    0   0
  Serial0/0             0     0    0     0     0    0     0    0   0
  Serial0/1             0     0    0     0     0    0     0    0   0
Router#

You can also use this command with the pipe command [|] and the begin, include, or exclude options. Here's an example of using include:

Router# show interfaces | inc CRC        
     29 input errors, 29 CRC, 0 frame, 0 overrun, 0 ignored, 53 abort
     1375 input errors, 5 CRC, 30 frame, 0 overrun, 0 ignored, 22 abort
     24 input errors, 142 CRC, 19 frame, 9 overrun, 5 ignored, 64 abort
     140 input errors, 14 CRC, 47 frame, 0 overrun, 0 ignored, 30 abort
     114 input errors, 9 CRC, 29 frame, 0 overrun, 0 ignored, 18 abort

You can use begin to start the output on a line that contains a specific text string. This way, you can skip to a specific point in the output rather than looking through all of it. Here's an example:

router# show interfaces | beg Serial
Serial0/2 is up, line protocol is up 
  Hardware is GT96K with 56k 4-wire CSU/DSU
  MTU 1500 bytes, BW 56 Kbit, DLY 20000 usec, 
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation FRAME-RELAY IETF, loopback not set
  Keepalive set (10 sec)
  LMI enq sent  2586870, LMI stat recvd 2586785, LMI upd recvd 0, DTE LMI up
  LMI enq recvd 24, LMI stat sent  0, LMI upd sent  0
  LMI DLCI 0  LMI type is ANSI Annex D  frame relay DTE
  Broadcast queue 0/64, broadcasts sent/dropped 0/0, interface broadcasts 0
  Last input 00:00:05, output 00:00:05, output hang never
  Last clearing of "show interface" counters 42w5d
  Input queue: 0/75/0/13 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: fifo
  Output queue: 0/40 (size/max)
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     9574781 packets input, 398755727 bytes, 0 no buffer
     Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
     2761 input errors, 2761 CRC, 1120 frame, 624 overrun, 0 ignored, 2250 abort
     9184611 packets output, 289103201 bytes, 0 underruns
     0 output errors, 0 collisions, 195 interface resets
     0 output buffer failures, 0 output buffers swapped out
     668 carrier transitions
     DCD=up  DSR=up  DTR=up  RTS=up  CTS=up

For more information on the show interfaces command, check out Cisco's documentation. Then, share your experiences with this command—as well as your ideas for future articles—in this article's discussion.

Miss a column?

Check out the Cisco Routers and Switches Archive, and catch up on David Davis' most recent columns.

Want to learn more about router and switch management? Automatically sign up for our free Cisco Routers and Switches newsletter, delivered each Friday!

David Davis has worked in the IT industry for 12 years and holds several certifications, including CCIE, MCSE+I, CISSP, CCNA, CCDA, and CCNP. He currently manages a group of systems/network administrators for a privately owned retail company and performs networking/systems consulting on a part-time basis.