Portscanner nur mit Linuxboardmitteln: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 1: | Zeile 1: | ||
| + | =Einfache sequentielle Methode= | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
#!/bin/bash | #!/bin/bash | ||
| Zeile 8: | Zeile 9: | ||
fi | fi | ||
done | done | ||
| + | </syntaxhighlight> | ||
| + | =Multithread Methode= | ||
| + | <syntaxhighlight lang="bash"> | ||
| + | #!/bin/bash | ||
| + | HOST="$1" | ||
| + | START="$2" | ||
| + | STOP="$3" | ||
| + | THREADS=50 # Anzahl paralleler Jobs | ||
| + | |||
| + | scan_port() { | ||
| + | PORT="$1" | ||
| + | (echo >/dev/tcp/$HOST/$PORT) >/dev/null 2>&1 | ||
| + | if [ $? -eq 0 ]; then | ||
| + | echo "Host: $HOST - Port: $PORT open" | ||
| + | fi | ||
| + | } | ||
| + | |||
| + | export -f scan_port | ||
| + | export HOST | ||
| + | |||
| + | seq $START $STOP | xargs -P $THREADS -I{} bash -c 'scan_port "$@"' _ {} | ||
| + | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Version vom 27. November 2025, 08:01 Uhr
Einfache sequentielle Methode
#!/bin/bash
HOST="$1"
for PORT in $(seq 1 1024); do
if (echo >/dev/tcp/$HOST/$PORT) 2>/dev/null
then
echo "OPEN: $PORT"
fi
done
Multithread Methode
#!/bin/bash
HOST="$1"
START="$2"
STOP="$3"
THREADS=50 # Anzahl paralleler Jobs
scan_port() {
PORT="$1"
(echo >/dev/tcp/$HOST/$PORT) >/dev/null 2>&1
if [ $? -eq 0 ]; then
echo "Host: $HOST - Port: $PORT open"
fi
}
export -f scan_port
export HOST
seq $START $STOP | xargs -P $THREADS -I{} bash -c 'scan_port "$@"' _ {}