WebMap takes Nmap XML output and presents it as an interactive web view (running in a Docker container). Below is a clear, practical, and slightly safer step-by-step tutorial for installing and using WebMap on Kali Linux.
1) Prerequisites
-
Kali Linux (has
nmap
by default; if not:sudo apt install -y nmap
) -
Docker (we’ll install it below)
-
Basic terminal skills and root or sudo privileges
-
Security note: WebMap serves a web UI. Avoid binding it to all interfaces on an untrusted network — see the “Security tips” section.
2) Install Docker on Kali
Open a terminal and run:
sudo apt update
sudo apt install -y docker.io
Enable and start Docker so it persists across reboots:
sudo systemctl enable --now docker
Optional: add your user to the docker
group so you can run docker
without sudo
:
sudo usermod -aG docker $USER
# then log out and back in (or run `newgrp docker`)
3) Prepare a directory for WebMap XML files
Create a local folder that will be mounted into the container for WebMap to read XML files from:
mkdir -p /tmp/webmap
# ensure Docker can read it
chmod 755 /tmp/webmap
If you run Docker as a non-root user and encounter permission problems, you can chown
the folder to your uid:gid (for example chown 1000:1000 /tmp/webmap
) or run docker
commands with sudo
.
4) Pull & run the WebMap Docker image
Recommended docker run
(bind to localhost for safety and auto-restart):
docker run -d --name webmap -h webmap \
--restart unless-stopped \
-p 127.0.0.1:8000:8000 \
-v /tmp/webmap:/opt/xml \
reborntc/webmap
Explanation:
-
-p 127.0.0.1:8000:8000
binds the UI to localhost only (safer). If you need remote access, remove127.0.0.1:
or use an SSH tunnel. -
-v /tmp/webmap:/opt/xml
maps your XML folder into the container where WebMap expects scan files. -
--restart unless-stopped
keeps the container running after reboots.
To verify:
docker ps --filter "name=webmap"
5) Run Nmap and export the XML
Run Nmap and export using -oX
(XML format). Example:
nmap -sT -A -T4 -oX /tmp/webmap/myscan.xml 192.168.1.100
Explanation of options:
-
-sT
TCP connect scan (works without raw socket privileges) -
-A
enable OS/service/version detection and default scripts -
-T4
faster timing (use carefully on production networks) -
-oX /tmp/webmap/myscan.xml
saves XML to the folder that WebMap reads
You can run multiple scans and drop multiple XML files in /tmp/webmap
— WebMap will list them.
docker exec -it webmap /root/token
docker exec -it webmap /root/token
7) Open the Web UI
Open a browser on the Kali machine (or from a machine that can reach the host if you exposed the port):
-
URL:
http://127.0.0.1:8000
-
Enter the token from step 6 when prompted.
You should see the scans listed (files from /opt/xml
), and you can click to view results graphically.
8) Common tasks & tips
-
Add more scans: save additional
*.xml
files into/tmp/webmap
. Refresh the WebMap page to see them. -
Rename files: include timestamps in filenames to keep history:
myscan_2025-09-30_2030.xml
. -
Remove scans: delete the files from
/tmp/webmap
on the host; WebMap will no longer show them. -
View logs:
docker logs webmap
helps if the web UI is not responding. -
Stop / remove container:
docker stop webmap docker rm webmap
Update image: pull new image and recreate container:
docker pull reborntc/webmap
docker stop webmap && docker rm webmap
# then run the docker run command again (as in step 4)
Comments
Leave a Comment
No comments yet. Be the first to comment!