aboutsummaryrefslogtreecommitdiffstats
path: root/docs/src/content/concepts-commands.md
diff options
context:
space:
mode:
authorColdFire <9128903+fenilgandhi@users.noreply.github.com>2018-02-23 00:27:10 +0530
committerGitHub <noreply@github.com>2018-02-23 00:27:10 +0530
commit777cb98a86f3e8883383935661e2ed20ed9b6bd4 (patch)
tree67d3e1259dccb83866496f45fe20ac3bd76961ce /docs/src/content/concepts-commands.md
parent6bf250aa3e8ede84d16170d95728c6488444a5a8 (diff)
parent58ccad7576e5fd33e937aba58df2f9edc389e52e (diff)
downloadmitmproxy-777cb98a86f3e8883383935661e2ed20ed9b6bd4.tar.gz
mitmproxy-777cb98a86f3e8883383935661e2ed20ed9b6bd4.tar.bz2
mitmproxy-777cb98a86f3e8883383935661e2ed20ed9b6bd4.zip
Merge branch 'master' into issue-2872
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 >}}
+
+
+
+
+
+
+
+
+
+