Portscanner mit der Shell: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
|||
| (2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
=/dev/tcp in Sub-Shell= | =/dev/tcp in Sub-Shell= | ||
* '''bash -c ">/dev/tcp/ | * '''bash -c ">/dev/tcp/<IP>/<PORT>"''' - liefert eine true wenn der Port offen ist. | ||
* '''bash -c ">/dev/tcp/ | * '''bash -c ">/dev/tcp/<IP>/<PORT>"''' - liefert eine false wenn der Port geschlossen ist. | ||
=Aufgabe= | =Aufgabe= | ||
| Zeile 11: | Zeile 11: | ||
** Ausgabe nur für offene Ports, exakt diese Zeile: | ** Ausgabe nur für offene Ports, exakt diese Zeile: | ||
*** Auf dem Ziel: <ZIEL> ist der Port: <PORT> offen | *** Auf dem Ziel: <ZIEL> ist der Port: <PORT> offen | ||
** Script muss klein, lesbar und ohne externe Tools sein ( | ** Script muss klein, lesbar und ohne externe Tools sein. | ||
<!--- | |||
#!/bin/bash | |||
ZIEL=$1 | |||
PORT_A=$2 | |||
PORT_E=$3 | |||
test $# -eq "2" && PORT_E=$PORT_A | |||
for ((I=$PORT_A;I<=$PORT_E;I++)) | |||
do | |||
if bash -c ">/dev/tcp/$ZIEL/$I" > /dev/null 2>&1 | |||
then | |||
echo Auf dem Ziel: $ZIEL ist der Port: $I offen | |||
fi | |||
done | |||
---> | |||
Aktuelle Version vom 6. November 2025, 20:20 Uhr
/dev/tcp in Sub-Shell
- bash -c ">/dev/tcp/<IP>/<PORT>" - liefert eine true wenn der Port offen ist.
- bash -c ">/dev/tcp/<IP>/<PORT>" - liefert eine false wenn der Port geschlossen ist.
Aufgabe
- Erstelle portscanner.sh mit Aufruf:
- ./portscanner.sh <ZIEL> <START_PORT> [END_PORT]
- Anforderungen:
- Wenn nur zwei Argumente übergeben werden, prüfe nur START_PORT.
- Nutze die Bash-/dev/tcp-Technik in einer Sub-Shell, z. B. 'bash -c ">/dev/tcp/$ZIEL/$PORT"' und unterdrücke Ausgabe/Fehler mit '> /dev/null 2>&1'.
- Ausgabe nur für offene Ports, exakt diese Zeile:
- Auf dem Ziel: <ZIEL> ist der Port: <PORT> offen
- Script muss klein, lesbar und ohne externe Tools sein.