LoginSignup
2
1

More than 5 years have passed since last update.

netcat で /var/run/docker.sock を叩く

Last updated at Posted at 2018-08-14

netcat で tcp を bash から叩く

netcat はシェルの標準入出力から TCP|UDP を叩くことができるコマンドです。
HTTP サーバや HTTP クライアントも作ることができます。
-U オプションを使えば unix domain socket も叩くことができます。

HTTP サーバ

#!/bin/bash
nc -l 8080 -q0 << 'EOF'
HTTP/1.1 200 Ok
Connection: close
content-type: plain/text
Hello World

EOF

-q0 で STDIN の EOF を検出したら0秒で終了します

HTTP クライアント

#!/bin/bash
nc localhost 8080 -q1 <<'EOF'
GET / HTTP/1.1
Host: localhost:8080

EOF

サーバの応答を待つために 1 秒だけ待っています

unix domain socket を叩く

/var/run/docker.sock も叩けます

#!/bin/bash
nc -U /var/run/docker.sock -q1 <<'EOF'
GET /containers/json?all=1&size=1 HTTP/1.1
Host: localhost:8080

EOF

デバッグなどに便利ですね

参考

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1