Cansina - Web Content Discovery Tool

Cansina is a Web Content Discovery Tool. This tool works in request and response so we can find directories of our target website. It filter requests and responses and gives you output in proper layout and with error codes (401, 403, …etc) It saves your scanning results in sqlite database for later process or accessing them.


  • Multithreading
  • Http / Https
  • Proxy support
  • Data persistence
  • Basic Authentication
  • Resume

How to install Cansina is a Web Content Discovery Tool?

Cansina is not pre-installed in most of the distros so we get from Github.

Download or Git Clone

git clone GitHub - deibit/cansina: Web Content Discovery Tool

Now, It’s time to test

Don’t Miss: How to Find Hidden Directories and Files in Websites Using Dirb

Usage -h for a comprehensive list of features and choices

Simple case -u target_url -p payload_filename

Will make GET requests using 4 threads by default

Banning HTTP responde codes to output -u target_url -p payload_filename -b 404,400,500

Selected codes will be skipped

Adding a .php extension to every record in payload -u target_url -p payload_filename -e php

Make all payload entries end with an extension

Adding a list of extensions -u target_url -p payload_filename -e php,asp,aspx

Same as above but will repeat every request for every extension provided

Inspecting content -u target_url -p payload_filename -c look_for_this_text

Cansina will report to screen if the content is detected in response

Filtering by content -u target_url -p payload_filename -d look_for_this_text

If the content is found it will be processed as a 404 Not Found page

Autodiscriminator -u target_url -p payload_filename -D

First, Cansina will try to make and remember a 404 response and will skip similar responses

Replacing -u target_url/*_this/ -p payload_filename

Simple string replacing. Useful when a URL pattern is observable

Size filtering -u target_url -s 1495 -p payload_filename

If you don’t want a response and know its size is fixed this could help skipping all those responses.

Also, it can be a list of sizes: -u target_url -s 0,1495,1337 -p payload_filename

Uppercase all requests -u target_url -U -p payload_filename

Just make every payload UPPERCASE

Threading -u target_url -t8 -p payload_filename

Set the threading level. 4 by default.

Change GET → HEAD requests -u target_url -H -p payload_filename

Make requests using HEAD HTTP method. Be aware size and content filtering won’t work

Delay between requests -u target_url -T 1.25 -p payload_filename

Set a delay between resquests. Time is set in float format. E.g: 1.25 seconds

User agent -u target_url -p payload_filename -a user_agent

Set an alternative User-Agent string

Proxy requests -u target_url -p payload_filename -Phttp://

Simple http proxy

Basic authentication -u target_url -p payload_filename -Auser:password

Manages basic authentication

Resume session -r resume_file

Resume last interrupted session with all options and payload with former linenumber

Parse robots.txt -R

Cansina will parse the robots.txt file an use it as a payload if it exists