GNU/Linux >> LINUX-Kenntnisse >  >> Linux

cURL missbrauchen, um mit Redis zu kommunizieren

Nicht curl, erfordert aber keine HTTP-Schnittstelle oder nc (ideal für so etwas wie einen Container, in dem nc nicht installiert ist)

exec 3<>/dev/tcp/127.0.0.1/6379 && echo -e "PING\r\n" >&3 && head -c 7 <&3

Sollte dir geben

+PONG

In diesem fantastischen Artikel können Sie mehr darüber lesen, was vor sich geht.


Wenn Sie curl verwenden möchten, benötigen Sie REST über RESP, wie webdis, tinywebdis oder turbowebdis. Siehe https://github.com/markuman/tinywebdis#turbowebdis-tinywebdis--cherrywebdis

$ curl -w '\n' http://127.0.0.1:8888/ping
{"ping":"PONG"}

Ohne eine REST-Schnittstelle für Redis können Sie beispielsweise netcat verwenden.

$ (printf "PING\r\n";) | nc <redis-host> 6379 
+PONG

Für passwortgeschützte Redis können Sie netcat wie folgt verwenden:

$ (printf "AUTH <password>\r\n";) | nc <redis-host> 6379
+PONG

Bei netcat müssen Sie das RESP-Protokoll selbst erstellen. Siehe http://redis.io/topics/protocol

Aktualisierung 09.01.2018

Ich habe eine mächtige Bash-Funktion gebaut, die die Redis-Instanz um jeden Preis über TCP anpingt

    function redis-ping() {
            # ping a redis server at any cost
            redis-cli -h $1 ping 2>/dev/null || \
                    echo $((printf "PING\r\n";) | nc $1 6379 2>/dev/null || \
                    exec 3<>/dev/tcp/$1/6379 && echo -e "PING\r\n" >&3 && head -c 7 <&3)
    }

Nutzung redis-ping localhost


Linux
  1. Richten Sie Nextcloud mit Redis mit Docker ein

  2. Eine Binärdatei mit Dd patchen?

  3. NodeBB mit Redis und Nginx unter Ubuntu 12.04 installieren und einrichten

  4. Durchführen von HTTP-Anforderungen mit cURL (unter Verwendung von PROXY)

  5. Wie kann ich einen HTTP PUT mit Wget durchführen?

Curl-Befehl in Linux mit Beispielen

So stellen Sie eine POST-Anfrage mit cURL

So laden Sie Dateien mit dem Curl-Befehl unter Linux herunter

So stellen Sie eine POST-Anfrage mit curl

Installieren Sie Redis auf Ubuntu

So richten Sie Logstash unter Linux mit ElasticSearch, Redis, Nginx ein