Portscanner mit der Shell: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| + | =/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= | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | =Aufgabe | ||
* Erstelle '''portscanner.sh''' mit Aufruf: | * Erstelle '''portscanner.sh''' mit Aufruf: | ||
| − | ** ./portscanner.sh | + | ** ./portscanner.sh <ZIEL> <START_PORT> [END_PORT] |
* Anforderungen: | * Anforderungen: | ||
** Wenn nur zwei Argumente übergeben werden, prüfe nur START_PORT. | ** Wenn nur zwei Argumente übergeben werden, prüfe nur START_PORT. | ||
| − | ** Nutze die Bash-/dev/tcp-Technik in einer Sub-Shell, z. B. | + | ** 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: | ** Ausgabe nur für offene Ports, exakt diese Zeile: | ||
| − | *** Auf dem Ziel: | + | *** 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.