Netstatとssコマンド

7056 ワード

1.netstatコマンド
NetstatコマンドはLinuxネットワークシステムの状態情報を印刷するために使用されます.
構文:
#  netstat  -h
usage: netstat [-veenNcCF] [] -r         netstat {-V|--version|-h|--help}
       netstat [-vnNcaeol] [ ...]
       netstat { [-veenNac] -I[] | [-veenNac] -i | [-cnNe] -M | -s } [delay]

        -r, --route                display routing table
        -I, --interfaces=[] display interface table for 
        -i, --interfaces           display interface table
        -g, --groups               display multicast group memberships
        -s, --statistics           display networking statistics (like SNMP)
        -M, --masquerade           display masqueraded connections

        -v, --verbose              be verbose
        -n, --numeric              don't resolve names
        --numeric-hosts            don't resolve host names
        --numeric-ports            don't resolve port names
        --numeric-users            don't resolve user names
        -N, --symbolic             resolve hardware names
        -e, --extend               display other/more information
        -p, --programs             display PID/Program name for sockets
        -c, --continuous           continuous listing

        -l, --listening            display listening server sockets
        -a, --all, --listening     display all sockets (default: connected)
        -o, --timers               display timers
        -F, --fib                  display Forwarding Information Base (default)
        -C, --cache                display routing cache instead of FIB
        -T, --notrim               stop trimming long addresses
        -Z, --context              display SELinux security context for sockets

  : Name of interface to monitor/list.
  ={-t|--tcp} {-u|--udp} {-S|--sctp} {-w|--raw} {-x|--unix} --ax25 --ipx --netrom
  =Use '-A ' or '--'; default: inet
  List of possible address families (which support routing):
    inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25) 
    netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP) 
    x25 (CCITT X.25) 

具体的なパラメータ:
-n --numeric:    ip  ,         ;
-p --programs:      Socket           
-t --tcp:  TCP         
-u --udp:  UDP         
-a --all:        Socket;
-s --statistics:           


1.1共通コマンド
  • すべてのポート(リスニングおよび非リスニングを含む)
  • が一覧表示されます.
    #       
    # netstat -a    
    
    #    TCP  
    # netstat -at  
    
    #    UDP   
    # netstat -au   
    
  • は、すべてのリスニング状態のSockets
  • をリストする.
    #       
    # netstat -l    
    
    #       TCP  
    # netstat -lt   
    
    #       UDP  
    # netstat -lu  
    
    #       UNIX  
    # netstat -lx  
    
  • netstat出力にPIDとプロセス名
  • を表示する.
    # netstat  -pt
    
  • netstat出力にホスト、ポート、ユーザー名(host,port or user)
  • は表示されません.
    # netstat  -an
    
  • コアルーティング情報
  • を表示する.
    # netstat -r
    
    netstat -rnを使用して数値フォーマットを表示し、ホスト名を表示しません.
    1.2よく使うコマンド
  • 現在一致するポートのすべてのソケットを検出し、プロセス番号
  • を表示する.
    # netstat -nap |grep      
    
  • サーバの各種接続状態数を検出する
  • .
    # netstat -na | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 
    

    2.ssコマンド
    ssコマンドは、ネイティブのポート接続状態を表示するために使用します
    構文:
    $ ss -h
    Usage: ss [ OPTIONS ]
           ss [ OPTIONS ] [ FILTER ]
       -h, --help           this message
       -V, --version        output version information
       -n, --numeric        don't resolve service names
       -r, --resolve       resolve host names
       -a, --all            display all sockets
       -l, --listening      display listening sockets
       -o, --options       show timer information
       -e, --extended      show detailed socket information
       -m, --memory        show socket memory usage
       -p, --processes      show process using socket
       -i, --info           show internal TCP information
       -s, --summary        show socket usage summary
    
       -4, --ipv4          display only IP version 4 sockets
       -6, --ipv6          display only IP version 6 sockets
       -0, --packet display PACKET sockets
       -t, --tcp            display only TCP sockets
       -u, --udp            display only UDP sockets
       -d, --dccp           display only DCCP sockets
       -w, --raw            display only RAW sockets
       -x, --unix           display only Unix domain sockets
       -f, --family=FAMILY display sockets of type FAMILY
    
       -A, --query=QUERY
           QUERY := {all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY]
    
       -F, --filter=FILE   read filter information from FILE
           FILTER := [ state TCP-STATE ] [ EXPRESSION ]
    

    具体的なパラメータ:
          
    -a          
    -l              
    -e            
    -m              
    -p            
    -4    ipv4      
    -6    ipv6      
    -t     tcp      
    -u     udp      
    -n        (    )
    -r, --resolve   IP      ,            
    -x, --unix    unix domain sockets,  -f     
    -s      
    

    2.1共通コマンド
  • ホストのリスニングポートを表示する
  • $ ss -tnl
    
  • -rオプションでIPとポート番号
  • を解析
    $ ss -tlr
    
  • -pオプションを使用してリスニングポートのプログラム名
  • を表示
    $ ss -tlp
    
    Recv-Q Send-Q           Local Address:Port               Peer Address:Port   
    0      0                    127.0.0.1:2208                          *:*        users:(("hpiod",2841,0))
    0      0                            *:9090                          *:*        users:(("redis-server",17961,5))
    0      0                            *:hello-port                       *:*        users:(("rpc.statd",2590,7))
    0      0                            *:sunrpc                        *:*        users:(("portmap",2536,4))
    0      0                            *:ssh                           *:*        users:(("sshd",4372,4))
    0      0                            *:telnet                        *:*        users:(("xinetd",19846,5))
    0      0                    127.0.0.1:ipp                           *:*        users:(("cupsd",2869,4))
    0      0                            *:postgres                       *:*        users:(("python",26279,3),("python",26282,3),("python",26282,5))
    
  • 確立されたTCP接続を参照-a--all TCPプロトコルには、傍受ポートと確立された接続
  • とが含まれる.
    $ ss -tna
    
  • リモート・アドレスとポート番号
  • を一致させる
    # ss dst 192.168.111.3
    
    # ss dst 192.168.111.3:48926
    
  • ローカルアドレスとポート番号
  • を一致させる
    # ss src 192.168.119.103:80
    
  • 多条件マッチング
  • (次のコマンドのエスケープ文字とスペースは必須です.エスケープ文字を使用しない場合は、単一引用符を使用します)
    established状態を示すソースポートが8356またはターゲットポートが10021であり、宛先アドレスが192.168.59.37のすべてのTCPソケットである.
    # ss state established \( sport = :8356 or dport = :10021 \) dst 192.168.59.37
    
    # ss state established '( sport = :8356 or dport = :10021 )'  dst 192.168.59.37  
    

    2.2よく使うコマンド
  • 現在一致するポートのすべてのソケットを検出し、プロセス番号
  • を表示する.
    # ss -nap|grep