256bitの殺人メニュー

インフラエンジニアだったソリューションアーキテクトなくわののブログ。こちらのBlogは個人の意見となっていて会社とは全く関係ありません。お約束です。[twitter:@kuwa_tw]めんどくさがりが重い腰を上げて何かをアウトプットすることにどれほどの意味があるのかを試してみたいブログでもある。

ssコマンドのちょっといい所見てみたい。のでネットワーク統計情報がどの程度見られるか試してみた。

netstatさんが時代遅れだって!?

netstat使ってるのは小学生までだよねー。
キャハハk(ry


、、、というのは冗談ですが、これからはssコマンドらしいって聞いたので、どんな感じで使えるか使ってみた。

ssコマンド

netstatの代替コマンドらしく、現在の通信状況の確認に使えるコマンドです。
メリットはsocketのrawでのsocketの扱いができる点かなと。
と、ipv6に強いところのようです。
でもあんまりipv6環境ってないですし、普段使いで代替になるかなーと思って見てみました。

基本的な使い方

netstatと似た感じっすよ。これ。

netstat
# netstat -naot
(snip)
tcp        0      0 192.168.100111:50271          192.168.10131:27218           ESTABLISHED keepalive (215.43/0/0)
tcp        0      0 192.168.100111:47743          192.168.101241:27118          ESTABLISHED keepalive (32.57/0/0)
tcp        0      0 192.168.100111:52676          192.168.1011:27218            ESTABLISHED keepalive (215.50/0/0)
tcp        0      0 192.168.100111:41431          192.168.254.21:389           ESTABLISHED off (0.00/0/0)
tcp        0      0 192.168.100111:38816          192.168.101242:27120          ESTABLISHED keepalive (89.38/0/0)
tcp        0      0 192.168.100111:43809          192.168.101243:27120          ESTABLISHED keepalive (247.80/0/0)
tcp        0      0 192.168.100111:50425          192.168.101242:27119          ESTABLISHED keepalive (248.01/0/0)
tcp        0      0 192.168.100111:52652          192.168.101241:27120          ESTABLISHED keepalive (212.13/0/0)
tcp        0      0 192.168.100111:34333          192.168.101243:27118          ESTABLISHED keepalive (266.52/0/0)
tcp        0      0 192.168.100111:54485          192.168.10162:27218           ESTABLISHED keepalive (215.45/0/0)
tcp        0      0 192.168.100111:52269          192.168.10119:27218           ESTABLISHED keepalive (225.53/0/0)
tcp        0      0 192.168.100111:50540          192.168.101242:27119          ESTABLISHED keepalive (146.26/0/0)
tcp        0      0 192.168.100111:47996          192.168.101241:27119          ESTABLISHED keepalive (230.38/0/0)
tcp        0      0 192.168.100111:34949          192.168.101242:27118          ESTABLISHED keepalive (266.87/0/0)
tcp        0      0 192.168.100111:35726          192.168.1017:27218            ESTABLISHED keepalive (32.53/0/0)
tcp        0      0 192.168.100111:43851          192.168.101243:27120          ESTABLISHED keepalive (182.12/0/0)
tcp        0      0 :::22                       :::*                        LISTEN      off (0.00/0/0)
ss

これをssに置き換えるとこんな感じになります。
多少見やすい&詳しいかなーって感じですね。

# ss -nae
(snip)
ESTAB      0      0              192.168.0.111:47892         192.168.1.241:27119  timer:(keepalive,4min4sec,0) uid:30124 ino:107616063 sk:ffff8802a5a82740
ESTAB      0      0              192.168.0.111:46282          192.168.1.55:27218  timer:(keepalive,4min35sec,0) uid:30124 ino:107616197 sk:ffff8803364f6240
ESTAB      0      0              192.168.0.111:57590          192.168.1.63:27218  timer:(keepalive,4min35sec,0) uid:30124 ino:107616261 sk:ffff8806372970c0
ESTAB      0      0              192.168.0.111:36083           192.168.1.9:27218  timer:(keepalive,4min35sec,0) uid:30124 ino:107616119 sk:ffff8803e1978e80
ESTAB      0      0              192.168.0.111:52569          192.168.1.29:27218  timer:(keepalive,4min45sec,0) uid:30124 ino:107616324 sk:ffff880634e3eb40
ESTAB      0      0              192.168.0.111:46785         192.168.1.243:27120  timer:(keepalive,3min47sec,0) uid:30124 ino:107797363 sk:ffff8802486582c0
ESTAB      0      0              192.168.0.111:48190          192.168.1.65:27218  timer:(keepalive,4min4sec,0) uid:30124 ino:107616154 sk:ffff8803e1978800
ESTAB      0      0              192.168.0.111:43882         192.168.1.243:27120  timer:(keepalive,3min35sec,0) uid:30124 ino:107616213 sk:ffff880635458fc0
ESTAB      0      0              192.168.0.111:52283          192.168.1.19:27218  timer:(keepalive,1min37sec,0) uid:30124 ino:107616334 sk:ffff880635562b80
ESTAB      0      0              192.168.0.111:54417          192.168.1.15:27218  timer:(keepalive,4min35sec,0) uid:30124 ino:107616229 sk:ffff880615bbc280
ESTAB      0      0              192.168.0.111:50442         192.168.1.242:27119  timer:(keepalive,40sec,0) uid:30124 ino:107616065 sk:ffff8802a5a820c0
ESTAB      0      0              192.168.0.111:34471         192.168.1.243:27118  timer:(keepalive,36sec,0) uid:30124 ino:107616356 sk:ffff8806359c52c0
ESTAB      0      0              192.168.0.111:50356          192.168.1.31:27218  timer:(keepalive,4min4sec,0) uid:30124 ino:107616264 sk:ffff880636364380
ESTAB      0      0              192.168.0.111:39473         192.168.1.243:27119  timer:(keepalive,1min41sec,0) uid:30124 ino:107615955 sk:ffff8803346b4700
ESTAB      0      0              192.168.0.111:34946         192.168.1.242:27118  timer:(keepalive,3min35sec,0) uid:30124 ino:107616348 sk:ffff880634451280
ESTAB      0      0              192.168.0.111:40771          192.168.1.14:27218  timer:(keepalive,4min35sec,0) uid:30124 ino:107616227 sk:ffff880615bbc900
ESTAB      0      0              192.168.0.111:34211          192.168.1.17:27218  timer:(keepalive,4min35sec,0) uid:30124 ino:107616243 sk:ffff8806357936c0
ESTAB      0      0              192.168.0.111:47727         192.168.1.241:27118  timer:(keepalive,14sec,0) uid:30124 ino:107615880 sk:ffff8803249fec00
ESTAB      0      0              192.168.0.111:50242          192.168.1.10:27218  timer:(keepalive,1min37sec,0) uid:30124 ino:107616328 sk:ffff880248659640
ESTAB      0      0              192.168.0.111:41378          192.168.1.46:27218  timer:(keepalive,4min35sec,0) uid:30124 ino:107616124 sk:ffff88030edbad80
ESTAB      0      0              192.168.0.111:36003          192.168.1.16:27218  timer:(keepalive,4min35sec,0) uid:30124 ino:107616241 sk:ffff880634fee300
ESTAB      0      0              192.168.0.111:53680          192.168.1.36:27218  timer:(keepalive,4min35sec,0) uid:30124 ino:107616083 sk:ffff880336608800
ESTAB      0      0              192.168.0.111:39591         192.168.1.243:27119  timer:(keepalive,3min35sec,0) uid:30124 ino:107616286 sk:ffff88063578f7c0
ESTAB      0      0              192.168.0.111:38896         192.168.1.242:27120  timer:(keepalive,4min40sec,0) uid:30124 ino:107616217 sk:ffff8806354582c0
ESTAB      0      0              192.168.0.111:56871          192.168.1.54:27218  timer:(keepalive,4min35sec,0) uid:30124 ino:107616173 sk:ffff88030efe9600
ESTAB      0      0              192.168.0.111:44895          192.168.1.56:27218  timer:(keepalive,4min35sec,0) uid:30124 ino:107616199 sk:ffff88030efe8f80
ESTAB      0      0              192.168.0.111:36694          192.168.1.61:27218  timer:(keepalive,4min35sec,0) uid:30124 ino:107616257 sk:ffff880636364a00

ちょっと便利な使い方

netstatでできない使い方を模索するの巻。

現状のESTAB数などを簡単に出す。

netstatだとgrep -cとかしてちょっと重いし時間かかるしでどーよこれってのがないのはよいですね。

# ss -s
Total: 310 (kernel 575)
TCP:   9326 (estab 112, closed 9201, orphaned 1, synrecv 0, timewait 9201/0), ports 18

Transport Total     IP        IPv6
*         575       -         -
RAW       0         0         0
UDP       14        8         6
TCP       125       121       4
INET      139       129       10
FRAG      0         0         0
フィルタで条件切って検索できる

例えばFIN-WAIT-1のものだけ検索とか。

# ss -en -o state fin-wait-1 '( sport = :http or sport = :https  )' | less
Recv-Q Send-Q             Local Address:Port               Peer Address:Port
0      10273                192.168.0.52:80                    192.168.100.100:60463  timer:(on,200ms,0) ino:0 sk:ffff88063678a7c0
0      206                  192.168.0.52:80                   192.168.100.101:54980  timer:(on,175ms,0) ino:0 sk:ffff880634b7f4c0
0      131000               192.168.0.52:80              192.168.100.102:47476  timer:(persist,107ms,0) ino:0 sk:ffff880335c9ab80

デメリット

netstat -sがない!!!!!!!!!
致命的といえば致命的である。

そんな感じ。

まあ無理に使わなくてもいいかなーって思いますけど、動作が軽いので大分トラフィックでサーバ負荷がかかってる状況で情報取得したい時は使えるかなーって思いましたまる


マスタリングTCP/IP 入門編 第5版

マスタリングTCP/IP 入門編 第5版


追記

CentOS6には標準で入ってましたが、CentOS5には標準で入ってないようです。