Ich sehe und benutze den Befehl nc
ein wenig, aber jedes Mal, wenn ich ihn sehe, finde ich heraus, was er tut, also notiere ihn mir.
Ein Befehl zum Starten eines einfachen Client- oder Serverprozesses.
Führen Sie die folgenden Schritte aus, um die Kommunikation als Client zu bestätigen.
nc Zielhost (IP-Adresse usw.) Portnummer
Es ist auch möglich, den Header zur Verarbeitung an den Zielport zu senden.
echo -en" GET / HTTP / 1.1 \ n \ n "| nc Zielhost (IP-Adresse usw.) 80
Sie können anhand des Rückgabewerts von nc überprüfen, ob das Verbindungsziel ausgeführt wird. Ich möchte es verwenden, wenn ich darauf warte, dass der Verbindungszielcontainer in Docker gestartet wird.
wait_for_port() {
local name="$1" host="$2" port="$3"
local j=0
while ! nc -z "$host" "$port" >/dev/null 2>&1 < /dev/null; do
j=$((j+1))
if [ $j -ge $TRY_LOOP ]; then
echo >&2 "$(date) - $host:$port still not reachable, giving up"
exit 1
fi
echo "$(date) - waiting for $name... $j/$TRY_LOOP"
sleep 5
done
}
Übrigens gibt es auch Artikel, die in mehreren Stufen ssh
-W host:port
Requests that standard input and output on the client be forwarded to host
on port over the secure channel. Implies -N, -T, ExitOnForwardFailure and
ClearAllForwardings, though these can be overridden in the configuration
file or using -o command line options.
Recommended Posts