netstat 订阅
在Internet RFC标准中,Netstat的定义是: Netstat是在内核中访问网络连接状态及其相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。如果你的计算机有时候接收到的数据包导致出错数据或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据包。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用Netstat查一查为什么会出现这些情况了。一般用netstat -an 来显示所有连接的端口并用数字表示。netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知有哪些网络连接正在运作。 [1]  使用时如果不带参数,netstat显示活动的 TCP 连接。 展开全文
在Internet RFC标准中,Netstat的定义是: Netstat是在内核中访问网络连接状态及其相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。如果你的计算机有时候接收到的数据包导致出错数据或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据包。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用Netstat查一查为什么会出现这些情况了。一般用netstat -an 来显示所有连接的端口并用数字表示。netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知有哪些网络连接正在运作。 [1]  使用时如果不带参数,netstat显示活动的 TCP 连接。
信息
外文名
Netstat
显    示
IP、TCP、UDP和ICMP协议
命    令
显示网络连接、路由表、网络接口
中文名
网络信息统计
应    用
检验本机各端口的网络连接情况
Netstat格式
该命令的一般格式为 :netstat [-a][-e][-n][-o][-p Protocol][-r][-s][Interval] [1]  命令中各选项的含义如下: -a 显示所有socket,包括正在监听的。  -c 每隔1秒就重新显示一遍,直到用户中断它。  -i 显示所有网络接口的信息,格式“netstat -i”。  -n 以网络IP地址代替名称,显示出网络连接情形。  -r显示核心路由表,格式同“route -e”。  -t 显示TCP协议的连接情况  -u 显示UDP协议的连接情况。  -v 显示正在进行的工作。  -p 显示建立相关连接的程序名和PID。  -b 显示在创建每个连接或侦听端口时涉及的可执行程序。  -e 显示以太网统计。此选项可以与 -s 选项结合使用。  -f 显示外部地址的完全限定域名(FQDN)。  -o显示与与网络计时器相关的信息。-s 显示每个协议的统计。  -x 显示 NetworkDirect 连接、侦听器和共享端点。  -y 显示所有连接的 TCP 连接模板。无法与其他选项结合使用。  interval 重新显示选定的统计,各个显示间暂停的 间隔秒数。按 CTRL+C 停止重新显示统计。如果省略,则 netstat 将打印当前的配置信息一次。Name接口的名字 Mtu 接口的最大传输单位Net/Dest 接口所在的网络Address 接口的IP地址Ipkts 接收到的数据包数目Ierrs 接收到时已损坏的数据包数目Opkts 发送的数据包数目Oeers 发送时已损坏的数据包数目Collisions 由这个接口所记录的网络冲突数目netstat -a——本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。netstat -b该参数可显示在创建网络连接和侦听端口时所涉及的可执行程序。netstat -s——本选项能够按照各个协议分别显示其统计数据。如果你的应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么你就可以用本选项来查看一下所显示的信息。你需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。netstat -e——本选项用于显示关于以太网的统计数据,它列出的项目包括传送数据报的总字节数、错误数、删除数,包括发送和接收量(如发送和接收的字节数、数据包数 [1]  ),或有广播的数量。可以用来统计一些基本的网络流量。netstat -r——本选项可以显示关于路由表的信息,类似于后面所讲使用routeprint命令时看到的信息。除了显示有效路由外,还显示当前有效的连接。netstat -n——显示所有已建立的有效连接。netstat -p——显示协议名查看某协议使用情况
收起全文
精华内容
下载资源
问答
  • netstat

    千次阅读 多人点赞 2019-02-13 17:16:09
    netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知有哪些网络连接正在运作。 [1] 使用时如果不带参数,netstat显示活动的 TCP 连接。  格式编辑 该命令的一般格式为 : netstat [-a][-e]...

    netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知有哪些网络连接正在运作。 [1]  使用时如果不带参数,netstat显示活动的 TCP 连接。

     格式编辑

    该命令的一般格式为 :

    netstat [-a][-e][-n][-o][-p Protocol][-r][-s][Interval] [1] 

    Netstat选项

    命令中各选项的含义如下:

    -a 显示所有socket,包括正在监听的。
      -c 每隔1秒就重新显示一遍,直到用户中断它。
      -i 显示所有网络接口的信息,格式“netstat -i”。
      -n 以网络IP地址代替名称,显示出网络连接情形。
      -r显示核心路由表,格式同“route -e”。
      -t 显示TCP协议的连接情况
      -u 显示UDP协议的连接情况。
      -v 显示正在进行的工作。
      -p 显示建立相关连接的程序名和PID。
      -b 显示在创建每个连接或侦听端口时涉及的可执行程序。
      -e 显示以太网统计。此选项可以与 -s 选项结合使用。
      -f 显示外部地址的完全限定域名(FQDN)。
      -o显示与与网络计时器相关的信息。

    -s 显示每个协议的统计。
      -x 显示 NetworkDirect 连接、侦听器和共享端点。
      -y 显示所有连接的 TCP 连接模板。无法与其他选项结合使用。
      interval 重新显示选定的统计,各个显示间暂停的 间隔秒数。按 CTRL+C 停止重新显示统计。如果省略,则 netstat 将打印

    常用选项

    netstat -a

    ——本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。

    netstat -b

    该参数可显示在创建网络连接和侦听端口时所涉及的可执行程序。 [3] 

    netstat -s

    ——本选项能够按照各个协议分别显示其统计数据。如果你的应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么你就可以用本选项来查看一下所显示的信息。你需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。

    netstat -e

    ——本选项用于显示关于以太网的统计数据,它列出的项目包括传送数据报的总字节数、错误数、删除数,包括发送和接收量(如发送和接收的字节数、数据包数 [1]  ),或有广播的数量。可以用来统计一些基本的网络流量。

    netstat -r

    ——本选项可以显示关于路由表的信息,类似于后面所讲使用routeprint命令时看到的信息。除了显示有效路由外,还显示当前有效的连接

    netstat -n

    ——显示所有已建立的有效连接。 [2] 

    netstat -p

    ——显示协议名查看某协议使用情况

     

     

    Unix命令行程序和内建指令(更多)

    文件系统
    catcdchmodchown
    chgrpcksumcmpcp
    dudffsckfuser
    lnlslsattrlsof
    mkdirmountmvpwd
    rmrmdirsplittouch
    umask   
     
    程序
    atbgchrootcron
    exitfgjobskill
    killallnicepgreppidof
    pkillpspstreesleep
    timetopwait 
     
    使用环境
    envfingeridlogname
    mesgpasswdsusudo
    uptimewwallwho
    whoamiwrite  
     
    文字编辑
    awkcommcuted
    exfmtheadiconv
    joinlessmorepaste
    sedsortstringstalk
    tactailtruniq
    viwcxargs 
     
    Shell 程序
    aliasbasenamedirnameecho
    exprfalseprintftest
    trueunset  
     
    网络
    inetdnetstatpingrlogin
    netcattraceroute  
     
    搜索
    findgreplocatewhereis
    which   
     
    杂项
    aproposbannerbccal
    cleardateddfile
    helpinfosizelp
    manhistoryteetput
    typeyesunamewhatis
    展开全文
  • Netstat

    2014-07-02 20:40:47
    Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。 输出信息含义 执行netstat后,其输出结果为 ...

    简介

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

    输出信息含义

    执行netstat后,其输出结果为

    复制代码
    Active Internet connections (w/o servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State
    tcp 0 2 210.34.6.89:telnet 210.34.6.96:2873 ESTABLISHED
    tcp 296 0 210.34.6.89:1165 210.34.6.84:netbios-ssn ESTABLISHED
    tcp 0 0 localhost.localdom:9001 localhost.localdom:1162 ESTABLISHED
    tcp 0 0 localhost.localdom:1162 localhost.localdom:9001 ESTABLISHED
    tcp 0 80 210.34.6.89:1161 210.34.6.10:netbios-ssn CLOSE
    
    Active UNIX domain sockets (w/o servers)
    Proto RefCnt Flags Type State I-Node Path
    unix 1 [ ] STREAM CONNECTED 16178 @000000dd
    unix 1 [ ] STREAM CONNECTED 16176 @000000dc
    unix 9 [ ] DGRAM 5292 /dev/log
    unix 1 [ ] STREAM CONNECTED 16182 @000000df
    复制代码


    从整体上看,netstat的输出结果可以分为两个部分:

    一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。

    另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
    Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。

    常见参数

    -a (all)显示所有选项,默认不显示LISTEN相关
    -t (tcp)仅显示tcp相关选项
    -u (udp)仅显示udp相关选项
    -n 拒绝显示别名,能显示数字的全部转化成数字。
    -l 仅列出有在 Listen (监听) 的服務状态

    -p 显示建立相关链接的程序名
    -r 显示路由信息,路由表
    -e 显示扩展信息,例如uid等
    -s 按各个协议进行统计
    -c 每隔一个固定时间,执行该netstat命令。

    提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

     

    实用命令实例

     

    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:
     11150 total packets received
     1 with invalid addresses
     0 forwarded
     0 incoming packets discarded
     11149 incoming packets delivered
     11635 requests sent out
     Icmp:
     0 ICMP messages received
     0 input ICMP message failed.
     Tcp:
     582 active connections openings
     2 failed connection attempts
     25 connection resets received
     Udp:
     1183 packets received
     4 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. 显示网络接口列表

    # netstat -i
     Kernel Interface table
     Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
     eth0       1500 0         0      0      0 0             0      0      0      0 BMU
     eth2       1500 0     26196      0      0 0         26883      6      0      0 BMRU
     lo        16436 0         4      0      0 0             4      0      0      0 LRU

    显示详细信息,像是 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
    复制代码
     
      

     

    11. IP和TCP分析

      查看连接某服务端口最多的的IP地址

    复制代码
    wss8848@ubuntu:~$ netstat -nat | grep "192.168.1.15:22" |awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -20
    18 221.136.168.36
    3 154.74.45.242
    2 78.173.31.236
    2 62.183.207.98
    2 192.168.1.14
    2 182.48.111.215
    2 124.193.219.34
    2 119.145.41.2
    2 114.255.41.30
    1 75.102.11.99
    复制代码

      TCP各种状态列表

    复制代码
    wss8848@ubuntu:~$ netstat -nat |awk '{print $6}'
    established)
    Foreign
    LISTEN
    TIME_WAIT
    ESTABLISHED
    TIME_WAIT
    SYN_SENT
    复制代码
      先把状态全都取出来,然后使用uniq -c统计,之后再进行排序。
    复制代码
    wss8848@ubuntu:~$ netstat -nat |awk '{print $6}'|sort|uniq -c
    143 ESTABLISHED
    1 FIN_WAIT1
    1 Foreign
    1 LAST_ACK
    36 LISTEN
    6 SYN_SENT
    113 TIME_WAIT
    1 established)
    复制代码
      最后的命令如下:
    netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn
    分析access.log获得访问前10位的ip地址
    awk '{print $1}' access.log |sort|uniq -c|sort -nr|head -10
    展开全文
  • Netstat 命令

    2018-05-21 10:54:57
    Netstat 命令
  • netstat用法

    2016-10-30 21:47:44
    netstat的安装及使用
  • netstat详解

    万次阅读 多人点赞 2019-05-20 12:06:12
    netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。 语法: netstat [选项] 参数: -a或--all:显示所有连线中的Socket; -A<...

    netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。

    语法:

    netstat [选项]

    参数:

    -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"参数相同。

    使用实例

    实例1:列出所有端口

    命令:

    netstat -a      # 列出所有端口

    netstat -at     # 列出所有TCP端口

    netstat -au    # 列出所有UDP端口

    netstat -ax    # 列出所有unix端口

    netstat -atnlp    # 直接使用ip地址列出所有处理监听状态的TCP端口,且加上程序名

    输出: 

    说明:

    下面分析每一项的含义

    Proto:协议名(tcp协议还是udp协议);

    recv-Q:网络接收队列

    表示收到的数据已经在本地接收缓冲,但是还有多少没有被进程取走,recv()如果接收队列Recv-Q一直处于阻塞状态,可能是遭受了拒绝服务 denial-of-service 攻击;

    send-Q:网路发送队列

    对方没有收到的数据或者说没有Ack的,还是本地缓冲区.

    如果发送队列Send-Q不能很快的清零,可能是有应用向外发送数据包过快,或者是对方接收数据包不够快;

    这两个值通常应该为0,如果不为0可能是有问题的。packets在两个队列里都不应该有堆积状态。可接受短暂的非0情况。

    Local Address 解释

    1)Local Address 部分的0.0.0.0:873表示监听服务器上所有ip地址的所有(0.0.0.0表示本地所有ip),比如你的服务器是有172.172.230.210和

    172.172.230.11两个ip地址,那么0.0.0.0:873此时表示监听172.172.230.210,172.172.230.211,127.0.0.1三个地址的873端口

    2)127.0.0.1:25这个表示监听本机的loopback地址的25端口(如果某个服务只监听了回环地址,那么只能在本机进行访问,无法通过tcp/ip 协议进行远程访问)

    3)192.168.1.81:2288这是因为我们在启动的时候指定了192.168.1.81:2288参数,如果不指定的话,会监听0.0.0.0:2288

    Foreign Address解释

    与本机端口通信的外部socket。显示规则与Local Address相同

    State解释

    链路状态,共有11种

    state列共有12中可能的状态,前面11种是按照TCP连接建立的三次握手和TCP连接断开的四次挥手过程来描述的。

    LISTEN :首先服务端需要打开一个socket进行监听,状态为LISTEN./*The socket is listening for incoming  connections. 侦听来自远方TCP端口的连接请求 */

    SYN_SENT:客户端通过应用程序调用connect进行activeopen.于是客户端tcp发送一个SYN以请求建立一个连接.之后状态SYN_SENT。/*The socket is actively attempting to establish aconnection. 在发送连接请求后等待匹配的连接请求 */

    SYN_RECV:服务端应发出ACK确认客户端的 SYN,同时自己向客户端发送一个SYN.之后状态置为SYN_RECV/* A connection request has been received from the network. 在收到和发送一个连接请求后等待对连接请求的确认 */

    ESTABLISHED:代表一个打开的连接,双方可以进行或已经在数据交互了。/* The socket has an established connection. 代表一个打开的连接,数据可以传送给用户 */

    FIN_WAIT1:主动关闭(activeclose)端应用程序调用close,于是其TCP发出FIN请求主动关闭连接,之后进入FIN_WAIT1状态./* The socket is closed, and the connection is shutting down. 等待远程TCP的连接中断请求,或先前的连接中断请求的确认 */

    CLOSE_WAIT:被动关闭(passiveclose)端TCP接到FIN后,就发出ACK以回应FIN请求(它的接收也作为文件结束符传递给上层应用程序),并进入CLOSE_WAIT./* The remote end has shut down, waiting for the socketto close. 等待从本地用户发来的连接中断请求 */

    FIN_WAIT2:主动关闭端接到ACK后,就进入了FIN-WAIT-2./* Connection is closed, and the socket is waiting for a shutdownfrom the remote end. 从远程TCP等待连接中断请求 */

    LAST_ACK:被动关闭端一段时间后,接收到文件结束符的应用程 序将调用CLOSE关闭连接。这导致它的TCP也发送一个 FIN,等待对方的ACK.就进入了LAST-ACK./* The remote end has shut down, and the socket is closed. Waiting foracknowledgement. 等待原来发向远程TCP的连接中断请求的确认 */

    TIME_WAIT:在主动关闭端接收到FIN后,TCP 就发送ACK包,并进入TIME-WAIT状态。/* Thesocket is waiting after close to handle packets still in the network.等待足够的时间以确保远程TCP接收到连接中断请求的确认*/

    CLOSING:比较少见./* Bothsockets are shut down but we still don’t have all our datasent. 等待远程TCP对连接中断的确认 */

    CLOSED:被动关闭端在接受到ACK包后,就进入了closed的状态。连接结束./*The socket is not being used. 没有任何连接状态 */

    UNKNOWN:未知的Socket状态。/* Thestate of the socket is unknown. */

    备注

    SYN: (同步序列编号,SynchronizeSequence Numbers)该标志仅在三次握手建立TCP连接时有效。表示一个新的TCP连接请求。

    ACK: (确认编号,AcknowledgementNumber)是对TCP请求的确认标志,同时提示对端系统已经成功接收所有数据。

    FIN: (结束标志,FINish)用来结束一个TCP回话.但对应端口仍处于开放状态,准备接收后续数据。

     

    实例2:显示每个协议的统计信息

    命令:

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

    netstat -st    # 显示所有TCP的统计信息

    netstat -su    # 显示所有UDP的统计信息

    实例3:显示核心路由信息

    命令:

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

    netstat -rn    # 显示所有TCP的统计信息

    输出:

    说明:

    Destination:目标网络或者主机。

    Gateway:网关地址,如果没有设置则为*。

    Genmask:目标网络掩码;如果默认路由则用"0.0.0.0"。

    Flags标志说明:

    U Up表示此路由当前为启动状态

    H Host,表示此网关为一主机

    G Gateway,表示此网关为一路由器

    R Reinstate Route,使用动态路由重新初始化的路由

    D Dynamically,此路由是动态性地写入

    M Modified,此路由是由路由守护程序或导向器动态修改

    ! 表示此路由当前为关闭状态

    Iface:对于这个路由,数据包将要发送到那个接口(网卡)。

    观注快乐程序员公众号,每日分享一点小知识。爱编程,爱生活!

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • linux查看端口号占用命令-netstat

    万次阅读 多人点赞 2018-01-15 15:37:23
    查看端口号 netstat 如果发现某个端口被占用后,可以用命令查看,该端口到底是被哪个进程所占用。命令如下: netstat -pan | grep 5623 #其中5623位端口号 如图: 发现5623的端口,被28425的进程id所占用,继

    题记

    经常会发现,很多时候我们在运行一些带有端口的程序时,程序经常会报端口被占用的问题,比如Tomcat 8080,端口起不来。

    查看端口号 netstat

    如果发现某个端口被占用后,可以用命令查看,该端口到底是被哪个进程所占用。命令如下:

    netstat -pan | grep 5623
    #其中5623位端口号
    

    如图:

    发现5623的端口,被28425的进程id所占用,继续进一步跟踪,到底是哪个程序所占用了。

    通过进程id查找程序–ps

    直接通过:ps -aux | grep pid 查看,进程程序名称,

    通过netstat查找端口占用的pid,再通过pid进一步的查找程序名称,能够确认目前冲突的端口是哪个程序已经占用了,我们是重新启用换一个端口号,还是结束已经占用的端口号所用的程序,清空被占用的端口号。

    netstat 中参数选项

    -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"参数相同。
    

    更多教程:go2coding

    展开全文
  • netstat命令详解

    2019-07-02 13:53:05
    netstat命令详解

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 284,815
精华内容 113,926
关键字:

netstat