netcatによるワンライナーWebサーバ
起動方法
/bin/bash -c "while :; do echo -ne 'HTTP/1.0 200 OK\r\nContent-Length: 0\r\n\r\n' | nc -l -p 8080 -w 30; done"
終了方法
psコマンドでpidを確認後、killコマンドで終了させる。
kill -9 プロセスID
終了直後にncコマンドのプロセスが残っていることがあるが、しばらくすると消える。
もう少しスマートに出来ると良いのだが。
whileで無限ループさせているため、ncコマンドだけをkillしようとしてもうまくいかない。すぐに次のncが起動してしまうので。そこでbash -cのとして一枚かぶせている。
確認方法
curlやwgetなどを使ってアクセスすれば動作確認可能。ブラウザでも可能だが、自分のMac環境だとGoogle chromeは接続できなかった。Firefox、safariは平気だった。
curl http://localhost:8080
上記コマンドを投げると、nc側のコンソールには、以下のように出力されている。
GET / HTTP/1.1 User-Agent: curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.5 Host: localhost:8080 Accept: */*