netstat命令

用于显示本机网络的连接状态、运行端口和路由表等信息。

netstat命令的参数选项及说明

-r 显示路由表信息,该功能类似于前面学过的route 和ip route
-g 显示多播功能群组成员,该功能类似于前面学过的ip maddr
-i 显示网络接口信息,该功能类似于前面学过的ip -s link
-s 显示各类协议的统计信息
-n 显示数字形式的地址而不是去解析主机、端口或用户名。默认情况下,netstat命令会尝试解析并显示主机的主机名,这个过程通常比较长也是非必需的
-a 显示处于监听状态和非监听状态的socket信息
-A 显示指定网络类型的网络连接状态
-c<秒数> 后面跟的秒数表示每隔几秒就刷新显示一次
-l 仅显示连接状态为“LISTEN”的服务的网络状态
-t 显示所有的TCP连接情况
-u 显示所有的UDP连接情况
-p 显示socket所属进程的PID和名称

常用选项组合(一)

  1. [root@cs6 ~]# netstat -an
  2. Active Internet connections (servers and established)
  3. Proto Recv-Q Send-Q Local Address Foreign Address State
  4. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
  5. tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
  6. tcp 0 64 10.0.0.100:22 10.0.0.1:2827 ESTABLISHED
  7. tcp 0 0 10.0.0.100:22 10.0.0.1:6358 ESTABLISHED
  8. tcp 0 0 :::22 :::* LISTEN
  9. tcp 0 0 ::1:25 :::* LISTEN
  10. Active UNIX domain sockets (servers and established)
  11. Proto RefCnt Flags Type State I-Node Path
  12. unix 8 [ ] DGRAM 12335 /dev/log
  13. unix 2 [ ACC ] STREAM LISTENING 12689 public/cleanup
  14. unix 2 [ ACC ] STREAM LISTENING 12697 private/tlsmgr
  15. unix 2 [ ACC ] STREAM LISTENING 12702 private/rewrite
  16. unix 2 [ ACC ] STREAM LISTENING 12706 private/bounce
  17. unix 2 [ ACC ] STREAM LISTENING 12710 private/defer
  18. unix 2 [ ACC ] STREAM LISTENING 12714 private/trace
  19. unix 2 [ ACC ] STREAM LISTENING 12718 private/verify
  20. unix 2 [ ACC ] STREAM LISTENING 12722 public/flush
  21. unix 2 [ ACC ] STREAM LISTENING 12726 private/proxymap

针对该命令的第一行内容进行了说明。
第一行活动网络连接说明

第一列 Proto socket使用的协议(TCP、UDP、RAW)
第二列 Recv-Q 接收到但是还未处理的字节数
第三列 Send-Q 已经发送但是未被远程主机确认收到的字节数
第四列 Local Address 本地主机地址和端口
第五列 Foreign Address 远程主机地址和端口
第六列 State socket的状态,通常仅仅有TCP的状态,状态值可有ESTABLISHED、SYN_SENT、SYN_RECV、FIN_WAIT1、FIN_WAIT2、TIME_WAIT等

第6列 State状态信息详解

ESTABLISHED socket已经建立连接,表示处于连接的状态,一般认为有一个ESTABLISHED 是一个服务的并发连接。
该连接状态在生产场景中很重要,需要重点关注
SYN_SENT socket正在积极尝试建立一个连接,即处于发送后连接前的一个等待但未匹配进入连接的状态
SYN_RECV 已经从网络上收到一个连接请求
FIN_WAIT1 socket已关闭,连接正在或正要关闭
FIN_WAIT2 连接已关闭,并且socket正在等待远端结束
TIME_WAIT socket正在等待关闭处理仍在网络上的教据包,这个连接状态在生产场景中很重要,需要重点关注
CLOSED socket不再被占用了
CLOSE_WAIT 远端已经结束,等待socket关闭
LAST_ACK 远端已经结束,并且socket也已关闭,等待acknowledgement
LISTEN socket正在监听连接请求
CLOSING socket关闭,但是我们仍旧没有发送数据
UNKNOWN socket状态未知

常用选项组合(二)

  1. [root@cs6 ~]# netstat -lntup
  2. Active Internet connections (only servers)
  3. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
  4. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1358/sshd
  5. tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1437/master
  6. tcp 0 0 :::22 :::* LISTEN 1358/sshd
  7. tcp 0 0 ::1:25 :::* LISTEN 1437/master

以上命令语句的作用为显示所有TCP和UDP正在监听的连接信息。
-l:显示所有LISTEN状态的网络连接。
-n:显示IP地址,不进行DNS解析成主机名、域名。
-t:显示所有TCP连接。
-u:显示所有UDP连接。
-p:显示进程号和进程名。

显示当前系统的路由表

  1. [root@cs6 ~]# netstat -rn
  2. Kernel IP routing table
  3. Destination Gateway Genmask Flags MSS Window irtt Iface
  4. 10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
  5. 172.16.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
  6. 10.1.0.0 10.0.0.253 255.255.255.0 UG 0 0 0 eth0
  7. 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
  8. 0.0.0.0 10.0.0.2 0.0.0.0 UG 0 0 0 eth0

选项-i显示网络的接口状况。

  1. [root@cs6 ~]# netstat -i
  2. Kernel Interface table
  3. Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
  4. eth0 1500 0 5405 0 0 0 3518 0 0 0 BMRU
  5. eth1 1500 0 0 0 0 0 18 0 0 0 BMRU
  6. lo 65536 0 0 0 0 0 0 0 0 0 LRU

