网络相关的命令工具研究报告-netstat

一、什么是netstat命令

  netstat命令用于在终端监控TCP/IP网络,是非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

二、语法

  netstat  [可选参数]

  可通过netstat -help/-h显示可选参数

     -r, --route              display routing table
        -I, --interfaces=<Iface> display interface table for <Iface>
        -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
        -W, --wide               don't truncate IP addresses
        -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
        -o, --timers             display timers
        -c, --continuous         continuous listing

        -l, --listening          display listening server sockets
        -a, --all                display all sockets (default: connected)
        -F, --fib                display Forwarding Information Base (default)
        -C, --cache              display routing cache instead of FIB
        -Z, --context            display SELinux security context for sockets

<Socket>={-t|--tcp} {-u|--udp} {-U|--udplite} {-S|--sctp} {-w|--raw}
{-x|--unix} --ax25 --ipx --netrom

三、常用语法举例

  netstat -at 查看所有的TCP端口

[meijl@localhost ~]$ netstat -at
Active Internet connections (servers and established)
Proto  Recv-Q  Send-Q  Local Address  Foreign Address  State
tcp    0       0       promote.cache-dn:domain 0.0.0.0:* LISTEN
tcp    0       0       0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp    0       0       localhost:ipp 0.0.0.0:* LISTEN
tcp    0       0       0.0.0.0:sunrpc 0.0.0.0:* LISTEN
tcp    0       0       promote.cache-dns:39126 server-54-192-151:https ESTABLISHED
tcp    0       0       promote.cache-dns:54514 a96-17-180-137.dep:http ESTABLISHED
tcp    0       0       promote.cache-dns:60756 ec2-52-39-168-38.:https ESTABLISHED
tcp    0       0       promote.cache-dns:54974 183.232.231.172:https ESTABLISHED
tcp    0       0       promote.cache-dns:52004 ec2-35-166-89-106:https ESTABLISHED
tcp    0       0       promote.cache-dns:54976 183.232.231.172:https ESTABLISHED
tcp    0       0       promote.cache-dns:47396 117.18.237.29:http ESTABLISHED
tcp    0       0       promote.cache-dns:52270 36.156.36.32:https ESTABLISHED
tcp    0       0       promote.cache-dns:54968 183.232.231.172:https ESTABLISHED
tcp    0       0       promote.cache-dns:52274 promote.cache-dns.:http ESTABLISHED
tcp    0      62       promote.cache-dns:51788 112.25.86.31:https LAST_ACK
tcp    0       0       promote.cache-dns:54972 183.232.231.172:https ESTABLISHED
tcp    0       0       promote.cache-dns:51992 ec2-35-166-89-106:https ESTABLISHED
tcp    0       0       promote.cache-dns:54980 183.232.231.172:https ESTABLISHED
tcp6   0       0       [::]:ssh [::]:* LISTEN
tcp6   0       0       localhost:ipp [::]:* LISTEN
tcp6   0       0       [::]:sunrpc [::]:* LISTEN

执行结果第一行为:Active Internet connections (servers and established),即为有源tcp连接

Proto:协议名,可见当前查看为tcp端口

recv-Q:网络接收队列

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

send-Q:网路发送队列

  数值表示对方没有收到的数据或者说没有Ack确认的,还在本地缓冲区,当前有发送队列不为0,因为使用浏览器访问了www.baidu.com,在本地缓存中还有数据包没有发送完毕或还未收到确认。

  以上两个数值通常应该为0,如果不为0可能是有问题的。再次执行netstat -at可以看到当前send-Q的值已经全变为0

Local Address 

  表示侦听本机通信的本地socket

Foreign Address

  表示侦听与本机端口通信的外部socket。与Local Address相同

State

  state列共有12种状态

  当前有三种状态

  LISTEN:指socket状态为listen,侦听tcp端口的链接请求

  ESTABLISHED:代表一个打开的连接,此时连接双方可以进行或已经在数据交互。

  LAST_ACK:被动关闭端的主机应用程序一段时间后接收到文件结束符,将调用CLOSE关闭连接。随后它的TCP也发送一个 FIN,等待对方的ACK.就进入了LAST-ACK。

 

上一篇:Dockerfile制作sshd镜像


下一篇:Centos7部署YUM仓库及NFS共享服务 (二)