WEBVTT

00:00:00.000 --> 00:00:01.720
So you can see here when it loads you've got this

00:00:01.720 --> 00:00:03.050
nice banner and all that good stuff,

00:00:03.060 --> 00:00:05.540
but it says, No modules enabled or installed.

00:00:05.540 --> 00:00:08.180
The reason why I want to bring that to your attention is because

00:00:08.180 --> 00:00:10.600
I get a lot of folks that reach out and say, hey, I've installed

00:00:10.600 --> 00:00:12.120
Recon‑ng, but there's nothing here.

00:00:12.120 --> 00:00:13.140
It doesn't do anything.

00:00:13.840 --> 00:00:14.610
Precisely.

00:00:14.850 --> 00:00:20.270
Previous versions of Recon‑ng came with all the modules installed,

00:00:20.360 --> 00:00:21.790
but it was very cumbersome.

00:00:21.790 --> 00:00:22.890
They threw a lot of errors.

00:00:22.890 --> 00:00:25.700
If one module broke and the others were working,

00:00:25.700 --> 00:00:27.270
you would have to deal with all the errors of the

00:00:27.270 --> 00:00:28.790
broken ones to use the functional.

00:00:28.790 --> 00:00:29.640
It was just a mess.

00:00:30.000 --> 00:00:34.680
So, as of version 5, Recon‑ng now uses a marketplace of modules,

00:00:34.680 --> 00:00:37.920
which means nothing is installed by default. You get to pick and choose

00:00:37.920 --> 00:00:41.730
what you want to install and use within the framework. So we'll go over

00:00:41.730 --> 00:00:43.280
this in more detail here a few moments,

00:00:43.280 --> 00:00:46.500
but just makes for a much better user experience.

00:00:47.140 --> 00:00:49.590
So don't be alarmed by the message there that says,

00:00:49.590 --> 00:00:51.750
No modules enabled or installed.

00:00:53.240 --> 00:00:54.560
So you can see here we have a prompt.

00:00:54.560 --> 00:00:57.230
We have a base prompt that says recon‑ng and then

00:00:57.230 --> 00:00:58.910
another prompt that says default.

00:00:59.130 --> 00:01:01.030
This is the global context,

00:01:01.250 --> 00:01:04.890
meaning that we are at the first level of usage within the framework.

00:01:04.890 --> 00:01:06.000
There are two contexts.

00:01:06.000 --> 00:01:08.390
There's the global context, and there's a module context.

00:01:08.610 --> 00:01:11.750
Obviously, the module context we'll explore shortly.

00:01:12.140 --> 00:01:13.950
But right now, we're in the global context.

00:01:14.200 --> 00:01:17.980
This default right here is actually the name of the workspace that we're in,

00:01:18.100 --> 00:01:20.910
and we'll explore that here in a few moments.

00:01:20.980 --> 00:01:23.860
But this will be context, this will be dependent on

00:01:23.860 --> 00:01:26.990
the workspace that you're in, and you'll see that change. Now,

00:01:26.990 --> 00:01:29.490
the way that the command structure works, and you can click Help

00:01:29.500 --> 00:01:33.160
to display that, there is interactive help here, so help

00:01:33.160 --> 00:01:35.110
followed by any of these commands are going to show you some

00:01:35.110 --> 00:01:36.690
additional subcommands to those.

00:01:36.870 --> 00:01:37.670
But in general,

00:01:37.670 --> 00:01:40.370
how the commands work is they basically function on a

00:01:40.370 --> 00:01:42.110
particular part of the framework.

00:01:42.110 --> 00:01:44.780
So the marketplace command deals with marketplace,

00:01:44.780 --> 00:01:46.690
keys command deals with all the keys,

00:01:46.800 --> 00:01:50.090
modules commands deal with modules. And so you have this object within

00:01:50.090 --> 00:01:53.050
the framework, and then it's usually this second part of the command is

00:01:53.050 --> 00:01:55.850
some sort of action on that particular object.

00:01:56.340 --> 00:01:59.140
And then anything expected after that on the command line is

00:01:59.140 --> 00:02:01.990
typically some sort of variable input.

00:02:02.650 --> 00:02:05.040
So let's say that I wanted to create a new workspace,

00:02:05.980 --> 00:02:08.780
and here we're dealing with Pluralsight content, so we're

00:02:08.780 --> 00:02:11.320
going to use Pluralsight as our target.

00:02:11.330 --> 00:02:13.560
So we want to create a workspace for all this information that

00:02:13.560 --> 00:02:16.360
we're going to collect about Pluralsight. So if I didn't know

00:02:16.360 --> 00:02:17.650
right off the bat how to use it,