以下是命令结果解释。
lface:表示网络设备的接口名称。
MTU:表示最大传输单元,单位为字节。
RX-OK/TX-OK:表示已经准确无误地接收/发送了多少数据包。
RX-ERR/TX-ERR:表示接收/发送数据包时产生了多少错误。
RX-DRP/TX-DRP:表示接收/发送数据包时丢弃了多少数据包。
RX-OVR/TX-OVR:表示由于误差而遗失了多少数据包。
Flg:表示接口标记,其中各标记含义具体如下。
L:表示该接口是个回环设备。
B:表示设置了广播地址。
M:表示接收所有数据包。
R:表示接口正在运行。
U:表示接口处于活动状态。
o:表示在该接口上禁用arp。
P:表示一个点到点的连接。
正常情况下,RX-ERR/TX-ERR、RX-DRP/TX-DRP和RX-OVR/TX-OVR的值都应该为0,如果这几个选项的值不为0,并且很大,那么网络质量肯定有问题,网络传输性能也一定会下降。

[root@bzhl ~]# netstat -n|awk '/^tcp/ {++lewen[$NF]} END {for (a in lewen) print a ,lewen[a]}'
ESTABLISHED 5
TIME_WAIT 1

10.7 netstat:查看网络状态的更多相关文章

  1. 用netstat查看网络状态详解

    --用netstat查看网络状态详解 -----------------------------2014/06/11 一.Linux服务器上11种网络连接状态:                     ...

  2. 在Linux下用netstat查看网络状态、端口状态

    在Linux下用netstat查看网络状态.端口状态 在linux一般使用netstat 来查看系统端口使用情况步. netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表.实 ...

  3. Linux使用netstat查看网络状态

    查看本机的网络状态.使用netstat查看网络状态.显示系统端口使用情况.UDP类型的端口.TCP类型的端口.只显示所有监听端口.只显示所有监听tcp端口. 命令使用举例 命令 说明 netstat ...

  4. Linux下用netstat查看网络状态、端口状态(转)

    转:http://blog.csdn.net/guodongdongnumber1/article/details/11383019 在linux一般使用netstat 来查看系统端口使用情况步.  ...

  5. Linux下用netstat查看网络状态、端口状态

    在linux一般使用netstat 来查看系统端口使用情况步. netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表.实际的网络连接以及每一个网络接口设备的 netstat命 ...

  6. 10.6 监控io性能 10.7 free命令 10.8 ps命令 10.9 查看网络状态 10.10 linux下抓包

    iostat sysstat 包里面包括 sar 和 iostat [root@centos7 ~]# iostat Linux 3.10.0-693.2.2.el7.x86_64 (centos7. ...

  7. 10.8 ss:查看网络状态

    ss命令 是类似并将取代netstat的工具,它能用来查看网络状态信息,包括TCP.UDP连接.端口等.它的优点是能够显示更多更详细的有关网络连接状态的信息,而且比netstat更快速更高效.    ...

  8. centos7如何查看网络状态?

    参考https://www.jb51.net/os/RedHat/520187.html 查看网络状态: lsof -Pnl +M -i4 显示ipv4服务及监听端情况 netstat -anp 所有 ...

  9. CentOS下查看网络状态

    查看网络状态:lsof -Pnl +M -i4 显示ipv4服务及监听端情况netstat -anp 所有监听端口及对应的进程netstat -tlnp 功能同上 网络基本命令 (1)network ...

  10. 监控io性能、free、ps命令、查看网络状态、Linux下抓包 使用介绍

    第7周第2次课(5月8日) 课程内容: 10.6 监控io性能 10.7 free命令10.8 ps命令10.9 查看网络状态10.10 linux下抓包扩展tcp三次握手四次挥手 http://ww ...

随机推荐

  1. Java【File类、递归】

    File 1.在io包中 操作电脑中的文件和文件夹 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. 我们可以使用File类的方法     创建一 ...

  2. 自定义grub主题

    1 概述 自定义grub引导菜单的主题,笔者的linux是deepin,感觉默认的grub主题不太好看,嗯,没办法,就是想改了. 这篇文章主要是修改/boot/grub/grub.cfg以及/boot ...

  3. 关于 下载 nfs-utils时的 gssproxy conflicts with selinux-policy-3.13.1-102.el7.noarch 错误

    使用 yum install nfs-utils -y 时 出现如下错误: 错误:gssproxy conflicts with selinux-policy-3.13.1-102.el7.noarc ...

  4. 1. Mybatis 参数传递

    方法1:顺序传参法 public User selectUser(String name, int deptId); <select id="selectUser" resu ...

  5. Foreign Exchange UVA - 10763

      Your non-profit organization (iCORE - international Confederation of Revolver Enthusiasts) coordin ...

  6. CS与MSF之间的会话传递

    0x01 MSF会话传递到CS 1. CS上的操作 点击Cobalt Strike然后选择监听器,创建一个HTTPS Beacon的监听器即可 创建成功后如下 2. MSF上的操作 前提是已经获取到了 ...

  7. php异常及错误信息捕获并记录日志实现方法全解析

    php异常处理 什么是异常? PHP 5 提供了一种新的面向对象的错误处理方法.异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程.这种情况称为异常. 当异常被触发时,通常会发生: 当前代码 ...

  8. 微信小程序 icon组件详细介绍

    这些是提供的所支持的图标样式,根据需求在此基础上去修改大小和颜色. 主要属性: 使用方式: wxml <!--成功图标--> <icon type="success&quo ...

  9. mysql 随机选取一条符合条件的记录

    暂时记录下: SELECT *  FROM `kw_user` AS t1 JOIN ( SELECT ROUND( RAND( ) * ( ( SELECT MAX( id ) FROM `kw_u ...

  10. 16.PHP_Ajax模拟服务器登录验证

    Ajax模拟登陆验证 index.php <script language="javascript">    var http_request = false;     ...