PAGES
← all tools
◆ Web Application Security

nikto

2.6.1 open-source

Web server scanner that tests for dangerous files, outdated software, and misconfigurations across web servers.

Summary

Nikto is an open-source web server scanner, free to use, that tests a target host for dangerous files, outdated software, and misconfigurations across multiple protocols. It runs as a command-line Perl script or as a Docker container, making it a fit for penetration testers and application security teams who need a quick pass over a server before or alongside deeper manual testing. It sits in the web vulnerability scanning space, flagging things like missing security headers, exposed version banners, and admin login pages, with reports exportable to JSON, XML, or directly into a SQL database for centralized tracking. First committed in 2012, it remains active with 91 contributors and a release just three weeks old.

Web server scanner that tests for dangerous files, outdated software, and misconfigurations across web servers.

How nikto helps

Which security-relevant HTTP response headers is this server failing to send?

checks each response for headers like strict-transport-security, content-security-policy, x-content-type-options, referrer-policy, and permissions-policy, and lists each one missing by name

What is this web server quietly telling attackers about itself?

inspects response headers such as x-powered-by for version strings and reports the software and version they disclose, as seen with an exposed PHP version banner

Is there an admin login page sitting exposed on this host?

walks known paths against the target and reports discovered login pages such as an admin panel at a predictable URL

Which outdated software or dangerous files is this server exposing?

matches responses against its test database of known files, banners, and misconfigurations and lists each match found

Can I get these findings into a system I already use for tracking?

writes the same scan results out as JSON, XML, or directly into a SQL database, so findings from one pass land in an existing reporting pipeline

Did this scan actually finish, or did it stop partway through?

reports the count of items found alongside any errors and stops at a time limit, so a run cut short shows fewer items and a nonzero error count rather than a clean finish

all 14 features, with the evidence for each →

Languages

Not documented

Features

14 capabilities · 5 backed by code, an API document or a real run

Built from nikto's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

  • nikto covers 1 of the 8 vulnerability assessment methods capabilities we track.

What nikto offers you

  • Command-line interface4
  • JSON data export1
  • User-defined detection rules1
Web vulnerability scanning 4 features Vulnerability assessment methods since 2023
Web server scanning verified Scans a web server to find known vulnerabilities, misconfigurations, outdated software, and missing security headers. 4 releases · 19 other sources · first seen Dec 2023

Shared capability: Web vulnerability scanning

release

  • All-new cross-platform LFI testing with automatic platform detection. 2.6.0 · Feb 2026 · source · release history
  • ~10% faster scans through core engine optimizations. 2.6.0 · Feb 2026 · source · release history
  • Adds -followredirects CLI flag to automatically fetch and test 3xx response targets 2.5.0 · Dec 2023 · source · release history
  • Adds -noslash CLI flag to strip trailing slashes from directory paths during scanning 2.5.0 · Dec 2023 · source · release history

docs

  • Web server scanner that tests for dangerous files, outdated software, and misconfigurations across web servers.

