1 00:00:00,210 --> 00:00:03,870 It's my aim to make you the best network engineer that you can be. 2 00:00:04,050 --> 00:00:08,970 In this video, I'm going to show you three ways to run scripts on Cisco Devices. 3 00:00:09,090 --> 00:00:11,090 In other words, run them on box. 4 00:00:11,100 --> 00:00:14,700 You don't need Python to run these scripting options. 5 00:00:14,700 --> 00:00:18,020 They've been around in the Cisco iOS for many, many years. 6 00:00:18,030 --> 00:00:21,450 I'm going to show you how to use Tickle or TCL scripts. 7 00:00:21,660 --> 00:00:26,670 I'm going to show you how to use the embedded event manager and I'm going to show you how to use Linux 8 00:00:26,670 --> 00:00:29,400 scripts directly on Cisco Devices. 9 00:00:29,430 --> 00:00:33,030 Again, you don't need Python to run these scripts. 10 00:00:33,030 --> 00:00:36,720 You don't need a separate VM or a separate shell. 11 00:00:36,750 --> 00:00:39,630 You can run these directly on Cisco, iOS. 12 00:00:39,630 --> 00:00:45,000 So in the same place where you type confetti or enable, you'll be able to run these scripts. 13 00:00:52,970 --> 00:00:56,510 I want you to be the best network engineer in your organization. 14 00:00:56,540 --> 00:01:01,790 I want you to go to interviews and blow away people with your knowledge and skills. 15 00:01:02,150 --> 00:01:07,310 When a senior network engineer looks at what you're doing, surprise them with the knowledge that you 16 00:01:07,310 --> 00:01:07,820 have. 17 00:01:07,970 --> 00:01:09,240 Now a favor from you. 18 00:01:09,260 --> 00:01:13,430 If you enjoy this video, please like it and please subscribe to my YouTube channel. 19 00:01:13,850 --> 00:01:18,650 If you enjoy these videos, click on the bell to get notifications when I post a new video. 20 00:01:18,920 --> 00:01:24,170 Now with that being said, let me show you how you can do really cool things on Cisco iOS devices. 21 00:01:24,200 --> 00:01:26,520 In this example, I'm using three. 22 00:01:26,540 --> 00:01:29,600 I'm not using a special version of Cisco iOS. 23 00:01:29,600 --> 00:01:33,560 I'm just using traditional Cisco iOS devices here. 24 00:01:34,530 --> 00:01:34,730 Okay. 25 00:01:34,790 --> 00:01:39,620 So the first scripting option is using TICKLE or TCL scripts. 26 00:01:39,770 --> 00:01:42,780 This document was updated in 2011. 27 00:01:42,800 --> 00:01:45,260 In other words, this has been around for a long time. 28 00:01:46,040 --> 00:01:48,800 The next one is the iOS embedded event manager. 29 00:01:48,830 --> 00:01:51,260 This has also been around for a long time. 30 00:01:51,440 --> 00:01:54,170 And then I'm going to show you the Cisco iOS shell. 31 00:01:54,200 --> 00:01:59,120 I've shown you this in other videos, but I want to show you some scripting options using the Cisco 32 00:01:59,120 --> 00:02:00,020 iOS shell. 33 00:02:00,090 --> 00:02:00,380 Okay. 34 00:02:00,380 --> 00:02:02,900 So let's start with Tickle or TCL. 35 00:02:03,560 --> 00:02:09,199 Now you're going to run this in enable mode on a Cisco device. 36 00:02:10,740 --> 00:02:13,530 In my gen three topology, he has rather one. 37 00:02:13,590 --> 00:02:15,260 I've got about a two out of three. 38 00:02:15,270 --> 00:02:19,080 These are all Cisco iOS V devices. 39 00:02:19,080 --> 00:02:25,650 So if I type show version here, notice via iOS, this is the version of iOS. 40 00:02:25,770 --> 00:02:27,360 There's nothing special about this. 41 00:02:27,360 --> 00:02:29,100 This is just standard. 42 00:02:29,100 --> 00:02:30,630 Cisco iOS. 43 00:02:31,850 --> 00:02:32,150 Okay. 44 00:02:32,150 --> 00:02:36,350 So TCL is notice the mode that we're in. 45 00:02:37,370 --> 00:02:39,710 Whole bunch of commands are available here. 46 00:02:41,150 --> 00:02:42,470 But what are we going to do? 47 00:02:42,800 --> 00:02:45,670 Is we going to create a full loop? 48 00:02:45,680 --> 00:02:52,310 So for each and you can call this anything IP address, a variable, whatever you like. 49 00:02:53,090 --> 00:02:54,550 Notice the brackets. 50 00:02:54,560 --> 00:03:02,480 So for each value here, we are going to ping the variable IP address. 51 00:03:02,780 --> 00:03:06,050 So I'm going to copy that onto the Cisco device. 52 00:03:10,580 --> 00:03:11,900 Now I don't need to be in this mode. 53 00:03:11,900 --> 00:03:19,250 So I'm going to say tcl quit to quit out of tickle or TCL and I'm going to paste this in. 54 00:03:19,760 --> 00:03:22,760 Notice what happens when I press enter now. 55 00:03:24,110 --> 00:03:29,810 The router pings those four IP addresses in the list. 56 00:03:30,170 --> 00:03:32,310 Now, this is a very basic script. 57 00:03:32,330 --> 00:03:37,550 I mean, what I could do here is add a whole bunch of additional IP addresses. 58 00:03:37,550 --> 00:03:44,570 But what I'll do is I'll simply add back duplicates of some of the IP addresses. 59 00:03:44,780 --> 00:03:46,010 So I'll copy that. 60 00:03:49,010 --> 00:03:51,710 Cut out of here and paste that in. 61 00:03:52,070 --> 00:03:53,900 And that went very quickly. 62 00:03:53,900 --> 00:03:58,340 But notice they have pasted the script in. 63 00:03:58,850 --> 00:04:04,910 And what it's doing now is it's pinging every one of those IP addresses as well as the additional IP 64 00:04:04,910 --> 00:04:06,440 addresses that I specified. 65 00:04:06,920 --> 00:04:10,430 So it's TCL quit there now. 66 00:04:10,430 --> 00:04:11,480 That's okay. 67 00:04:11,480 --> 00:04:14,750 But you don't necessarily want to have to paste that in every time. 68 00:04:14,750 --> 00:04:20,000 But if you're just doing some work on a device and you want to test IP connectivity to multiple devices, 69 00:04:20,000 --> 00:04:21,050 you can do that. 70 00:04:21,050 --> 00:04:26,960 A lot of CCI candidates use this for testing, connectivity and their CCI labs. 71 00:04:27,850 --> 00:04:30,580 Now, what I've also got here is a Windows PC. 72 00:04:31,630 --> 00:04:37,810 This is a Windows ten computer and I'm running the SolarWinds TFTP server on this computer. 73 00:04:37,840 --> 00:04:42,340 You can download the SolarWinds TFTP server for free using the link below. 74 00:04:42,790 --> 00:04:45,610 It's free software that you can download and use. 75 00:04:45,850 --> 00:04:52,330 And what I've got here in the TFTP root directory is a typical script. 76 00:04:52,960 --> 00:04:54,440 Okay, so here's our script. 77 00:04:54,460 --> 00:04:57,880 I'll make the font a bit bigger so it's easier to read. 78 00:04:59,850 --> 00:05:01,950 But essentially it's the same. 79 00:05:03,280 --> 00:05:04,810 Option is we had before. 80 00:05:05,290 --> 00:05:08,650 I've just got a tab between all the IP addresses. 81 00:05:08,950 --> 00:05:11,020 So basically the same type of script. 82 00:05:11,230 --> 00:05:15,250 But what I can do now is copy that to the flesh of the router. 83 00:05:15,640 --> 00:05:19,780 So what's the IP address of this PC? 84 00:05:19,840 --> 00:05:22,720 It's ten .1.1.101. 85 00:05:22,810 --> 00:05:27,940 The name of the file is ping, dot, tickle or ping or TCL. 86 00:05:28,210 --> 00:05:30,250 It's up to you which way you want to pronounce that. 87 00:05:31,350 --> 00:05:32,790 So back on my router. 88 00:05:32,790 --> 00:05:37,200 DA shows us that that file doesn't exist in flash. 89 00:05:37,500 --> 00:05:40,050 Let's make sure that we can ping the TFTP server. 90 00:05:40,080 --> 00:05:50,880 I can see a copy tftp flash ten 11101 is the TFTP server ip address ping tickle or ping tcl is the file 91 00:05:50,880 --> 00:05:51,330 name. 92 00:05:51,540 --> 00:05:53,280 I'm going to copy that to flash. 93 00:05:53,280 --> 00:05:57,180 That's now copied across notice copied successfully. 94 00:05:57,180 --> 00:06:00,780 D r shows us that that file is in flash. 95 00:06:01,880 --> 00:06:04,940 What you can do now is simply use this command. 96 00:06:04,940 --> 00:06:05,540 So. 97 00:06:06,240 --> 00:06:10,020 TCL, S-H and the name of your script in flesh. 98 00:06:10,620 --> 00:06:12,120 So on my router. 99 00:06:12,840 --> 00:06:13,770 TCL. 100 00:06:13,800 --> 00:06:18,060 S.H. You may want to do it this way. 101 00:06:24,100 --> 00:06:30,790 I notice that you go or just do tcl's search and the name of the file in flesh. 102 00:06:30,970 --> 00:06:32,930 And there you go once again. 103 00:06:32,950 --> 00:06:37,350 So you could put a file like this in the flesh of a device. 104 00:06:37,360 --> 00:06:41,040 You can actually call it directly from a TFTP server if you want to. 105 00:06:41,050 --> 00:06:42,490 You don't have to run it in flash. 106 00:06:42,490 --> 00:06:49,120 But I did in this example and notice that script now pings all the devices. 107 00:06:49,210 --> 00:06:52,840 I could use more to look at my script. 108 00:06:52,960 --> 00:06:54,730 So notice there's the script. 109 00:06:55,780 --> 00:06:56,620 Once again. 110 00:06:57,470 --> 00:07:03,230 All it's doing is running tcl's search for each IP address in this list here. 111 00:07:03,680 --> 00:07:05,330 Notice the brackets once again. 112 00:07:05,330 --> 00:07:09,110 It's going to ping the IP addresses in that list. 113 00:07:09,470 --> 00:07:09,630 Okay. 114 00:07:09,650 --> 00:07:13,430 So that's a very basic example of tickle or TCL. 115 00:07:13,700 --> 00:07:18,290 If you want to get more information, have a look at this configuration guide. 116 00:07:18,320 --> 00:07:23,030 I've put a link below this video if you want to have a look at this and get more information. 117 00:07:24,390 --> 00:07:32,310 You can do various things with this, but I think the most useful basic options are the low hanging 118 00:07:32,310 --> 00:07:38,820 fruit, as they would say, is to simply use it to ping multiple devices in your network. 119 00:07:39,420 --> 00:07:40,680 Very basic script. 120 00:07:42,190 --> 00:07:42,360 Okay. 121 00:07:42,460 --> 00:07:44,830 So that's TCL or Tickle. 122 00:07:44,860 --> 00:07:49,510 The next one is the Cisco iOS embedded event manager. 123 00:07:49,870 --> 00:07:51,010 Let's have a look at that. 124 00:07:51,340 --> 00:07:54,490 Once again, there's a lot of documentation on Cisco's website. 125 00:07:54,670 --> 00:08:00,640 They've got links for real time network event detection and more writing policy using command line, 126 00:08:00,640 --> 00:08:02,110 interface, etc.. 127 00:08:02,290 --> 00:08:07,900 But I'm going to show you a fairly simple example to get you started. 128 00:08:08,590 --> 00:08:12,170 What I've got here is a script that says Event Manager Applet. 129 00:08:12,190 --> 00:08:13,100 Give it a name. 130 00:08:13,120 --> 00:08:16,810 So in this example, I'm looking for interface gigabit zero zero. 131 00:08:16,870 --> 00:08:17,710 Going down. 132 00:08:18,460 --> 00:08:23,860 Basically what it's doing is it's looking for the statement in syslog. 133 00:08:24,470 --> 00:08:30,530 So it's looking for a syslog message like that as an example on my router. 134 00:08:31,280 --> 00:08:36,020 If I go on to interface gigabit zero zero and I shut that interface. 135 00:08:36,049 --> 00:08:41,630 Notice we'll see that statement in the output right over there. 136 00:08:42,020 --> 00:08:43,780 Interface has gone down. 137 00:08:43,789 --> 00:08:45,590 Now you could look for different events. 138 00:08:45,590 --> 00:08:49,580 So OSPF neighbor relationship going down or something else happening. 139 00:08:49,730 --> 00:08:53,670 You can use this to send you an email if something happens in your network. 140 00:08:53,690 --> 00:08:55,310 I'm starting with a basic example here. 141 00:08:55,310 --> 00:08:59,000 Let me know if you're interested in more detailed or more complex examples. 142 00:08:59,480 --> 00:09:07,610 But basically what we're going to do is look for an event and then we've got a time period and different 143 00:09:07,610 --> 00:09:08,120 actions. 144 00:09:08,120 --> 00:09:10,850 Action, one, two, three, four, five and six. 145 00:09:10,850 --> 00:09:13,850 And what are we going to do is run CLI commands. 146 00:09:13,850 --> 00:09:18,320 Don't forget to use enable as your first command, then confetti. 147 00:09:18,320 --> 00:09:19,850 Then we're going to go onto that interface. 148 00:09:19,880 --> 00:09:24,230 Gigabit is zero zero and then we're going to shut it down and no, shut it. 149 00:09:24,380 --> 00:09:28,540 And then we're going to write a syslog message saying Interface went down. 150 00:09:28,550 --> 00:09:33,380 You could put any kind of message there that you wanted to, but let's copy that. 151 00:09:33,800 --> 00:09:39,620 And again, I'll put the script below the video so that you can copy it and use it yourself. 152 00:09:40,070 --> 00:09:45,740 You use all of these at your own risk, but I've tested this and I'll show you right now that it does 153 00:09:45,740 --> 00:09:46,070 work. 154 00:09:46,070 --> 00:09:50,210 So I'll go into global configuration mode and I'll paste that script in. 155 00:09:50,510 --> 00:09:55,730 So notice in global config mode, event manager applet interface goes down. 156 00:09:56,120 --> 00:09:57,650 Now notice what happens. 157 00:09:58,010 --> 00:10:00,080 Interface gigabit is zero zero. 158 00:10:00,290 --> 00:10:01,520 I'm going to shut it down. 159 00:10:01,940 --> 00:10:08,780 So interface has gone down, but notice suddenly Interface has come up again. 160 00:10:08,990 --> 00:10:10,910 Notice the special message here. 161 00:10:10,940 --> 00:10:17,930 Gigabit zero zero went down and if I type do show IP interface, brief notice interface is up, up. 162 00:10:18,200 --> 00:10:19,970 So show run. 163 00:10:20,780 --> 00:10:22,520 Let's have a look at that running config. 164 00:10:25,690 --> 00:10:27,220 Right at the bottom here. 165 00:10:27,370 --> 00:10:29,920 Notice, here's my event manager. 166 00:10:30,640 --> 00:10:33,070 I could change that as an example, I could say. 167 00:10:34,630 --> 00:10:37,780 What's going on? 168 00:10:38,890 --> 00:10:39,370 Gigabit. 169 00:10:39,400 --> 00:10:41,170 Zero zero went down. 170 00:10:41,620 --> 00:10:42,580 So let's do that. 171 00:10:43,330 --> 00:10:43,870 Copy that. 172 00:10:43,870 --> 00:10:46,390 In so global config mode. 173 00:10:48,280 --> 00:10:49,780 Question mark will give you problems. 174 00:10:49,780 --> 00:10:54,790 So let's do that manually and I'll show you another trick when it comes to question marks. 175 00:10:54,880 --> 00:10:57,370 So let's do this. 176 00:10:57,700 --> 00:10:58,870 Paste that in. 177 00:10:59,740 --> 00:11:02,380 Press control the question mark. 178 00:11:02,710 --> 00:11:05,110 Now I can actually add a question mark. 179 00:11:05,110 --> 00:11:14,050 So on Cisco, iOS, if you need to add a question mark somewhere, use control v to allow you to edit. 180 00:11:14,840 --> 00:11:20,990 So I'll paste the rest of that there and I should be in the right mode. 181 00:11:21,290 --> 00:11:23,180 So event managers, my mode. 182 00:11:23,840 --> 00:11:25,130 Let's paste that back. 183 00:11:25,850 --> 00:11:27,080 It's accepted that. 184 00:11:27,500 --> 00:11:30,020 And all I need to do is end my script. 185 00:11:30,410 --> 00:11:31,910 Okay, so show IP interface. 186 00:11:31,910 --> 00:11:34,550 Brief interface is currently up up. 187 00:11:34,940 --> 00:11:38,960 But I'll go on to the interface and shut it. 188 00:11:39,290 --> 00:11:41,840 So I've manually shut the interface down. 189 00:11:43,490 --> 00:11:44,690 Notice we see our message. 190 00:11:44,690 --> 00:11:45,670 What's going on? 191 00:11:45,680 --> 00:11:47,060 Interface went down. 192 00:11:47,360 --> 00:11:50,690 Notice interface goes down, but the interface comes up again. 193 00:11:50,870 --> 00:11:52,040 Interface has come up. 194 00:11:52,490 --> 00:11:54,780 Do show IP. 195 00:11:54,800 --> 00:11:57,680 Interface brief interface is back to being up. 196 00:11:57,680 --> 00:11:58,050 Up. 197 00:11:58,640 --> 00:11:58,820 Okay. 198 00:11:58,850 --> 00:11:59,870 We've also got debug. 199 00:11:59,870 --> 00:12:04,090 So before I wrap this up, let's have a look at bugs. 200 00:12:05,540 --> 00:12:09,020 So what I'll do is enable that debugging. 201 00:12:09,020 --> 00:12:13,490 So M debugging is on. 202 00:12:14,000 --> 00:12:16,430 Go onto the interface and shut it. 203 00:12:16,430 --> 00:12:20,720 And hopefully what we'll see now is the commands will run and there you go. 204 00:12:21,680 --> 00:12:22,970 So going up. 205 00:12:25,300 --> 00:12:26,010 A lot of output. 206 00:12:26,020 --> 00:12:26,180 Yeah. 207 00:12:26,200 --> 00:12:27,280 Let's make that bigger. 208 00:12:28,030 --> 00:12:28,390 Yeah. 209 00:12:28,420 --> 00:12:30,070 Shut the interface down. 210 00:12:30,460 --> 00:12:31,750 Notice the interface. 211 00:12:31,750 --> 00:12:33,880 Change state to administratively down. 212 00:12:34,840 --> 00:12:36,730 Sealy open was cold. 213 00:12:36,730 --> 00:12:38,650 So the script was called. 214 00:12:39,760 --> 00:12:45,460 Some of the information is displayed because we've opened up a timeline or a connection to the device. 215 00:12:45,490 --> 00:12:50,680 You see this when you telnet or SSH to a Cisco iOS device. 216 00:12:50,950 --> 00:12:59,920 But notice the important part is here out router one we sent the command enable out right a one privilege 217 00:12:59,920 --> 00:13:00,430 mode. 218 00:13:01,090 --> 00:13:03,070 We've sent the command config terminal. 219 00:13:03,340 --> 00:13:10,750 This is what's displayed now we in global config mode we sent the command interface gigabit zero zero. 220 00:13:10,960 --> 00:13:12,490 That's the mode. 221 00:13:12,940 --> 00:13:19,810 We've shut the interface down, we've now shut the interface, we've displayed a message and the script 222 00:13:19,810 --> 00:13:20,710 is now ended. 223 00:13:21,720 --> 00:13:23,970 And now the interface has come up again. 224 00:13:23,970 --> 00:13:26,700 So show IP interface brief. 225 00:13:27,600 --> 00:13:30,000 Notice the interface is up up. 226 00:13:30,000 --> 00:13:37,290 So basic example of a event manager applet showed you that with a debug. 227 00:13:37,530 --> 00:13:43,980 So that was a very basic example of using the Cisco iOS embedded event manager. 228 00:13:44,190 --> 00:13:45,630 It's one to get you started. 229 00:13:46,080 --> 00:13:50,160 You can have a look at this document for more information. 230 00:13:50,850 --> 00:13:52,320 There's plenty of options. 231 00:13:52,320 --> 00:13:57,930 You could look for OSPF neighbor relationships going down and then you can get it to send you an email 232 00:13:57,930 --> 00:13:59,760 as an example if you want to do that. 233 00:14:00,150 --> 00:14:05,400 A lot of options available here, but that's a good one to get you started. 234 00:14:05,530 --> 00:14:05,820 Okay. 235 00:14:05,820 --> 00:14:07,770 The next one is the Cisco iOS Shell. 236 00:14:07,950 --> 00:14:12,450 This allows you to use Linux commands directly on the Cisco iOS. 237 00:14:13,020 --> 00:14:14,250 Here's a very basic one. 238 00:14:14,250 --> 00:14:16,580 Four X in one, two, three. 239 00:14:16,590 --> 00:14:17,550 Do something. 240 00:14:17,550 --> 00:14:18,420 What are we going to do? 241 00:14:18,450 --> 00:14:25,950 We're going to ping this variable X, which would be one, two or three, and then the script is done. 242 00:14:27,030 --> 00:14:28,740 So let's try that on. 243 00:14:28,740 --> 00:14:29,580 Writer one. 244 00:14:31,460 --> 00:14:32,810 He has wrought a one again. 245 00:14:35,720 --> 00:14:45,620 For this to work, I have to enable shell processing full so either globally on the road or switch or 246 00:14:45,620 --> 00:14:49,460 I can do it on a per session basis by using that command. 247 00:14:49,790 --> 00:14:51,140 So you don't need to do both. 248 00:14:51,140 --> 00:14:57,430 This will just enable it on the local telnet or ssh h or console line until you finished. 249 00:14:57,440 --> 00:15:00,020 In other words, till you exit out, then it'll stop running. 250 00:15:00,170 --> 00:15:02,960 This enables the function all the time. 251 00:15:03,710 --> 00:15:07,790 So basically this enables Linux commands on the right or switch. 252 00:15:07,790 --> 00:15:12,920 So for X in 1 to 3, what are we going to do? 253 00:15:12,950 --> 00:15:22,040 We're going to paying ten 11x done and notice it now pings those IP addresses. 254 00:15:22,040 --> 00:15:29,840 So ping ten 111 ping ten 112 timed out there because of our and pinged ten 113. 255 00:15:30,020 --> 00:15:34,490 So we've now pinged three IP addresses. 256 00:15:35,770 --> 00:15:37,390 Now at the moment. 257 00:15:38,550 --> 00:15:46,560 Show Shell functions shows us that there are no user defined functions, we've only got built in functions. 258 00:15:46,680 --> 00:15:53,970 So both in functions are what's enabled when you type that command terminal shell as an example. 259 00:15:53,970 --> 00:15:57,400 So we can do things such a show run grep face. 260 00:15:57,420 --> 00:16:01,530 In other words, you use Linux commands directly on the Cisco iOS. 261 00:16:01,890 --> 00:16:07,680 But what we can do is create our own user defined functions. 262 00:16:08,340 --> 00:16:11,310 So what I'm going to do is paste that scripting. 263 00:16:12,210 --> 00:16:15,630 Basically we've created a function called test ping. 264 00:16:16,350 --> 00:16:20,580 Now if I remove that just to show you this, I'm going to remove that function. 265 00:16:20,880 --> 00:16:24,870 And now when I try and use the command test ping, it doesn't work. 266 00:16:24,990 --> 00:16:26,040 Command doesn't work. 267 00:16:26,220 --> 00:16:34,770 But when I paste that in now and I use the command test ping notice it works because I've created this 268 00:16:34,770 --> 00:16:36,360 user defined function. 269 00:16:36,750 --> 00:16:37,950 Notice the brackets. 270 00:16:37,950 --> 00:16:45,270 This is a function and what we're doing here is running four commands, so like pinging different devices. 271 00:16:45,690 --> 00:16:47,280 Now you could do something like. 272 00:16:49,950 --> 00:16:54,870 Function echo if you like, so just get it to echo something. 273 00:16:54,870 --> 00:16:58,860 This is not doing much except printing stuff to the screen. 274 00:16:58,980 --> 00:17:03,510 But the point is, is that you can create your own functions that can do things. 275 00:17:04,079 --> 00:17:12,210 So notice now when I type test echo, it just echoes those values back doesn't really do anything. 276 00:17:12,390 --> 00:17:15,210 Test ping is probably more valuable to us. 277 00:17:16,710 --> 00:17:23,940 So show shell function now shows us that we've got these user defined functions. 278 00:17:24,420 --> 00:17:28,089 Notice function test, echo function, test, ping. 279 00:17:29,640 --> 00:17:31,100 So I think that's enough. 280 00:17:31,110 --> 00:17:37,260 This video is getting really long, but that gives you an idea of what's possible using the Cisco iOS. 281 00:17:37,290 --> 00:17:40,560 Remember, we didn't have to run Python here. 282 00:17:40,560 --> 00:17:42,540 We didn't have to drop down to a Linux shell. 283 00:17:42,540 --> 00:17:45,150 We didn't have to use a Linux VM. 284 00:17:45,150 --> 00:17:48,780 We ran these commands directly on the Cisco iOS. 285 00:17:49,140 --> 00:17:55,470 Go out there and show people how much you know, go and surprise them and amaze them with your knowledge 286 00:17:55,470 --> 00:17:57,040 of the Cisco iOS. 287 00:17:57,060 --> 00:18:03,420 I'm going to continue in the series teaching you options that not everyone knows so that you can be 288 00:18:03,420 --> 00:18:09,090 a so-called boss on the Cisco iOS or like a really cool network engineer. 289 00:18:09,120 --> 00:18:14,040 Now, please, if you've enjoyed this video, please like it and please subscribe to my YouTube channel. 290 00:18:14,070 --> 00:18:18,150 Click on the bell to get notifications so that you know when to upload a new video. 291 00:18:18,180 --> 00:18:19,060 I'm David Bumble. 292 00:18:19,060 --> 00:18:20,760 I want to wish you all the very best.