All language subtitles for 8. Scripting with Bash

af Afrikaans
sq Albanian
am Amharic
ar Arabic Download
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:01,030 --> 00:00:04,840 All right welcome to the last lesson in video. 2 00:00:04,840 --> 00:00:09,210 So in this video we are going to be scripting with Bash. 3 00:00:09,220 --> 00:00:12,190 Now this may seem a little overwhelming at first. 4 00:00:12,190 --> 00:00:16,510 What we're going to be doing is building out a ping sweeper script. 5 00:00:16,510 --> 00:00:18,490 It's going to be pretty basic. 6 00:00:18,760 --> 00:00:26,080 And what I want you to do is maybe just watch this video once and then the second time through really 7 00:00:26,080 --> 00:00:28,900 try to follow along with it. 8 00:00:28,900 --> 00:00:33,870 Take notes etc. I think a first time watch through you know just to get the concepts. 9 00:00:33,880 --> 00:00:35,650 Understand what I'm doing. 10 00:00:35,650 --> 00:00:38,750 And then the second time really really get hands on with it. 11 00:00:38,860 --> 00:00:41,220 And I think that will be probably the best way to learn. 12 00:00:41,250 --> 00:00:45,370 But if you have a different learning style please do go ahead and try that as well. 13 00:00:45,370 --> 00:00:47,950 The only thing I can say is don't let this intimidate you. 14 00:00:48,250 --> 00:00:54,250 Hopefully by the time the video's over with you will have a pretty good understanding on a basic scripting 15 00:00:54,250 --> 00:01:00,980 and how scripting can really be beneficial and improve our timing improve automation etc.. 16 00:01:01,090 --> 00:01:06,610 So let's go ahead and quickly talk about some of the things are we learning in this video faces some 17 00:01:06,610 --> 00:01:09,610 of the commands and items are going to learn. 18 00:01:09,610 --> 00:01:15,180 We're going to talk about grep which is going to allow us to narrow down some results. 19 00:01:15,190 --> 00:01:21,580 We're also going to talk about cut and T are both of those are also going to help us narrow down some 20 00:01:21,580 --> 00:01:22,560 results. 21 00:01:22,570 --> 00:01:27,610 So basically we're going to start with a ping that we're going to send out and we're going to want to 22 00:01:27,790 --> 00:01:31,750 gather information back that says that ping was valid. 23 00:01:31,810 --> 00:01:34,810 So we want to know any computer that responded to us. 24 00:01:34,810 --> 00:01:35,980 Well how are we going to do that. 25 00:01:35,980 --> 00:01:40,560 Well we need to identify what a valid ping looks like. 26 00:01:40,570 --> 00:01:45,790 We're going to use grep to to kind of narrow down a string or a sentence or something that identifies 27 00:01:45,790 --> 00:01:52,420 with a positive ping and then we're going to cut out everything we don't want and use TR as well to 28 00:01:52,450 --> 00:01:54,100 cut some things out that we don't want. 29 00:01:55,060 --> 00:01:59,340 So we're going to put this into a script when it's all said and done. 30 00:01:59,440 --> 00:02:05,530 And we're also going to be talking about the usage of for loops and their importance not only with using 31 00:02:05,530 --> 00:02:12,390 them in this script but how we can use simple one liners to do everyday things for us. 32 00:02:12,400 --> 00:02:17,950 So I'll show you at the end of the video how we're going to use that and map and use a for loop with 33 00:02:17,950 --> 00:02:21,100 n map to run through and map script. 34 00:02:21,100 --> 00:02:29,300 So stay tuned through the video again if you are a hands on learner maybe first time through you. 35 00:02:29,300 --> 00:02:35,290 You try hands on but my recommendation here is to just sit back watch the video understand what's going 36 00:02:35,290 --> 00:02:35,920 on. 37 00:02:35,950 --> 00:02:37,900 Second time really follow along with it. 38 00:02:37,900 --> 00:02:40,710 Take notes and get the most that you can. 39 00:02:40,780 --> 00:02:41,910 This lesson. 40 00:02:41,910 --> 00:02:43,750 So let's go ahead and get started. 41 00:02:44,620 --> 00:02:45,060 All right. 42 00:02:45,060 --> 00:02:50,120 So now we're going to be covering bash scripting so the first thing we're going to do to cover before 43 00:02:50,120 --> 00:02:54,380 we get into writing our scripts is how to narrow down results. 44 00:02:54,530 --> 00:02:56,500 And we say narrowing down results. 45 00:02:56,600 --> 00:03:02,300 What we're saying is forgiving a block of text and we want to extract some information from that block 46 00:03:02,300 --> 00:03:03,180 of text. 47 00:03:03,230 --> 00:03:04,700 How are we going to do that. 48 00:03:04,700 --> 00:03:06,290 So that's all we're going to cover in this lesson. 49 00:03:07,810 --> 00:03:08,100 OK. 50 00:03:08,110 --> 00:03:10,460 So let's go ahead and get started. 51 00:03:10,550 --> 00:03:14,250 Well we're going to be doing today is narrowing down a ping result. 52 00:03:14,390 --> 00:03:20,000 So if we come into here and we need to paying an IP address within our system. 53 00:03:20,000 --> 00:03:30,690 So I'm going to be pinging 1 9 2 1 6 8 dot 1 dot 90 and you're going to see that it returns a sixty 54 00:03:30,720 --> 00:03:32,450 four bytes from that address. 55 00:03:32,480 --> 00:03:34,990 So it looks like we're getting a response. 56 00:03:34,990 --> 00:03:37,340 I'm going to hit control see here. 57 00:03:37,340 --> 00:03:44,390 So if you remember from the networking section we actually get a response unlimited until we cancel 58 00:03:44,390 --> 00:03:44,730 it right. 59 00:03:44,730 --> 00:03:47,090 Like we just controlled see here from ping. 60 00:03:47,090 --> 00:03:52,460 So there's another thing that we can do if we only want to send one packet and see if it's alive or 61 00:03:52,460 --> 00:03:54,620 not we can do a dash C of one. 62 00:03:54,630 --> 00:04:00,170 So we're just gonna do that so that's account of one we're sending one packet over if we set 10. 63 00:04:00,170 --> 00:04:03,340 It would send 10 packets over if that makes sense. 64 00:04:03,350 --> 00:04:06,950 So now we're going to do is we're gonna put this into a text file. 65 00:04:07,310 --> 00:04:12,350 So if you remember from previous video we just use this little carrot here and I'm going to call this 66 00:04:12,440 --> 00:04:15,630 IP that text OK. 67 00:04:15,630 --> 00:04:20,330 And if we can IP that text you'll see the same results there. 68 00:04:21,500 --> 00:04:24,750 So now what we're gonna want to do is we're gonna want to narrow this down. 69 00:04:24,860 --> 00:04:26,630 What do I want to extract from here. 70 00:04:26,630 --> 00:04:32,730 Well I want to extract this IP address and it'll make more sense when we get into the scripting part. 71 00:04:32,750 --> 00:04:39,060 But what we're gonna do is we're gonna get out specifically of this this IP address from this line. 72 00:04:39,170 --> 00:04:47,210 Now we're interested in actually is a returned IP address that has a valid response. 73 00:04:47,210 --> 00:04:47,510 Right. 74 00:04:47,540 --> 00:04:57,290 So if I were to attack or if I were to enter in here say 15 dot 90 OK there's no response there. 75 00:04:57,290 --> 00:05:00,950 So this is kind of what it looks like when it doesn't get a response back. 76 00:05:00,950 --> 00:05:02,840 It just kind of lingers. 77 00:05:02,840 --> 00:05:06,770 And then we hit control C and it says zero pinging statistics right. 78 00:05:06,770 --> 00:05:09,830 Nothing was was received back. 79 00:05:09,850 --> 00:05:17,010 So what we see when we get a response back is we see sixty four bytes when there's no response back. 80 00:05:17,020 --> 00:05:18,730 We don't have any bytes. 81 00:05:18,730 --> 00:05:23,080 So if we're doing a sweep through a network which we're going to be doing later we need to be able to 82 00:05:23,080 --> 00:05:24,900 narrow down these results. 83 00:05:24,940 --> 00:05:33,400 So if we're sending say 1 9 to that 1 6 8 that one that one all the way through 255 and we want to see 84 00:05:33,460 --> 00:05:38,700 who responds back and then take that list and narrow it down to the IP addresses which is exactly we're 85 00:05:38,710 --> 00:05:43,980 going to be doing we need to know how to narrow that down. 86 00:05:44,070 --> 00:05:47,760 So what we're gonna be narrowing down on specifically is the sixty 64 bytes. 87 00:05:48,450 --> 00:05:54,840 So lets tab up a couple times to this cat IP address and we're gonna do a pipe in the pipe just means 88 00:05:54,840 --> 00:05:57,150 we're gonna add an additional command here. 89 00:05:57,270 --> 00:06:02,280 So the additional command we're going to do is called grep grep is going to grab any line with what 90 00:06:02,280 --> 00:06:03,230 you specify. 91 00:06:03,660 --> 00:06:10,820 So let's specify sixty four bytes and see what happens see now if you noticed we had all of these lines 92 00:06:10,850 --> 00:06:18,540 before and now a group is doing is grep is taking only the lines that contain sixty four bytes. 93 00:06:18,590 --> 00:06:20,880 So again a valid response. 94 00:06:21,020 --> 00:06:27,070 So we have sixty four bytes here and we have achieved a response. 95 00:06:27,110 --> 00:06:31,910 So what we're going to do now is we're going to narrow this down some more. 96 00:06:32,030 --> 00:06:33,490 OK we've got this line here. 97 00:06:33,500 --> 00:06:36,600 But again we're still trying to extract this IP address. 98 00:06:36,950 --> 00:06:38,920 So how can we do that. 99 00:06:38,930 --> 00:06:41,030 Well there is a tool called cut. 100 00:06:41,030 --> 00:06:47,200 So if we tap up again and we do another pipe because they're sending a new command we're going to say 101 00:06:47,200 --> 00:06:49,040 cut and cut syntax. 102 00:06:49,040 --> 00:06:52,420 It looks like this and I'll explain it once I type it out here. 103 00:06:53,710 --> 00:06:58,600 OK so we have cut and then this hyphen D. 104 00:06:58,630 --> 00:06:59,950 That's a delimiter. 105 00:06:59,950 --> 00:07:03,040 So the delimiter is what we're going to be cutting on. 106 00:07:03,070 --> 00:07:10,680 So we're giving a delimiter of a space meaning here's a space here's the space here's a space. 107 00:07:10,690 --> 00:07:15,190 So we're gonna be cutting on these spaces and then we give a field. 108 00:07:15,190 --> 00:07:18,250 We say OK what field do we want to retrieve back from this cut. 109 00:07:18,880 --> 00:07:19,130 OK. 110 00:07:19,150 --> 00:07:20,650 We want to field for. 111 00:07:20,680 --> 00:07:27,710 If you look one two three four in the fourth field is our IP address. 112 00:07:27,790 --> 00:07:32,380 So it's gonna say OK I'm going to cut on this space I'm gonna cut in this space I'm going to cut on 113 00:07:32,380 --> 00:07:35,550 this space and then I can take it right here. 114 00:07:35,590 --> 00:07:40,990 Now if we identified field five we would be taking this fully identified field three we were taking 115 00:07:40,990 --> 00:07:47,050 from let's go ahead and just hit enter and see what that looks like OK. 116 00:07:47,050 --> 00:07:49,350 So now we are narrow down even more. 117 00:07:50,230 --> 00:07:51,890 But there's an issue here. 118 00:07:51,940 --> 00:07:58,210 If we were to try to send this IP address we would have this little colon here attached onto it and 119 00:07:58,240 --> 00:07:59,830 you can't ping with that IP address. 120 00:07:59,830 --> 00:08:04,540 So we're gonna be doing a sweep or narrowing down this list then we're gonna actually need to remove 121 00:08:04,570 --> 00:08:05,660 this guy here. 122 00:08:06,210 --> 00:08:08,400 So let's take a look at how we do that. 123 00:08:08,440 --> 00:08:12,380 So if we tap up again and again we're going to add a pipe. 124 00:08:12,630 --> 00:08:19,140 Now we're gonna use a command called TR and TR just means translate what we're gonna be doing is another 125 00:08:19,140 --> 00:08:20,030 delimiter. 126 00:08:20,220 --> 00:08:23,970 So dash D there and we're going to be taking out that call. 127 00:08:24,150 --> 00:08:25,580 So it should look something like this. 128 00:08:25,620 --> 00:08:29,260 If we hit Enter now you can see that that Colon has been removed. 129 00:08:29,810 --> 00:08:34,570 OK now let's talk about how we can use this information to write out a script. 130 00:08:34,770 --> 00:08:38,550 We're going to start with a basic script and we can add upon it as we go. 131 00:08:38,610 --> 00:08:43,320 So I've gone ahead and written out a script but we're going to talk about it very slowly so you can 132 00:08:43,320 --> 00:08:45,690 actually look at it and copy it down. 133 00:08:45,720 --> 00:08:53,000 So what we're going to do is go ahead and say get it and I called this IP sweep that S H. 134 00:08:53,010 --> 00:09:01,600 So go ahead and do the same or something similar to enter so let's take a look at this script so at 135 00:09:01,600 --> 00:09:04,290 the very top here we have to declare what we're doing. 136 00:09:04,450 --> 00:09:08,200 So we're going to give a hash bang and we do this with any scripting language. 137 00:09:08,290 --> 00:09:11,790 So if was or Python we'd be entering Python here but this is bash. 138 00:09:11,830 --> 00:09:16,870 So we're gonna be doing a forward slash bean forward slash bash that declares that we're running a bash 139 00:09:16,870 --> 00:09:24,060 script and the DSH also indicates that we're running a bash script so I want you to ignore this line 140 00:09:24,060 --> 00:09:25,740 here in this line here for now. 141 00:09:25,740 --> 00:09:26,940 Let's talk about this line. 142 00:09:26,940 --> 00:09:29,160 This should look very very familiar. 143 00:09:29,250 --> 00:09:35,190 So we're doing in this line we are saying we're going to ping with a count of one which we talked about 144 00:09:36,090 --> 00:09:37,880 and then we're going to do something here. 145 00:09:38,010 --> 00:09:40,160 We've got a dollar sign one and a dollar sign. 146 00:09:40,160 --> 00:09:45,760 IP let's just ignore that for now OK so we're gonna go ahead and do the rest. 147 00:09:45,760 --> 00:09:46,840 That should look familiar. 148 00:09:46,840 --> 00:09:49,600 We're gonna say run a grab sixty bytes. 149 00:09:49,660 --> 00:09:55,810 We're gonna cut the delimiter of a space feel the floor and then we're going to do a translate right 150 00:09:55,840 --> 00:09:57,750 and take off that little bit at the end. 151 00:09:58,500 --> 00:10:01,200 OK I added Ampersand here at the end. 152 00:10:01,300 --> 00:10:03,610 So an ad first hand allows us to do threading. 153 00:10:03,700 --> 00:10:05,710 So that's exactly why it's in there. 154 00:10:05,740 --> 00:10:07,860 If we didn't we'd have to let the process go. 155 00:10:07,870 --> 00:10:10,830 One IP at a time and we'll talk about that in a second as well. 156 00:10:12,430 --> 00:10:19,150 So let's talk about this for line so a for loop is what we're actually running here and the loop is 157 00:10:19,150 --> 00:10:22,240 saying I want to do an IP address. 158 00:10:22,240 --> 00:10:25,080 We're just declaring a variable here you can call it whatever you want. 159 00:10:25,240 --> 00:10:32,230 Or we're saying hey for this IP in a sequence of 1 through 254 we're gonna do something in that do as 160 00:10:32,230 --> 00:10:33,190 a pain. 161 00:10:33,190 --> 00:10:38,920 So what this means is for IP and if we think about it in sequence 1 through 250 for what it's saying 162 00:10:38,920 --> 00:10:42,990 is 1 2 3 4 all the way up to 254. 163 00:10:43,080 --> 00:10:43,450 OK. 164 00:10:43,480 --> 00:10:51,240 So think about it this way if we say 4 1 in this ping sweep we're gonna do that right. 165 00:10:51,270 --> 00:10:57,110 So we're gonna say 4 1 4 2 4 3 all the way through 254. 166 00:10:57,120 --> 00:10:59,040 That's what this loop is doing. 167 00:10:59,040 --> 00:11:01,260 So it's very very simple loop. 168 00:11:01,260 --> 00:11:06,210 Now IP is replaced down here at the very end. 169 00:11:06,210 --> 00:11:09,240 Now we're also calling out this dollar sign 1. 170 00:11:09,250 --> 00:11:12,210 Now this dollar sign 1 is user input. 171 00:11:12,510 --> 00:11:14,640 So we're going to actually do something. 172 00:11:14,640 --> 00:11:17,040 This is called IP sweep right. 173 00:11:17,040 --> 00:11:23,780 So we're gonna have to call out this IP sweep something like this sage and then we're going to have 174 00:11:23,780 --> 00:11:25,820 to give out some information. 175 00:11:25,820 --> 00:11:28,310 It's going to request information if we don't provide it. 176 00:11:28,340 --> 00:11:29,720 It won't know how to ping. 177 00:11:29,960 --> 00:11:35,360 So we're gonna do is we're gonna say the first three octet of our home network. 178 00:11:35,360 --> 00:11:38,090 So of yours is 1 9 2 1 6 8. 179 00:11:38,090 --> 00:11:44,510 That one like mine is then you just enter 1 9 2 1 6 8 1. 180 00:11:44,510 --> 00:11:54,020 Now we could also for simplicity just hard code this so we can say 1 9 2 1 6 8 dot 1 dot IP address 181 00:11:54,650 --> 00:11:56,690 and it would be fine. 182 00:11:56,690 --> 00:11:57,990 We don't have to build the set. 183 00:11:58,010 --> 00:12:03,950 The only reason we're not hard coding it is because you can do multiple pings slaves is going to be 184 00:12:03,950 --> 00:12:08,300 a ping sleep script for you in the future if you're on a different network or you just want to write 185 00:12:08,300 --> 00:12:10,560 something out really quick dollar sign one. 186 00:12:10,560 --> 00:12:12,350 Works perfect. 187 00:12:12,350 --> 00:12:15,470 But if you want to leave it hard coded like this it will also work. 188 00:12:15,920 --> 00:12:18,690 So let's go ahead and just delete this out. 189 00:12:19,040 --> 00:12:27,190 I'm going to put this into dollar sign 1 again to have a proof of concept and then we are going to run 190 00:12:27,190 --> 00:12:27,990 this. 191 00:12:28,060 --> 00:12:34,590 So all we do here at the end is declare done if we didn't run this with an ampersand here we would have 192 00:12:34,590 --> 00:12:41,010 to add a semicolon similar to this but because we are having an ampersand we can actually get rid of 193 00:12:41,010 --> 00:12:46,410 that and just put that back just for some syntax clarity here. 194 00:12:46,410 --> 00:12:48,090 OK so let's go ahead and save this 195 00:12:50,820 --> 00:12:56,190 and remember from our lesson we're gonna have to change the mode of our script because it's not executable 196 00:12:56,190 --> 00:12:57,090 by default. 197 00:12:57,510 --> 00:13:03,360 So we're gonna do a plus X here and then we're gonna call our IP sweep the h we can l s and make sure 198 00:13:03,360 --> 00:13:04,480 it's green. 199 00:13:04,620 --> 00:13:06,740 Here's IPC if the S H. 200 00:13:07,110 --> 00:13:10,170 And then we'll do a dot for it slash IP sweep to S H. 201 00:13:10,200 --> 00:13:15,270 And I'm not going to enter anything in as one to show proof of concept so see it ran through every single 202 00:13:15,270 --> 00:13:21,540 number here and threading and name or service not knowing because we didn't provide an IP address. 203 00:13:21,540 --> 00:13:29,730 So what we can do here is we need to provide that IP address 1 6 8 that one hit Enter okay and it pulls 204 00:13:29,730 --> 00:13:33,900 back some information so what we can do with this information. 205 00:13:33,900 --> 00:13:39,620 Let's write this out to a file so let's just call this IP list. 206 00:13:39,630 --> 00:13:40,790 That text. 207 00:13:40,800 --> 00:13:42,990 Something like this OK. 208 00:13:42,990 --> 00:13:43,860 It's done. 209 00:13:43,980 --> 00:13:45,710 Now let's just cut out the IP list. 210 00:13:45,720 --> 00:13:48,340 Text OK. 211 00:13:48,360 --> 00:13:55,220 Now we have an IP list of the IP is in our network that we just swept right and we can use this information 212 00:13:55,220 --> 00:13:56,110 later on. 213 00:13:56,180 --> 00:14:01,580 But before we go into that I do want to go back and just improve our script a very very tiny bit. 214 00:14:01,610 --> 00:14:07,650 So let's go ahead and just tab up a couple of times so we get to our edit and let me show you how we 215 00:14:07,650 --> 00:14:09,160 can improve this script. 216 00:14:09,360 --> 00:14:11,730 It doesn't have to be overly complicated. 217 00:14:11,820 --> 00:14:19,810 What we can do is we can say something like this we can come in here and give an if statement. 218 00:14:19,830 --> 00:14:20,760 So if his condition. 219 00:14:20,760 --> 00:14:24,350 All right we're gonna say if this exists then do something. 220 00:14:24,360 --> 00:14:27,090 And if it doesn't exist do something else. 221 00:14:27,090 --> 00:14:37,680 So we're gonna say if dollar sign 1 is equal to nothing we're going to give it blank space here and 222 00:14:38,310 --> 00:14:41,950 then we're gonna say then we want to do something. 223 00:14:42,000 --> 00:14:43,630 So what are we going to do. 224 00:14:43,770 --> 00:14:55,130 We can echo out something similar to you forgot an IP address and then echo out what you need to do 225 00:14:56,150 --> 00:14:57,710 like syntax 226 00:15:00,430 --> 00:15:05,520 that slash ping suite or IP suite is what we call this IP suite. 227 00:15:05,520 --> 00:15:12,740 That s h and then IP or we can even write it out. 228 00:15:12,760 --> 00:15:14,040 An example right. 229 00:15:15,380 --> 00:15:16,480 Something like that. 230 00:15:16,550 --> 00:15:19,670 So that way our user if they're using it we wrote this for somebody else. 231 00:15:19,670 --> 00:15:22,550 They know we're talking about it at the very end. 232 00:15:22,550 --> 00:15:24,310 We just need to write if backwards. 233 00:15:24,320 --> 00:15:25,900 We'll put it FDI. 234 00:15:25,970 --> 00:15:33,320 So what this is saying is if this is not an echo here right we're going to echo these and then we need 235 00:15:33,320 --> 00:15:35,090 to add one other thing here which is it. 236 00:15:35,100 --> 00:15:38,790 Else go ahead and hit enter just the spaces out of it. 237 00:15:38,810 --> 00:15:43,660 So if we have no dollar sign one declared. 238 00:15:43,660 --> 00:15:43,840 Right. 239 00:15:43,850 --> 00:15:49,880 If we have nothing entered in we're gonna say echo you forgot an IP address and syntax here. 240 00:15:49,880 --> 00:15:51,800 If we do have something in dollar sign one. 241 00:15:52,240 --> 00:15:52,630 OK. 242 00:15:52,640 --> 00:15:58,370 We're gonna do something else we're gonna do our pink suite and that's it. 243 00:15:58,440 --> 00:16:04,290 So this is very similar and modified from Georgia wide means that I've got a long time ago so full credit 244 00:16:04,290 --> 00:16:06,750 goes to her for this little script. 245 00:16:06,940 --> 00:16:11,650 It was very very easy to learn and it's also very easy to teach. 246 00:16:11,670 --> 00:16:18,690 So let's go ahead and just run this one more time we're gonna say IP sweep the s h and look what happens 247 00:16:18,720 --> 00:16:21,310 now it says you forgot an IP address. 248 00:16:21,390 --> 00:16:24,990 Now we can declare a number and there anything in the script is not perfect right. 249 00:16:25,110 --> 00:16:32,040 We're expecting three octet and we could give it a 1 and it's still going to do something like that 250 00:16:32,070 --> 00:16:33,080 which is incorrect right. 251 00:16:33,870 --> 00:16:40,790 So we need to be able to to modify this down more but that gets really advanced scripting into declaring 252 00:16:40,790 --> 00:16:44,950 that needs to be three act tatts and if you don't provide those then what. 253 00:16:44,990 --> 00:16:49,310 And that just gets more advanced so we really just need to know hey what we're doing here. 254 00:16:49,340 --> 00:16:53,780 Very basic script for ourselves and something to remember. 255 00:16:53,940 --> 00:16:54,360 OK. 256 00:16:54,400 --> 00:16:55,660 Let's clear our screen. 257 00:16:55,660 --> 00:16:57,550 Last thing I want to show you. 258 00:16:57,610 --> 00:17:03,820 So we've been able to write a script out but we can also do looping in one line. 259 00:17:03,820 --> 00:17:06,290 And this is where it becomes kind of fun. 260 00:17:06,340 --> 00:17:08,440 So we have this IP list right. 261 00:17:08,440 --> 00:17:11,670 We did a cat IP list that Tex. 262 00:17:11,910 --> 00:17:18,380 Now let's say we've got this IP list together and we want to do an end map scan on all of these IP. 263 00:17:18,720 --> 00:17:26,940 Now we could just say and map and type in the syntax you want and the IP address of it for every single 264 00:17:26,940 --> 00:17:28,440 one of these starting new tab. 265 00:17:28,520 --> 00:17:34,920 And let that happen or you could do something in a for loop so we can write the same for loop that we 266 00:17:34,920 --> 00:17:36,390 did before. 267 00:17:36,400 --> 00:17:41,750 We're gonna say for IP and then we're we're gonna do is we're gonna write a dollar sign and we're gonna 268 00:17:41,760 --> 00:17:46,230 cat the IP list that text. 269 00:17:46,230 --> 00:17:51,480 So all it does is is bringing out this list that we have here and it's saying OK for this IP this IP 270 00:17:51,480 --> 00:17:53,370 this IP set we're going to run through all of these. 271 00:17:53,370 --> 00:17:54,240 That's what the loop does. 272 00:17:54,240 --> 00:17:55,300 Right. 273 00:17:55,370 --> 00:17:55,810 OK. 274 00:17:55,950 --> 00:18:00,300 We're gonna do our semicolon then we're going to tell it to do something right. 275 00:18:00,330 --> 00:18:01,380 So what do we want to do. 276 00:18:02,070 --> 00:18:03,880 OK let's run it and map script. 277 00:18:04,020 --> 00:18:13,130 So we're gonna say do and map and we'll ping or we'll do a port Port 80 on all of these and we'll say 278 00:18:13,140 --> 00:18:21,240 stealth scan that port 80 and we'll do T4 for a speed and that should be it. 279 00:18:21,260 --> 00:18:24,180 So then we can do. 280 00:18:24,450 --> 00:18:27,620 Done like this and let it run through one at a time. 281 00:18:27,720 --> 00:18:32,280 We can also do the ampersand and let it run multiples like this. 282 00:18:32,340 --> 00:18:34,710 We can hit enter and see what that does. 283 00:18:34,740 --> 00:18:39,180 But I also forgot one thing here forgot to declare the IP address. 284 00:18:39,180 --> 00:18:42,050 So let's talk about it real quick. 285 00:18:42,120 --> 00:18:45,730 So we've got a very very simple one liner and you're going to see one liners a lot. 286 00:18:45,750 --> 00:18:50,900 If you get into ethical hacking and just allows us to do things quickly and scripted. 287 00:18:51,150 --> 00:18:53,850 So we got four IP address in this list. 288 00:18:53,850 --> 00:18:57,560 So every IP in this list we're gonna loop through when we do that loop. 289 00:18:57,570 --> 00:19:05,490 We're gonna do and map we do a quick stealth scan of port 80 T4 and we're gonna say declare the IP address 290 00:19:05,820 --> 00:19:07,130 if you're not comfortable and map. 291 00:19:07,140 --> 00:19:07,680 That's OK. 292 00:19:07,680 --> 00:19:11,500 This is purely an example and something you will see in your career. 293 00:19:11,520 --> 00:19:16,210 I will make a scripting video at some point for and map and we'll cover and map more in detail. 294 00:19:16,350 --> 00:19:17,880 So let's go ahead and just hit enter. 295 00:19:18,180 --> 00:19:18,540 OK. 296 00:19:18,570 --> 00:19:20,210 I messed up my syntax. 297 00:19:20,670 --> 00:19:23,010 So what's going on. 298 00:19:23,040 --> 00:19:23,840 OK. 299 00:19:24,150 --> 00:19:35,680 So for IP in this cut deleted for IP and cat IP let's try this one more time so we just did all these 300 00:19:35,680 --> 00:19:41,350 scans seven scans at once and what we did is you see these are the processes that are starting. 301 00:19:41,350 --> 00:19:46,840 So it started up eight processes actually not seven and it's just running through this list doing the 302 00:19:46,840 --> 00:19:50,800 scans and we're gonna go ahead and just kind of look at it. 303 00:19:50,830 --> 00:19:56,170 So it says Okay on one dot Seventy four is eighty open it's open. 304 00:19:56,170 --> 00:19:57,010 Okay. 305 00:19:57,070 --> 00:20:02,530 And then on two fifty four is eighty open it's open and then you see filter down here where it's not 306 00:20:02,530 --> 00:20:05,060 running filtered filtered same thing. 307 00:20:05,170 --> 00:20:09,010 So we can hit control C or hit enter for done. 308 00:20:09,010 --> 00:20:10,360 And that's pretty much it. 309 00:20:10,390 --> 00:20:16,180 So what we just did is we ran AMF scans at one time instead of having to copy and paste these. 310 00:20:16,240 --> 00:20:19,380 So it's just a little bit of what scripting can do. 311 00:20:19,630 --> 00:20:25,660 It does get more advanced but be able to know a one line for loop is a really really important. 312 00:20:25,660 --> 00:20:32,360 If you go into penetration testing and it's just important in basic bash scripting as well. 313 00:20:32,650 --> 00:20:34,250 So that's it for this lesson. 314 00:20:34,360 --> 00:20:38,260 I will catch you guys over in the next lesson when we start on introductory Python. 30500

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.