Files
svr/usr/bin/nmap_script.sh
T

82 lines
2.0 KiB
Bash
Raw Normal View History

2026-01-23 08:55:18 +01:00
#!/bin/bash
if [ -z "$1" ] ; then echo "no args" ; exit 1 ; fi
TARGET=$1
DIR="$HOME/journal/net/scan/$2"
[[ "$DIR" != */ ]] && DIR="$DIR/"
OUTPUT_DIR=$DIR"${TARGET}_$(date +%F_%H-%M-%S).nmap"
mkdir -p "$OUTPUT_DIR"
log() {
echo "[+] $1"
echo "[+] $1" >> "$OUTPUT_DIR/scan.log"
}
log "Target: $TARGET"
### 1. Passive recon
log "DNS & WHOIS"
dig +short "$TARGET" > "$OUTPUT_DIR/dns.txt"
whois "$TARGET" > "$OUTPUT_DIR/whois.txt"
nslookup "$TARGET" > "$OUTPUT_DIR/nslookup.txt"
log "Traceroute"
traceroute "$TARGET" > "$OUTPUT_DIR/traceroute.txt"
# Détection IPv4 / IPv6
IPV4=$(dig +short A "$TARGET" | head -n1)
IPV6=$(dig +short AAAA "$TARGET" | head -n1)
scan_block() {
local mode=$1 # "IPv4" ou "IPv6"
local opt=$2 # "" ou "-6"
log "=== $mode Scans ==="
log "Fast TCP Scan (top 100 ports)"
sudo nmap $opt -Pn -sS -sV --top-ports 100 -T2 "$TARGET" -oN "$OUTPUT_DIR/nmap_${mode}_fast_tcp.txt"
log "Full TCP Scan (all 65535 ports)"
sudo nmap $opt -Pn -sS -p- -T3 "$TARGET" -oN "$OUTPUT_DIR/nmap_${mode}_full_tcp.txt"
log "UDP Scan (top 50 ports)"
sudo nmap $opt -Pn -sU --top-ports 50 -T4 "$TARGET" -oN "$OUTPUT_DIR/nmap_${mode}_udp.txt"
log "SCTP Init Scan (top 50 ports)"
sudo nmap $opt -Pn -sY --top-ports 50 -T3 "$TARGET" -oN "$OUTPUT_DIR/nmap_${mode}_sctp.txt"
log "Service Detection (all protocols)"
sudo nmap $opt -Pn -sV -p- -sS -sU -T2 "$TARGET" -oN "$OUTPUT_DIR/nmap_${mode}_service.txt"
log "OS Detection"
sudo nmap $opt -Pn -O -A -T2 "$TARGET" -oN "$OUTPUT_DIR/nmap_${mode}_os.txt"
log "Nmap Vulnerability Scripts"
sudo nmap $opt -Pn --script vuln -T2 "$TARGET" -oN "$OUTPUT_DIR/nmap_${mode}_vuln.txt"
}
### 2. Lancer scans selon ce qui est dispo
if [ -n "$IPV4" ]; then
log "IPv4 detected: $IPV4"
scan_block "ipv4" ""
else
log "No IPv4 found"
fi
if [ -n "$IPV6" ]; then
log "IPv6 detected: $IPV6"
scan_block "ipv6" "-6"
else
log "No IPv6 found"
fi
### 3. Fin
log "Scan completed. Results in $OUTPUT_DIR/"
# Hook perso
source "$HOME/.bashrc"
journal "$OUTPUT_DIR" README