📜  Linux netstat(1)

📅  最后修改于: 2023-12-03 14:43:55.395000             🧑  作者: Mango

Linux netstat


简介

netstat是Linux系统中一个非常常用的网络工具,用于显示当前网络连接、路由表、网络接口和网络协议统计信息。它可以帮助管理员进行网络排错和调试,也可以用于安全审计和性能分析。

安装

在Linux系统中,netstat通常已经被安装了。如果没有安装,可以通过以下命令进行安装:

apt-get install net-tools
用法
查看网络连接

使用以下命令可以查看当前的网络连接状态:

netstat -a

其中-a参数表示显示所有的连接,包括TCP、UDP和UNIX域套接字等。

在输出中,每一行对应一个网络连接,包括以下几个字段:

  • Proto:连接使用的协议,如TCP、UDP等
  • Recv-Q:接收队列中的未读字节数
  • Send-Q:发送队列中的未读字节数
  • Local Address:本地IP地址和端口号
  • Foreign Address:远程IP地址和端口号
  • State:连接的状态,如ESTABLISHED表示已经建立连接,CLOSE_WAIT表示等待关闭连接等
查看路由表

使用以下命令可以查看当前机器的路由表:

netstat -r

在输出中,每一行对应一条路由表项,包括以下几个字段:

  • Destination:目的网络地址
  • Gateway:下一跳地址
  • Genmask:子网掩码
  • Flags:标志位,如U表示路由可用,G表示默认网关
  • Metric:路由优先级
  • Ref:引用次数
  • Use:使用次数
  • Iface:所属网络接口
查看网络接口信息

使用以下命令可以查看当前机器所有的网络接口信息:

netstat -i

在输出中,每一行对应一个网络接口,包括以下几个字段:

  • Iface:接口名称
  • MTU:最大传输单元
  • RX-OK:成功接收的数据包数
  • RX-ERR:接收错误的数据包数
  • RX-DROP:丢弃的接收数据包数
  • RX-OVERRUN:接收缓冲区溢出的数据包数
  • TX-OK:成功发送的数据包数
  • TX-ERR:发送错误的数据包数
  • TX-DROP:丢弃的发送数据包数
  • TX-OVERRUN:发送缓冲区溢出的数据包数
  • Flg:接口的状态
查看网络协议统计信息

使用以下命令可以查看当前机器的网络协议统计信息:

netstat -s

在输出中,每一行对应一个统计数据项,包括以下几个字段:

  • Protocol:统计的协议,如TCP、UDP等
  • Recv-Q:接收队列中的未读字节数
  • Send-Q:发送队列中的未读字节数
  • Local Address:本地IP地址和端口号
  • Foreign Address:远程IP地址和端口号
  • State:连接的状态,如ESTABLISHED表示已经建立连接,CLOSE_WAIT表示等待关闭连接等
总结

netstat是一个非常实用的网络工具,可以帮助管理员快速排查网络故障,并了解系统的网络状态信息。掌握netstat的使用方法,在网络排错和调试问题时会事半功倍,建议程序员们多多了解和使用。