Yukiharu YABUKI の tDiary
このtDiaryを検索します。
2013-07-27 [長年日記]
_ [Debian] iproute パッケージ
Debian の iproute パッケージ(中身は いわゆるiproute2 だと思うが)は、概略であっても学ぶ価値のあるパッケージだと、私は信じている。
/usr/bin/lnstat usr/bin/routel /usr/bin/nstat /usr/bin/routef /usr/sbin/arpd /sbin/tc /sbin/rtmon /sbin/ss /sbin/rtacct /usr/bin/rtstat /usr/bin/ctstat /sbin/ip
コマンドだけでも、これらのコマンドが存在している。それぞれ man してから調べてみると楽しい。
lnstatrtstatの置き換え。ルーティング・キャッシュの統計情報得るためにを/proc/net/statから情報を取り出している。
-i 秒数で一定時間毎に情報を更新する。-c で更新回数。表示の情報量は多いので、端末の桁数か、必要な情報を取捨選択するのがよさそうだ。
routelroute 情報をフォーマットした形で表示する。下記のような感じ
$ routel target gateway source proto scope dev tbl default 192.168.1.254 static eth0 169.254.0.0/ 16 link eth0 192.168.1.0/ 24 192.168.1.11 kernel link eth0 192.168.1.0/ 24 192.168.1.1 kernel link wlan0 127.0.0.0 broadcast 127.0.0.1 kernel link lo local 127.0.0.0/ 8 local 127.0.0.1 kernel host lo local 127.0.0.1 local 127.0.0.1 kernel host lo local 127.255.255.255 broadcast 127.0.0.1 kernel link lo local 192.168.1.0 broadcast 192.168.1.11 kernel link eth0 local 192.168.1.0 broadcast 192.168.1.1 kernel link wlan0 local 192.168.1.1 local 192.168.1.1 kernel host wlan0 local 192.168.1.11 local 192.168.1.11 kernel host eth0 local 192.168.1.255 broadcast 192.168.1.11 kernel link eth0 local 192.168.1.255 broadcast 192.168.1.1 kernel link wlan0 local fe80::/ 64 kernel eth0 fe80::/ 64 kernel wlan0 default unreachable kernel lo unspec ::1 :: none lo local fe80::224:d7ff:feaa:a210 :: none lo local fe80::f2de:f1ff:fe60:23e9 :: none lo local ff02::c ff02::c wlan0 cache ff00::/ 8 eth0 local ff00::/ 8 wlan0 local default unreachable kernel lo unspecnstat
network statistics tools なのだが、これも差分だけ表示できる。
$ nstat #kernel IpInReceives 9335 0.0 IpInDelivers 8826 0.0 IpOutRequests 8541 0.0 IcmpInErrors 9 0.0 IcmpInTimeExcds 9 0.0 IcmpMsgInType3 9 0.0 TcpActiveOpens 255 0.0 TcpPassiveOpens 29 0.0 TcpAttemptFails 2 0.0 TcpEstabResets 31 0.0 TcpInSegs 7576 0.0 TcpOutSegs 6920 0.0 TcpRetransSegs 96 0.0 TcpInErrs 2 0.0 TcpOutRsts 63 0.0 UdpInDatagrams 1202 0.0 UdpInErrors 4240 0.0 UdpOutDatagrams 1551 0.0 Ip6InReceives 202 0.0 Ip6InDelivers 4 0.0 Ip6OutRequests 2 0.0 Ip6OutNoRoutes 47 0.0 Ip6InMcastPkts 202 0.0 Ip6OutMcastPkts 2 0.0 Ip6InOctets 84756 0.0 Ip6OutOctets 549 0.0 Ip6InMcastOctets 84756 0.0 Ip6OutMcastOctets 549 0.0 Udp6InDatagrams 4 0.0 Udp6OutDatagrams 2 0.0 TcpExtTW 134 0.0 TcpExtDelayedACKs 365 0.0 TcpExtDelayedACKLost 1 0.0 TcpExtTCPPrequeued 29 0.0 TcpExtTCPDirectCopyFromBacklog 456 0.0 TcpExtTCPDirectCopyFromPrequeue 675 0.0 TcpExtTCPHPHits 3886 0.0 TcpExtTCPPureAcks 998 0.0 TcpExtTCPHPAcks 1240 0.0 TcpExtTCPLossUndo 7 0.0 TcpExtTCPTimeouts 21 0.0 TcpExtTCPDSACKOldSent 1 0.0 TcpExtTCPAbortOnData 8 0.0 TcpExtTCPAbortOnClose 27 0.0 TcpExtTCPAbortOnTimeout 19 0.0 TcpExtTCPSackShiftFallback 5 0.0 TcpExtTCPChallengeACK 2 0.0 TcpExtTCPSYNChallenge 2 0.0 IpExtInMcastPkts 6 0.0 IpExtOutMcastPkts 2 0.0 IpExtInBcastPkts 159 0.0 IpExtOutBcastPkts 16 0.0 IpExtInMcastOctets 1205 0.0 IpExtOutMcastOctets 549 0.0 IpExtInBcastOctets 14702 0.0 IpExtOutBcastOctets 1904 0.0routef
route情報をフラッシュ(消去)するようなので、まあ判ってないなら使わないこと
arpdユーザ空間で動くarpデーモン。無駄をふせぐためにユーザ空間にあるようだ。manの原文は、"The arpd daemon collects gratuitous ARP information, saving it on local disk and feeding it to kernel on demand to avoid redundant broadcasting due to limited size of kernel ARP cache." です。
tcトラフィック・シェーパー。バケツです。
rtmonlistens to and monitors RTnetlink これは、ip monitor と対になる
ssソケットの調査用ユーティティ
State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 0 192.168.1.11:50359 66.155.11.238:www ESTAB 0 0 127.0.0.1:43432 127.0.0.1:44477 ESTAB 0 0 192.168.1.11:46223 74.125.235.131:https ESTAB 0 0 127.0.0.1:44477 127.0.0.1:40347 ESTAB 0 0 192.168.1.11:36990 118.155.230.66:www ESTAB 0 0 192.168.1.11:49454 74.125.235.94:https ESTAB 0 0 192.168.1.11:50859 74.125.235.134:www ESTAB 0 0 192.168.1.11:42590 61.125.139.236:12434 ESTAB 0 0 192.168.1.11:36988 118.155.230.66:www ESTAB 0 0 192.168.1.11:45007 114.25.62.153:4058 ESTAB 0 0 192.168.1.11:48143 74.125.235.130:https 以下略rtacct
(http://linux-ip.net/gl/ip-cref/node153.html)ここの説明を読んだ方がよさそうだ。relms に用がある人向け
rtstatlnstatへ
ctstatDebianだとmanはlnstatが表示された つまり
$ ls -la /usr/bin/ctstat lrwxrwxrwx 1 root root 6 2011-04-10 18:58 /usr/bin/ctstat -> lnstatこういうことだ。 ip
このコマンドは、機能がありすぎて簡単にまとまらない。(http://linuxjf.sourceforge.jp/JFdocs/Adv-Routing-HOWTO/)を読めって感じ。