zoukankan      html  css  js  c++  java
  • Linux命令总结--netstat命令

    简介

    Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

    语法

    netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]

    参数说明

    • -a或--all 显示所有连线中的Socket。
    • -A<网络类型>或--<网络类型> 列出该网络类型连线中的相关地址。
    • -c或--continuous 持续列出网络状态。
    • -C或--cache 显示路由器配置的快取信息。
    • -e或--extend 显示网络其他相关信息。
    • -F或--fib 显示FIB。
    • -g或--groups 显示多重广播功能群组组员名单。
    • -h或--help 在线帮助。
    • -i或--interfaces 显示网络界面信息表单。
    • -l或--listening 显示监控中的服务器的Socket。
    • -M或--masquerade 显示伪装的网络连线。
    • -n或--numeric 直接使用IP地址,而不通过域名服务器。
    • -N或--netlink或--symbolic 显示网络硬件外围设备的符号连接名称。
    • -o或--timers 显示计时器。
    • -p或--programs 显示正在使用Socket的程序识别码和程序名称。
    • -r或--route 显示Routing Table。
    • -s或--statistice 显示网络工作信息统计表。
    • -t或--tcp 显示TCP传输协议的连线状况。
    • -u或--udp 显示UDP传输协议的连线状况。
    • -v或--verbose 显示指令执行过程。
    • -V或--version 显示版本信息。
    • -w或--raw 显示RAW传输协议的连线状况。
    • -x或--unix 此参数的效果和指定"-A unix"参数相同。
    • --ip或--inet 此参数的效果和指定"-A inet"参数相同。
    • <Socket>={-t|--tcp} {-u|--udp} {-U|--udplite} {-S|--sctp} {-w|--raw}
                 {-x|--unix} --ax25 --ipx --netrom

    实用命令实例

    1、列出所有端口 (包括监听和未监听的)

    列出所有端口 netstat -a

     
    # netstat -a | more
     Active Internet connections (servers and established)
     Proto Recv-Q Send-Q Local Address           Foreign Address         State
     tcp        0      0 localhost:30037         *:*                     LISTEN
     udp        0      0 *:bootpc                *:*
    
    Active UNIX domain sockets (servers and established)
     Proto RefCnt Flags       Type       State         I-Node   Path
     unix  2      [ ACC ]     STREAM     LISTENING     6135     /tmp/.X11-unix/X0
     unix  2      [ ACC ]     STREAM     LISTENING     5140     /var/run/acpid.socket
    

    列出所有 tcp 端口 netstat -at

    # netstat -at
     Active Internet connections (servers and established)
     Proto Recv-Q Send-Q Local Address           Foreign Address         State
     tcp        0      0 localhost:30037         *:*                     LISTEN
     tcp        0      0 localhost:ipp           *:*                     LISTEN
     tcp        0      0 *:smtp                  *:*                     LISTEN
     tcp6       0      0 localhost:ipp           [::]:*                  LISTEN
     
    

      

    列出所有 udp 端口 netstat -au

    # netstat -au
     Active Internet connections (servers and established)
     Proto Recv-Q Send-Q Local Address           Foreign Address         State
     udp        0      0 *:bootpc                *:*
     udp        0      0 *:49119                 *:*
     udp        0      0 *:mdns                  *:*
    

    2、列出所有处于监听状态的 Sockets

    只显示监听端口 netstat -l

    # netstat -l
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State
    tcp        0      0 localhost:ipp           *:*                     LISTEN
    tcp6       0      0 localhost:ipp           [::]:*                  LISTEN
    udp        0      0 *:49119                 *:*
    

      

    只列出所有监听 tcp 端口 netstat -lt

    # netstat -lt
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State
    tcp        0      0 localhost:30037         *:*                     LISTEN
    tcp        0      0 *:smtp                  *:*                     LISTEN
    tcp6       0      0 localhost:ipp           [::]:*                  LISTEN
     
    

      

    只列出所有监听 udp 端口 netstat -lu

    # netstat -lu
     Active Internet connections (only servers)
     Proto Recv-Q Send-Q Local Address           Foreign Address         State
     udp        0      0 *:49119                 *:*
     udp        0      0 *:mdns                  *:*
    

    只列出所有监听 UNIX 端口 netstat -lx

    # netstat -lx
     Active UNIX domain sockets (only servers)
     Proto RefCnt Flags       Type       State         I-Node   Path
     unix  2      [ ACC ]     STREAM     LISTENING     6294     private/maildrop
     unix  2      [ ACC ]     STREAM     LISTENING     6203     public/cleanup
     unix  2      [ ACC ]     STREAM     LISTENING     6302     private/ifmail
     unix  2      [ ACC ]     STREAM     LISTENING     6306     private/bsmtp
     
    

      

    3、显示每个协议的统计信息

    显示所有端口的统计信息 netstat -s

    # netstat -s
     Ip:
    total packets received
    with invalid addresses
    forwarded
    incoming packets discarded
    incoming packets delivered
    requests sent out
     Icmp:
    ICMP messages received
    input ICMP message failed.
     Tcp:
    active connections openings
    failed connection attempts
    connection resets received
     Udp:
    packets received
    packets to unknown port received.
    

     

    显示 TCP 或 UDP 端口的统计信息 netstat -st 或 -su

    # netstat -st 
    # netstat -su
    

      

    4、在 netstat 输出中显示 PID 和进程名称 netstat -p

    netstat -p 可以与其它开关一起使用,就可以添加 “PID/进程名称” 到 netstat 输出中,这样 debugging 的时候可以很方便的发现特定端口运行的程序。

    # netstat -pt
    Active Internet connections (w/o servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        1      0 ramesh-laptop.loc:47212 192.168.185.75:www        CLOSE_WAIT  2109/firefox
    tcp        0      0 ramesh-laptop.loc:52750 lax:www ESTABLISHED 2109/firefox
    

      

    5、在 netstat 输出中不显示主机,端口和用户名 (host, port or user)

    当你不想让主机,端口和用户名显示,使用 netstat -n。将会使用数字代替那些名称。

    同样可以加速输出,因为不用进行比对查询。

    # netstat -an
    

    如果只是不想让这三个名称中的一个被显示,使用以下命令

    # netsat -a --numeric-ports
    # netsat -a --numeric-hosts
    # netsat -a --numeric-users
    

      

    6、持续输出 netstat 信息

    netstat 将每隔一秒输出网络信息

    # netstat -c
    Active Internet connections (w/o servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State
    tcp        0      0 ramesh-laptop.loc:36130 101-101-181-225.ama:www ESTABLISHED
    tcp        1      1 ramesh-laptop.loc:52564 101.11.169.230:www      CLOSING
    tcp        0      0 ramesh-laptop.loc:43758 server-101-101-43-2:www ESTABLISHED
    tcp        1      1 ramesh-laptop.loc:42367 101.101.34.101:www      CLOSING
     ^C
    

      

    7、显示系统不支持的地址族 (Address Families)

    netstat --verbose
     
    在输出的末尾,会有如下的信息
     
    netstat: no support for `AF IPX' on this system.
    netstat: no support for `AF AX25' on this system.
    netstat: no support for `AF X25' on this system.
    netstat: no support for `AF NETROM' on this system.
    

    8、显示核心路由信息 netstat -r

    # netstat -r
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
     192.168.1.0     *               255.255.255.0   U         0 0          0 eth2
    link-local      *               255.255.0.0     U         0 0          0 eth2
    default         192.168.1.1     0.0.0.0         UG        0 0          0 eth2
     
    注意: 使用 netstat -rn 显示数字格式,不查询主机名称
    

      

    9、找出程序运行的端口

    并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。

    # netstat -ap | grep ssh
    tcp        1      0 dev-db:ssh           101.174.100.22:39213        CLOSE_WAIT  -
    tcp        1      0 dev-db:ssh           101.174.100.22:57643        CLOSE_WAIT  -
     
    

      

    找出运行在指定端口的进程

    # netstat -an | grep ':80'

    10、显示网络接口列表

    
    
    

    显示详细信息,像是 ifconfig 使用 netstat -ie:

    # netstat -ie
    Kernel Interface table
    eth0      Link encap:Ethernet  HWaddr 00:10:40:11:11:11
    UP BROADCAST MULTICAST  MTU:1500  Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    Memory:f6ae0000-f6b00000
    
  • 相关阅读:
    Http中GET和POST两种请求的区别
    JSON学习笔记
    分页
    python 函数,闭包
    LVS负载均衡中arp_ignore和arp_annonuce参数配置的含义
    return ;
    openssl 在php里
    重装drupal
    protected的意义
    和 和 notepad++
  • 原文地址:https://www.cnblogs.com/hanjiali/p/11718433.html
Copyright © 2011-2022 走看看