]
トップ «前の日記(2013-07-26) 最新 次の日記(2013-07-30)» 編集

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 してから調べてみると楽しい。

lnstat

rtstatの置き換え。ルーティング・キャッシュの統計情報得るためにを/proc/net/statから情報を取り出している。

-i 秒数で一定時間毎に情報を更新する。-c で更新回数。表示の情報量は多いので、端末の桁数か、必要な情報を取捨選択するのがよさそうだ。

routel

route 情報をフォーマットした形で表示する。下記のような感じ

$ 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

トラフィック・シェーパー。バケツです。

rtmon

listens 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 に用がある人向け

rtstat

lnstatへ

ctstat

Debianだと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/)を読めって感じ。