Wie Sie Zugang zu Unix-Domain-Sockets von der Kommandozeile aus?
Lesen eines Unix-Domain-Socket-Datei mit Python ist ähnlich wie eine gewöhnliche TCP-socket:
>>> import socket
>>> import sys
>>>
>>> server_address = '/tmp/tbsocket1' # Analogous to TCP (address, port) pair
>>> sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
>>> sock.connect(server_address)
>>> sock.recv(512)
'*** uWSGI Python tracebacker output ***\n\n'
Da UDS sind keine gewöhnlichen Dateien, cat
funktioniert nicht auf:
$ sudo cat /tmp/tbsocket1
cat: /tmp/tbsocket1: No such device or address
Weder curl
:
$ sudo curl /tmp/tbsocket1
curl: (3) <url> malformed
Wie kann ich Lesen oder schreiben von Unix-Domain-Sockets mit standard-command-line-tools wie curl?
PS: In einem seltsamen Zufall, ein curl-patch wurde vor kurzem vorgeschlagen)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
ncat
Befehl aus dernmap
Projekt:Machen es leicht zugänglich, Sie können dies tun:
Können Sie auch
socat
:nc -U </unix/socket>
fast in jeder Linux -, BSD, MacOs.