Updated Jul 14, 2026

Scanners

Probe a live web server for known dangerous paths

Bundled web server checks for dangerous files and outdated software.

Agent

overview

What nikto does

Point nikto at a live host after httpx confirms the port answers. It walks a bundled check database for dangerous files, outdated server versions, and common misconfigurations, then reports what responds.

Set -host and -port, force TLS with -ssl, narrow categories with -Tuning, and cap the run with -maxtime. -Format writes csv, html, xml, nbe, or txt for triage downstream.

Wire the node with -host after httpx confirms the port; output is a results file and folder for downstream triage. Prefer nuclei when you need template-driven CVE coverage across many targets.

source github.com/sullo/nikto

use cases

Where nikto fits

Surface known web server issues

Scan a live host to catch dangerous files, outdated software, and misconfigurations from nikto's checks before deeper manual testing.

Scan a named virtual host

Set -vhost so the Host header targets the right application on a server that routes multiple sites by name behind one IP.

Export structured findings

Write output as XML or CSV with -Format so results feed a report generator or land in a queryable table for triage.

Bound long scans

Use -maxtime and -Pause to cap how long a single host takes and space requests, keeping a broad scan from stalling on one slow server.

reference

nikto inputs and flags

32 inputs
NameTypeFlagDescription
hostSTRING-hostTarget host to scan.
portSTRING-portPort to use (default 80).
force-sslBOOLEAN-sslForce SSL mode on the port.
formatSTRING-FormatOutput file format (csv, html, nbe, txt, xml).
scan-tuningSTRING-TuningNarrow the test categories run against the target.
pluginsSTRING-PluginsSelect which plugins to run (default: ALL).
maxtimeSTRING-maxtimeMaximum testing time per host (e.g. 1h, 60m, 3600s).
proxySTRING-useproxyRoute requests through a proxy (http://server:port).

Showing key inputs. nikto exposes 32 inputs in total.

Full flag reference (32 inputs)
NameTypeFlagDescription
hostSTRING-hostTarget host.
portSTRING-portPort to use (default 80).
pauseSTRING-PausePause between tests in seconds (integer or float).
proxySTRING-useproxyUse the proxy defined in nikto.conf, or an http://server:port argument.
untilSTRING-untilRun until the specified time or duration.
vhostSTRING-vhostVirtual host to send in the Host header.
configFILE-configUse this config file.
formatSTRING-FormatOutput file format (csv, html, nbe, txt, xml).
mutateSTRING-mutateGuess additional file names.
no-404BOOLEAN-no404Disable nikto's attempt to guess a 404 page.
no-sslBOOLEAN-nosslDisable the use of SSL.
dbcheckBOOLEAN-dbcheckCheck the database and other key files for syntax errors.
displaySTRING-DisplayTurn display outputs on or off (options: 1, 2, 3, 4, D, E, P, S, V).
maxtimeSTRING-maxtimeMaximum testing time per host (e.g. 1h, 60m, 3600s).
pluginsSTRING-PluginsList of plugins to run (default: ALL).
timeoutSTRING-timeoutTimeout for requests (default 10 seconds).
userdbsSTRING-UserdbsLoad only user databases, not the standard databases.
cgi-dirsSTRING-CgidirsScan these CGI dirs: "none", "all", or values like "/cgi/ /cgi-a/".
no-slashBOOLEAN-noslashStrip the trailing slash from a URL (e.g. '/admin/' to '/admin').
nolookupBOOLEAN-nolookupDisable DNS lookups.
rsa-certFILE-RSAcertClient certificate file.
force-sslBOOLEAN-sslForce SSL mode on the port.
hosts-fileFILE-hostFile of target hosts to scan.
ignore-codeSTRING-IgnoreCodeIgnore these status codes and treat them as negative responses.
scan-tuningSTRING-TuningScan tuning to control which test categories run.
use-cookiesBOOLEAN-usecookiesUse cookies from responses in future requests.
mutate-optionsSTRING-mutate-optionsProvide information for mutates.
root-directorySTRING-rootPrepend a root value to all requests, format is /directory.
client-cert-keyFILE-keyClient certificate key file.
follow-redirectsBOOLEAN-followredirectsFollow 3xx redirects to the new location.
evasion-techniqueSTRING-evasionEncoding technique used to evade IDS filtering.
host-authenticationSTRING-idHost authentication to use, format is id:pass or id:pass:realm.

example

Run nikto

nikto · command
# scan a host over SSL, narrow the tests, and write XML for a reportnikto -host example.com -port 443 -ssl -Tuning 123b -Format xml -o scan.xml
sample output
- Nikto v2.5.0---------------------------------------------------------------------------+ Target IP:          203.0.113.10+ Target Hostname:    example.com+ Target Port:        443+ Start Time:         2026-06-18 14:22:07 (GMT0)---------------------------------------------------------------------------+ Server: nginx+ /: The X-Content-Type-Options header is not set.+ /: The anti-clickjacking X-Frame-Options header is not present.+ /admin/: Admin login page/section found.+ /backup/: Directory indexing found.+ 7915 requests: 0 error(s) and 6 item(s) reported on remote host+ End Time:           2026-06-18 14:39:51 (GMT0) (1064 seconds)

guidance

Choosing nikto

Reach for nikto when you want a quick known-issue pass on a single live web host. Feed it hosts from httpx and bound runs with -maxtime. For current CVE templates at scale, use nuclei instead or alongside.

nuclei

Template-driven scanner with a large community ruleset. Prefer it for current CVE coverage and pipeline scale.

wapiti

Active web vulnerability scanner that crawls and fuzzes. nikto leans on a known-issue database instead of crawling.

whatweb

Fingerprints the stack rather than testing for flaws. Run it alongside nikto to identify what you are scanning.

faq

nikto questions

Set -host to the target, for example `nikto -host example.com`. Add -port and -ssl for HTTPS. On the node, map the target to the host input instead of typing the flag.

Run nikto yourself

A host list is probed by httpx, then nikto scans the live web servers for known issues and writes the findings as a queryable output.

Facts on this page come from the live Trickest tool library.