we ran it 17 total

  • Nikto warned Unable to load valid checks due to the user-databases-only mode, yet still completed 655 requests and reported 6 items: one x-powered-by header disclosure (PHP/8.5.6) and five missing… Aug 2026 · the full run
  • 12 items reported before hitting the 60-second time limit. Findings include outdated software (Apache/2.4.57 and PHP/8.2.17), five missing security response headers, a robots.txt with 2 entries, an… Aug 2026 · the full run
  • The scan reported 7 items against Apache/2.4.67 (Debian) running PHP/8.5.6: five missing security headers (content-security-policy, permissions-policy, referrer-policy, strict-transport-security,… Aug 2026 · the full run
  • The scan reported 7 items against Apache/2.4.67 (Debian) running PHP/8.5.6: five missing security response headers, an exposed x-powered-by header, and an admin login page at /login.php. Aug 2026 · the full run
  • For 85 seconds, hit the 60-second maxtime limit, and exited with status 0 after reporting 6 items and 4 errors. Aug 2026 · the full run
  • For 84 seconds (hitting the 60-second limit) and reported 7 items: five missing HTTP security headers (strict-transport-security, referrer-policy, x-content-type-options, content-security-policy,… Aug 2026 · the full run

example

  • Scan a web server for known issues nikto -h https://site
HTTPS and port-specific scanning shipped Scans web servers on user-specified ports and supports HTTPS targets over TLS. 3 releases · 2 other sources · first seen Jul 2026

Shared capability: Web vulnerability scanning

Also counts toward: Command-line interface

release

  • TLS connections now use keep-alives for session reuse, delivering an ~18% scan speed increase; disable with -nosslkeepalive if a server misbehaves. 2.6.1 · Jul 2026 · source · release history
  • Enables TLS keep-alives by default for session reuse, adding ~18% scan speed increase. 2.6.1 · Jul 2026 · source · release history
  • Disables TLS keep-alives with the new -nosslkeepalive flag. 2.6.1 · Jul 2026 · source · release history

example

  • Disable TLS session reuse to work around misbehaving servers that fail on keep-alive connections. nikto -h example.com -nosslkeepalive 2.6.1 · Jul 2026 · source
  • Scan a specific HTTPS port nikto -h 10.0.0.5 -p 443 -ssl
Cookie forwarding shipped Automatically forwards cookies received from the target server in subsequent requests to maintain session state during scanning. 2 releases · first seen Dec 2023

Shared capability: Web vulnerability scanning

Also counts toward: Command-line interface

release

  • Cookies enabled by default for more realistic scanning behavior. 2.6.0 · Feb 2026 · source · release history
  • Adds -usecookies CLI flag to forward cookies received from the target server in subsequent requests 2.5.0 · Dec 2023 · source · release history
User-only database scan mode verified Runs the scan using only the user's own check databases, ignoring nikto's built-in checks entirely. 1 other source · first seen Aug 2026

Shared capability: Web vulnerability scanning

we ran it

  • Nikto warned Unable to load valid checks due to the user-databases-only mode, yet still completed 655 requests and reported 6 items: one x-powered-by header disclosure (PHP/8.5.6) and five missing… Aug 2026 · the full run
Other / not yet classified 10 features Features we have not matched to a capability yet. A suggested match is marked.
User-Agent control shipped suggested Lets the user set a fixed User-Agent string for all requests or rotate User-Agent strings randomly across requests to reduce fingerprinting. 5 releases · 1 other source · first seen Feb 2026

Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.

Also counts toward: Command-line interface

release

  • User-Agent is no longer rotated on every request by default; workflows depending on per-request UA rotation must add -evasion R explicitly. 2.6.1 · Jul 2026 · source · release history
  • Switches default User-Agent to a static Chrome UA for more stable server responses, with per-request randomization now opt-in via -evasion R. 2.6.1 · Jul 2026 · source · release history
  • Adds -useragent flag to force a specific User-Agent string for all requests. 2.6.1 · Jul 2026 · source · release history
  • Adds -evasion R option for per-request random User-Agent rotation from the database. 2.6.1 · Jul 2026 · source · release history
  • Randomized User-Agent selection per request for more evasive scanning. 2.6.0 · Feb 2026 · source · release history

example

  • Force a specific User-Agent string instead of the default static Chrome UA. nikto -h example.com -useragent 'MyCustomBot/1.0' 2.6.1 · Jul 2026 · source
Scan time limiting verified Stops a scan automatically once a user-defined time limit is reached, preventing runaway scans on slow hosts. 5 other sources · first seen Aug 2026

we ran it

  • For 85 seconds, hit the 60-second maxtime limit, and exited with status 0 after reporting 6 items and 4 errors. Aug 2026 · the full run
  • For 84 seconds before the 60-second maxtime limit triggered an error, terminating early with 4 errors and 7 items reported. Aug 2026 · the full run
  • The scan reported 7 items across 1 host before terminating early due to the 60-second limit being reached (actual elapsed time was 84 seconds). Aug 2026 · the full run
  • The scan reported 7 items against 1 host before terminating due to 4 errors and the 60-second time limit being reached at 85 seconds elapsed. Aug 2026 · the full run
  • For 85 seconds before the 60-second host limit triggered an error, reporting 7 items across 1 host: five missing security headers (content-security-policy, referrer-policy, x-content-type-options,… Aug 2026 · the full run
Database output for findings shipped Writes scan findings directly into a MySQL or PostgreSQL database so results from multiple scans can be stored and queried centrally. 3 releases · 2 other sources · first seen Feb 2026

Also counts toward: Command-line interface

release

  • Adds -F sqld output format to insert findings directly into MySQL or PostgreSQL databases. 2.6.1 · Jul 2026 · source · release history
  • Adds -F sqld output format to insert findings directly into a MySQL or PostgreSQL database via the new SQL Direct plugin. 2.6.1 · Jul 2026 · source · release history
  • Rewritten JSON, XML, and SQL report plugins with updated output formats. 2.6.0 · Feb 2026 · source · release history

example

  • Scan a target and write results directly to a PostgreSQL database for immediate analysis. nikto -h example.com -F sqld 2.6.1 · Jul 2026 · source
  • Stream scan findings directly into a PostgreSQL database for centralized reporting across multiple scans. nikto.pl -h https://target.example.com -o results -F sqld 2.6.1 · Jul 2026 · source
Connection failure reporting verified Reports when a connection to the target cannot be made and offers guidance for diagnosing the problem. 1 release · 3 other sources · first seen Dec 2023

release

we ran it

  • The tool failed immediately with a connection error, reporting it could not reach dvwa:80 and suggesting the -check6 flag be used to verify IPv6 connectivity. No scan findings were produced. Aug 2026 · the full run
  • The tool failed to establish a TCP connection to dvwa on port 80 and printed a single FAIL message. No scan results were produced. The exit status of 0 was returned despite the connection failure. Aug 2026 · the full run
  • The tool failed to establish a connection to dvwa on port 80, printing a single FAIL message and producing no scan findings. Exit status 0 was returned despite the connection failure. Aug 2026 · the full run
Custom rule matching with DSL shipped Lets users write their own detection rules using a built-in DSL, including rules that match on HTTP cookie content. 2 releases · first seen Feb 2026

Also counts toward: User-defined detection rules

release

  • Adds COOKIE: and !COOKIE: DSL matchers to the test database for matching or excluding HTTP cookie content in custom rules. 2.6.1 · Jul 2026 · source · release history
  • New Domain Specific Language (DSL) enables more expressive and accurate test authoring. 2.6.0 · Feb 2026 · source · release history
HTML report output shipped Saves scan findings to a self-contained HTML report file. 1 release · 1 other source · first seen Feb 2026

release

  • Multiple report formats can be generated from a single scan simultaneously. 2.6.0 · Feb 2026 · source · release history

example

  • Save an HTML report nikto -h site -o report.html -Format htm
Version and banner reporting verified Displays the tool version and runtime environment details when nikto starts. 1 other source · first seen Aug 2026

we ran it

  • The tool reported Nikto version 2.6.0 running on LW 2.5. The run exited with status 0, indicating success, and completed in 49ms with no additional plugin or database version details printed beyond… Aug 2026 · the full run
Alt-SVC header detection shipped suggested Detects and reports on alt-svc HTTP headers in server responses. 1 release · first seen Dec 2023

Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.

release

Docker container execution shipped Allows running the cyber tool within a Docker container for isolated scanning. 1 other source

example

  • Scan target via Docker container docker run --rm hackllc/nikto -h http://www.example.com
JSON report output shipped Saves scan findings as a JSON formatted report file. 1 other source

Also counts toward: JSON data export

example

  • Scan and save JSON report docker run --rm -v $(pwd):/tmp hackllc/nikto -h http://www.example.com -o /tmp/out.json

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for nikto, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail nikto puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

Show

3 entries

  1. July 20261
  2. February 20261
  3. December 20231
    Show

    3 entries

    Project health

    Issue, contributor and maintainer activity in sullo/nikto, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 6 −1 vs prior 12 months
    2. Maintainers 1 +0 joined · −1 left, last 12 months
    3. Bus factor 1 committers behind half the commits
    4. Community-filed 95% of issues opened, last 12 months
    5. Median time to close < 1 day first maintainer reply 4.8 hours
    6. Open backlog 0 of 498 issues ever filed
    1. Issues opened / month 0 · 0 communitymaintainers
    2. Open backlog 0
    3. Contributors / month 0
    4. Commits / month 0
    5. Stars 10,734
    Issue themes, last 12 months
    • bugs 62%
    • features 14%
    • other 24%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →