aboutsummaryrefslogtreecommitdiffstats
path: root/docs/src/content/concepts-commands.md
diff options
context:
space:
mode:
authorkira0204 <rshtmudgal@gmail.com>2018-02-24 12:42:21 +0530
committerkira0204 <rshtmudgal@gmail.com>2018-02-24 12:42:21 +0530
commit8209b89d41bdfc3b6a9a3dd5d9054b02722e0d4f (patch)
tree5691f1dd11ac1b2a98e57ed06252ff7dc40cd555 /docs/src/content/concepts-commands.md
parent69dbd1da61e6e452da63c63fba1d810b269f459d (diff)
parenteee109117f956600261bc938be52040d1474a97f (diff)
downloadmitmproxy-8209b89d41bdfc3b6a9a3dd5d9054b02722e0d4f.tar.gz
mitmproxy-8209b89d41bdfc3b6a9a3dd5d9054b02722e0d4f.tar.bz2
mitmproxy-8209b89d41bdfc3b6a9a3dd5d9054b02722e0d4f.zip
Merge branch 'master' of https://github.com/kira0204/mitmproxy into update-readme
Diffstat (limited to 'docs/src/content/concepts-commands.md')
-rw-r--r--docs/src/content/concepts-commands.md72
1 files changed, 72 insertions, 0 deletions
diff --git a/docs/src/content/concepts-commands.md b/docs/src/content/concepts-commands.md
new file mode 100644
index 00000000..72f17252
--- /dev/null
+++ b/docs/src/content/concepts-commands.md
@@ -0,0 +1,72 @@
+---
+title: "Commands"
+menu:
+ concepts:
+ weight: 6
+---
+
+# Commands
+
+Commands are the mechanism that allows users to actively interact with addons.
+Perhaps the most prominent example of this is the mitmproxy console user
+interface - every interaction in this tool consists of commands bound to keys.
+Commands also form a flexible and very powerful way to interact with mitmproxy
+from the command prompt. In mitmproxy console you can enter the command prompt
+with the `:` key. The prompt has intelligent tab completion for command names
+and many of the built-in argument types - give it a try.
+
+The canonical reference for commands is the `--commands` flag, which is exposed
+by each of the mitmproxy tools. Passing this flag will dump an annotated list of
+all registered commands, their arguments and their return values to screen. In
+mimtproxy console you can also view a palette of all commands in the command
+browser (by default accessible with the `C` key binding).
+
+
+# Working with flows
+
+Many of mitmproxy's commands take flows as arguments. For instance, the
+signature for the client replay commands looks like this:
+
+{{< highlight none >}}
+replay.client [flow]
+{{< /highlight >}}
+
+
+That means that it expects a sequence of one or more flows. This is where [flow
+specifications]({{< relref concepts-filters >}}) come in - mitmproxy will
+intelligently expand a flexible flow selection language to a list of flows when
+invoking commands.
+
+Fire up mitmproxy console, and intercept some traffic so we have flows to work
+with. Now type the following command:
+
+{{< highlight none >}}
+:replay.client @focus
+{{< /highlight >}}
+
+Make sure you try using tab completion for the command name and the flow
+specification. The `@focus` specifiers expands to the currently focused flow, so
+you should see this flow replay. However, replay can take any number of flows.
+Try the following command:
+
+{{< highlight none >}}
+:replay.client @all
+{{< /highlight >}}
+
+Now you should see all flows replay one by one. We have the full power of the
+mitmproxy filter language at our disposal here, so we could also, for example,
+just replay flows for a specific domain:
+
+{{< highlight none >}}
+:replay.client "~d google.com"
+{{< /highlight >}}
+
+
+
+
+
+
+
+
+
+