00:02:19.140 --> 00:02:24.200
I would type help workspaces, and it would show me that there

00:02:24.200 --> 00:02:25.980
are some subcommands to go along with this.

00:02:25.980 --> 00:02:28.260
I can create a workspace, I can list that current ones,

00:02:28.430 --> 00:02:31.550
I can load an existing workspace, or I can remove one. And then

00:02:31.660 --> 00:02:34.880
some of these commands require further input beyond that, which

00:02:34.880 --> 00:02:36.330
is annotated by the dot dot dot.

00:02:36.340 --> 00:02:40.010
So let's do workspaces create, and since we're not really

00:02:40.010 --> 00:02:42.880
sure what to give it, we hit Enter, and it says it needs a

00:02:42.880 --> 00:02:47.020
name. So, very simple, pluralsight.

00:02:47.750 --> 00:02:49.040
Now, as you can see here, once again,

00:02:49.040 --> 00:02:55.630
this this follows that schema of object, action, variable input. And

00:02:55.630 --> 00:02:57.730
I'm not going to talk about that anymore moving forward, but I just

00:02:57.730 --> 00:03:00.120
want to point that out because it's generally how all of the different

00:03:00.120 --> 00:03:02.850
commands within the framework work.

00:03:03.020 --> 00:03:05.490
And so I'm just going to assume that we understand that

00:03:05.490 --> 00:03:08.030
moving forward and continue to use the system.

00:03:08.110 --> 00:03:09.510
So let's go ahead and create this workspace,

00:03:11.040 --> 00:03:12.990
and now we're in pluralsight workspace.

00:03:12.990 --> 00:03:16.220
Now each workspace has a separate set of preset configurations,

00:03:16.220 --> 00:03:18.780
which we'll see here in just a moment, so you can all your

00:03:18.780 --> 00:03:21.780
configurations, all of your data are completely segregated

00:03:21.780 --> 00:03:24.120
from one workspace to another,

00:03:24.120 --> 00:03:26.970
which allows you to give it good separation of data so that

00:03:26.970 --> 00:03:30.300
nothing gets mixed up when you turn stuff into clients or share

00:03:30.300 --> 00:03:32.350
stuff between peers and so on and so forth.

00:03:33.100 --> 00:03:34.360
Okay, so now let's look at those.

00:03:34.360 --> 00:03:35.580
Let's go and look at options.

00:03:37.340 --> 00:03:40.130
And if we want use help just to see where it goes, help options, and

00:03:40.130 --> 00:03:42.700
we have a couple different subcommands for options.

00:03:42.700 --> 00:03:44.280
We have list, set, and unset.

00:03:44.280 --> 00:03:47.690
So let's do options list just to see what's available to us. And

00:03:47.690 --> 00:03:50.780
here you're going to see the options available to the global

00:03:50.780 --> 00:03:56.300
context because we're in the global context. And these apply, these

00:03:56.300 --> 00:03:58.980
are generally options that apply to the entire framework and how it

00:03:58.980 --> 00:04:00.030
functions at its core.

00:04:00.330 --> 00:04:01.780
So here we have a nameserver.

00:04:02.070 --> 00:04:04.320
We have a proxy if we want to set a proxy for all of our web

00:04:04.320 --> 00:04:07.520
traffic. We've got threads for modules that take advantage of

00:04:07.520 --> 00:04:10.480
threading. We can set timeout for modules that are sensitive to

00:04:10.890 --> 00:04:13.200
time limits on their requests.

00:04:13.380 --> 00:04:16.899
We can set a specific user agent here if modules need that.

00:04:17.029 --> 00:04:17.660
And then, of course,

00:04:17.660 --> 00:04:20.459
there's a verbosity if we need additional information about an

00:04:20.470 --> 00:04:23.180
issue that we're having or if we want less feedback and we just

00:04:23.180 --> 00:04:25.690
want to get bare bones screen output.

00:04:25.690 --> 00:04:30.030
And then we could set it too minimal. The default here is obviously verbose,

00:04:30.640 --> 00:04:33.050
okay? And that's generally kind of what you want because that's a

00:04:33.050 --> 00:04:34.680
good amount of information that comes back to you,

00:04:34.680 --> 00:04:35.750
but not too much.

00:04:36.440 --> 00:04:41.200
Normally, you don't have to touch any of these. Very specific use case is

00:04:41.200 --> 00:04:43.540
needed here if you need to change these things. So normally,

00:04:43.540 --> 00:04:45.970
you can go with the default, and you'll notice that when we get into

00:04:46.160 --> 00:04:48.360
the module context there's some additional options,

00:04:48.360 --> 00:04:52.110
some different options that you will absolutely want to take advantage of.
