我们已经学习了网络的很多知识,现在来了解一个重要的命令,netstat。

功能

netstat是基于Netstat这个命令行工具的指令。
它可以用来查询系统上的网络套接字连接情况,包括tcp,udp以及Unix套接字;另外它还能列出路由表,接口状态和多播成员等信息。也就是说可以让我们得知整个Linux系统的网络情况。

选项

选项

含义

-a(- -all)

显示所有连线中的socket

-c(- -continuous)

持续列出网络状态

-C(- -cache)

显示路由器配置的快取信息

-e(- -extend)

显示网络其他相关信息

-F(- -fib)

显示FIB

-g(- -groups)

显示多重广播功能群组织员名单

-h(- -help)

在线帮助

-i(- -interfaces)

显示网络界面信息表单

-l(- -listening)

显示监控中的服务器的socket

-M(–masquerade)

显示伪装的网络连线

-n(- -numeric)

直接使用IP地址,不通过域名解析器

-o(- -timers)

显示计时器

-p(- -programs)

显示正在使用socket的程序识别码和程序名称

-r(- -route)

显示路由表信息

-s(- -statistice)

显示网络工作信息统计表

-t(- -tcp)

显示TCP传输协议的连接状况

-u(- -udp)

显示UDP传输协议的连接状况

-x(- -unix)

显示Unix连线中的连接状况

-V(- -version)

显示版本信息

-v(- -verbose)

显示指令执行过程

-w(- -raw)

显示RAW传输协议的连接情况

实例

  1. 列出所有端口 (包括监听和未监听的)
  2. 列出所有的tcp协议的端口
  3. 列出所有的UDP协议的端口
  4. 同样的,列出常用监听的选项用法:
    netstat -l #只显示监听端口
    netstat -lt #只列出所有监听 tcp 端口
    netstat -lu #只列出所有监听 udp 端口
    netstat -lx #只列出所有监听 UNIX 端口
  5. 显示每个协议的统计信息
    eg:显示所有端口的统计信息

    eg:显示TCP端口的统计信息

    eg:显示UDP端口的统计信息
  6. 在输出中显示 PID 和进程名称

    这个与其它开关一起使用,可以添加“PID/进程名称”到netstat输出中,这样debugging的时候可以很方便的发现特定端口运行的程序。
  7. 持续输出netstat信息(每隔一秒输出网络信息)
  8. 显示系统不支持的地址族(Address Families)

    这个命令是显示指令执行过程的,在最后会出现如下几行:
  9. 显示路由表信息
  10. 找出程序运行的端口

    (grep后接程序名,无权限将不会显示)
  11. 找出运行在指定端口的进程
    grep后接端口号
  12. 显示网络接口列表

    显示详细信息,像是ifconfig的结果可以使用:

    其他的读者可以自行使用。