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 unspec
nstat
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.0
routef
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/)を読めって感じ。