Attacker machine
Ubuntu/Windows VM
Mạng lab riêng
# Ubuntu/Debian
sudo apt update
sudo apt install nmap
# CentOS/RHEL
sudo yum install nmap
# Kiểm tra version
nmap --version
# Ubuntu/Debian
sudo apt install netcat-openbsd
# CentOS/RHEL
sudo yum install nc
# Kiểm tra
nc -h
# Cài đặt các công cụ bổ sung
sudo apt install whois dnsutils curl wget
# Hoặc cài đặt Kali tools
sudo apt install kali-linux-default
# Ping scan để tìm host còn sống
nmap -sn 192.168.1.0/24
# Scan một range IP cụ thể
nmap -sn 192.168.1.1-254
# Scan với timeout nhanh
nmap -sn --max-retries 1 192.168.1.0/24
# Scan port phổ biến
nmap 192.168.1.100
# Scan tất cả port (65535 port)
nmap -p- 192.168.1.100
# Scan port cụ thể
nmap -p 22,80,443,3306 192.168.1.100
# Scan với timing template
nmap -T4 192.168.1.100
# Phát hiện service và version
nmap -sV 192.168.1.100
# Phát hiện OS
nmap -O 192.168.1.100
# Kết hợp tất cả
nmap -sV -O -sC 192.168.1.100
# Chạy script mặc định
nmap -sC 192.168.1.100
# Chạy script cụ thể
nmap --script=http-title 192.168.1.100
nmap --script=ssl-cert 192.168.1.100
# Chạy nhiều script
nmap --script=http-*,ssl-* 192.168.1.100
# Chạy script theo category
nmap --script=vuln 192.168.1.100
# Timing templates (T0-T5)
nmap -T0 192.168.1.100 # Paranoid (rất chậm)
nmap -T1 192.168.1.100 # Sneaky
nmap -T2 192.168.1.100 # Polite
nmap -T3 192.168.1.100 # Normal (mặc định)
nmap -T4 192.168.1.100 # Aggressive
nmap -T5 192.168.1.100 # Insane (rất nhanh)
# Custom timing
nmap --min-rate 1000 192.168.1.100
nmap --max-rate 100 192.168.1.100
# Xuất ra file
nmap -oN scan_results.txt 192.168.1.100
nmap -oX scan_results.xml 192.168.1.100
nmap -oG scan_results.grep 192.168.1.100
# Xuất tất cả format
nmap -oA scan_results 192.168.1.100
# Kết nối đến port 80 (HTTP)
nc -v 192.168.1.100 80
# Kết nối đến port 22 (SSH)
nc -v 192.168.1.100 22
# Kết nối với timeout
nc -w 5 192.168.1.100 80
# Gửi HTTP request
echo -e "GET / HTTP/1.1\r\nHost: 192.168.1.100\r\n\r\n" | nc 192.168.1.100 80
# Hoặc sử dụng curl
curl -I http://192.168.1.100
curl -v http://192.168.1.100
# Kết nối SSH và xem banner
nc 192.168.1.100 22
# Sử dụng telnet
telnet 192.168.1.100 22
# Sử dụng nmap script
nmap --script=ssh-hostkey 192.168.1.100
# Xem file normal output
cat scan_results.txt
# Xem file XML
cat scan_results.xml
# Parse XML với grep
grep "portid\|service\|version" scan_results.xml
# Tạo summary
nmap -sV -O 192.168.1.100 | tee scan_summary.txt
# Export ra HTML
xsltproc scan_results.xml -o scan_report.html
# Tạo báo cáo tùy chỉnh
nmap -sV --script=banner 192.168.1.100 | \
awk '/^[0-9]/{print "Port: " $1 " Service: " $3 " Version: " $4}'