TipsShell: Ajouter connexion TCP
This commit is contained in:
parent
0c0f9ceeaa
commit
bfba1cc65f
35
TipsShell.md
35
TipsShell.md
|
@ -844,3 +844,38 @@ $ bc
|
|||
> 1B
|
||||
27
|
||||
~~~
|
||||
|
||||
### Tester une connexion TCP ou UDP
|
||||
|
||||
Si on a pas [`telnet(1)`](https://manpages.debian.org/bullseye/telnet/telnet.1.en.html) ou [`netcat(1)`](https://manpages.debian.org/bullseye/netcat-openbsd/netcat.1.en.html) sous la main, on peut utiliser `/dev/tcp` et `/dev/udp`. Par exemple, pour tester une connexion à Redis :
|
||||
|
||||
~~~{.bash}
|
||||
$ exec 3<> /dev/tcp/127.0.0.1/6379
|
||||
$ echo quit >&3
|
||||
$ cat <&3
|
||||
+OK
|
||||
~~~
|
||||
|
||||
Un autre exemple avec HTTP :
|
||||
|
||||
~~~{.bash}
|
||||
$ exec 3<> /dev/tcp/example.com/80
|
||||
$ printf 'GET /index.html HTTP/1.1\r\nHost: example.com\r\n\r\n' >&3
|
||||
$ cat <&3
|
||||
HTTP/1.1 200 OK
|
||||
[...]
|
||||
~~~
|
||||
|
||||
Dans ces exemples, on écrit avec une commande, puis on lit avec une autre. Pour avoir un semblant d'interactivité, on peut exécuter le processus qui lit la réponse en arrière plan avant d'écrire. Par exemple avec Redis :
|
||||
|
||||
~~~{.bash}
|
||||
$ exec 3<> /dev/tcp/127.0.0.1/6379
|
||||
$ cat <&3 & cat >&3
|
||||
[1] 31415
|
||||
auth REDACTED
|
||||
+OK
|
||||
quit
|
||||
+OK
|
||||
^C
|
||||
[1]+ Done cat 0<&3
|
||||
~~~
|
||||
|
|
Loading…
Reference in a new issue