it-swarm.com.de

Verbinde dich über Netcat und sende Nachrichten im Bash-Skript

Wenn ich ein Bash-Skript wie das folgende schreibe:

#!/bin/bash

nc localhost [pseudoport]
echo "test"

es stellt eine Verbindung zum Server her, sendet jedoch nicht den Text "test".

Es funktioniert mit

#!/bin/bash

echo "test" | nc localhost [pseudoport]

Das Problem hierbei ist, dass die Verbindung beendet wird, nachdem etwas empfangen wurde.

Wie kann ich mehrere Nachrichten senden, in meinem Fall eine feste Präambel gefolgt von variablen Daten?

2
OcK

Ich habe hier eine Möglichkeit gefunden, dies zu tun: Befehle mit netcat an Socket senden

Sie müssen die Nachrichten, die Sie senden möchten, in eine Textdatei einfügen (sagen wir msg.txt) und dann

nc localhost [pseudoport] < msg.txt

Die Textdatei sollte folgendermaßen aussehen:

message1
message2
message3
...

Jede Nachricht muss in einer neuen Zeile stehen.

Der Link, den ich gepostet habe, hat eine bessere Erklärung, warum dies so gemacht werden muss, wie es hier gemacht wird (es gibt keine Erklärung in dem doppelten Artikel).

1
OcK