-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathREADME
75 lines (57 loc) · 3.21 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
nmap-completion
https://github.com/bonsaiviking/nmap-completion
A bash-completion script for Nmap (http://www.nmap.org). Currently supporting
version 6.40 of Nmap and Zenmap.
FEATURES
* tab-complete options for nmap, zenmap, ncat, nping, and ndiff
* Help text for Nmap scan, ping, input, and output types
* tab-complete preferred arguments to options (via ~/.nmap/prefs file)
* tab-complete options with both short and long versions
* tab-complete time options with h, m, s, ms
* tab-complete script names and categories
* tab-complete timing options with names: "paranoid," "insane," etc.
* tab-complete interface names for -e
PREFERRED ARGUMENTS
For options that require arguments (see the pref_opts variable), nmap-completion
will look in ~/.nmap/prefs for a line that starts with that option and will
generate completions from the arguments that follow it. The lines should follow
basic shell quoting syntax, e.g. argument1 "argument 2 w/spaces" 'argument "3"'.
See the included "prefs" file for examples.
INSTALLING
This script will work in any location that is "sourced" by Bash on startup.
Distributions (like Ubuntu) that package bash-completion separately may have a
directory for these scripts. On Ubuntu, the directory is
/etc/bash_completion.d/. In this case, just copy the file for the command you
want to complete (nmap, ncat, nping, ndiff) into that directory and restart
Bash.
If you have problems, check that /etc/bash_completion is sourced from your
~/.bashrc or /etc/bash.bashrc. On Backtrack, for instance, the code for this
is commented out.
For other distributions, or as a safe fallback, copy the contents of each file
into your ~/.bashrc file. Some features (like -e interface name completion) may
not work with this method.
AUTHOR
Daniel Miller <[email protected]>
KNOWN ISSUES
o Don't let anyone edit your ~/.nmap/prefs file. Contents of the file are
directly eval'd, which could be considered a security issue. For example,
change your prefs file to contain this line:
-g ); cat /etc/passwd #
Now whenever you hit tab after -g, you'll see the contents of your
/etc/passwd file. Keep it safe, and pay attention to what you put in there.
o Completion for -e uses bash-completion's _available_interfaces function, which
uses POSIX named character classes in an awk script. GNU awk (gawk)
handles this just fine, but other awks may not. Specifically, Ubuntu Linux
uses mawk to provide awk, which causes this to fail. Bug report for
bash-completion under Ubuntu filed at
https://bugs.launchpad.net/ubuntu/+source/bash-completion/+bug/778679
o --spoof-mac adds single quotes ('') to complete vendor names, which may be
confusing, and break in some cases (if the vendor name contains a single
quote, for instance). Also, this interacts poorly with the sudo completion
script, rendering it useless (since root privilege is needed to spoof your
MAC address). Note that the list of vendor names is quite long. Use with
caution.
o The --datadir option changes NMAPDIR for Nmap, but the completion script isn't
smart enough to know about it. Don't expect it to tab-complete script names
in odd directories. However, if you export the $NMAPDIR environment variable,
both Nmap and nmap-completion will use it properly.