March 31, 2009

httpingでHTTPサーバへポーリング





HTTPサーバへポーリングする際に、ICMPが使えないことってありませんか?
あるいはTCP80ポートでちゃんと仕事してるか、チェックしたくないですか?
そういう時に、httpingというコマンドが有効かもしれません。
そのネーミングはシャレかと・・・。

$ sudo apt-get install httping
(snip)
$ httping -g http://hogeo.jp/ -c 5
PING hogeo.jp:80 (http://hogeo.jp/):
connected to hogeo.jp:80, seq=0 time=49.89 ms
connected to hogeo.jp:80, seq=1 time=135.40 ms
connected to hogeo.jp:80, seq=2 time=51.43 ms
connected to hogeo.jp:80, seq=3 time=82.42 ms
connected to hogeo.jp:80, seq=4 time=62.31 ms
--- http://hogeo.jp/ ping statistics ---
5 connects, 5 ok, 0.00% failed
round-trip min/avg/max = 49.9/76.3/135.4 ms



んで、パケットキャプチャしたのが下記。前半部分がhttpingからのリクエスト。後半部分がHTTPサーバからのレスポンス。


HEAD http://hogeo.jp/ HTTP/1.0
User-Agent: HTTPing v1.2.3
Host: hogeo.jp

HTTP/1.1 200 OK
Date: Wed, 01 Apr 2009 07:29:24 GMT
Server: Apache
Last-Modified: Thu, 29 May 2008 23:36:30 GMT
ETag: "a6000b-135d-483f3dfe"
Accept-Ranges: bytes
Content-Length: 4957
Connection: close
Content-Type: text/html



ん、Content-Lengthが4957byte?どこにそんなRequest Bodyがあるんすか・・・。


$ httping -V
HTTPing v1.2.3, (C) 2003-2005 folkert@vanheusden.com
SSL support included


SSLもサポートしてるようです、ほうほう。